Documentation

Channels overview

Catalogue of available input channels and criteria for choosing the right one.

A channel is the source of an event to be processed by a pipeline. Each channel is an independent module: adding an email channel has no impact on the telephony channel.

A channel triggers a pipeline. To read data or act on an external tool inside a pipeline (Stripe, GitHub, Google, LinkedIn, telephony), see Integrations.

Catalogue

Real-time voice

  • Telephony — LiveKit + SIP, streaming transcription and synthesis, barge-in, transfer. Inbound calls, and outbound calls started by a pipeline.

Asynchronous writing

  • Email — IMAP, attachment parsing, preserved threads.
  • WhatsApp — Cloud API, media. Or Green API for a number without a Meta Business account (Beta, unofficial).
  • Messenger — messages received on your Facebook Page.
  • Telegram — Bot API, groups and private conversations.
  • Mattermost — Outgoing webhook, threads.
  • Slack — Events API, verified signature.
  • SMS — inbound replies via AllMySMS, or via Brevo.

Web

  • Chat widget — embeddable JS script for any website.
  • HTTP webhook — generic signed POST reception.
  • External agent (MCP) — a third-party AI converses with one of your models, if its Start declares the external_agent_inbound receiver.

External systems

Choosing the right channel

You want to…Recommended channel
Automate an inbound or outbound phone callTelephony
Triage support emails automaticallyEmail
Run a chat on your marketing siteChat widget
Receive Meta leads directlyMeta Lead Ads
Connect an in-house tool that speaks HTTPWebhook
Launch a daily pipeline at 8amSchedule
Reply to WhatsApp messages on a business numberWhatsApp
Reply to messages on your Facebook PageMessenger
Call back a lead as soon as it arrivesSchedule or webhook + phone_call node

Common anatomy

All channels follow the same internal contract:

  1. Receive an event (HTTP, WebSocket, scheduler, SIP…).
  2. Authenticate the event (signature, token, org identifier).
  3. Normalize the payload into the internal format (ExchangeInput).
  4. Trigger the target pipeline configured in your organization.

Practical consequence: the pipeline you design does not depend on the input channel. You can switch from email to WhatsApp without changing anything downstream.

Limitations

Some channels have external prerequisites (SIP number, Meta app, verified WhatsApp domain). See each channel's dedicated page for the complete list.