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_inboundreceiver.
External systems
- Meta Lead Ads — instant reception of Facebook / Instagram leads.
- Schedule (cron) — recurring triggers.
- Onoff Business — a completed call or an SMS on an Onoff line (Beta, read-only).
- Outbound call outcome — the
phone_call_outcomereceiver triggers a pipeline at the end of a call placed byphone_call. - And the integration triggers: new Google Drive file, upcoming calendar event, Mitti inspection, HeyGen render completed.
Choosing the right channel
| You want to… | Recommended channel |
|---|---|
| Automate an inbound or outbound phone call | Telephony |
| Triage support emails automatically | |
| Run a chat on your marketing site | Chat widget |
| Receive Meta leads directly | Meta Lead Ads |
| Connect an in-house tool that speaks HTTP | Webhook |
| Launch a daily pipeline at 8am | Schedule |
| Reply to WhatsApp messages on a business number | |
| Reply to messages on your Facebook Page | Messenger |
| Call back a lead as soon as it arrives | Schedule or webhook + phone_call node |
Common anatomy
All channels follow the same internal contract:
- Receive an event (HTTP, WebSocket, scheduler, SIP…).
- Authenticate the event (signature, token, org identifier).
- Normalize the payload into the internal format (
ExchangeInput). - 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.