Channels
Channels connect your agents and flows to the outside world. Converse supports phone calls, WhatsApp, SMS, and web widgets — all from the same platform.
Channel Types
Voice (Phone Calls)
Connect a phone number from Twilio, Plivo, or Exotel. When someone calls the number, the flow or agent you assigned answers automatically.
Setup steps:
Go to Channels → Add Channel → choose your provider.
Enter your API credentials. Converse verifies them and fetches your numbers.
Select a phone number from the list.
Assign an agent or flow to handle incoming calls.
Save — the webhook is configured at your provider automatically.
Auto-configure webhooks
Connect a WhatsApp Business number via the Meta Cloud API. Incoming messages trigger your assigned agent or flow. The agent responds as text — no voice involved.
- Requires a Meta Business account and approved WhatsApp Business number.
- You'll need your Permanent Access Token, Phone Number ID, App Secret, and a Verify Token you choose.
- Paste your Converse webhook URL into the Meta dashboard manually after setup.
SMS
Use your Twilio number to send and receive SMS. Incoming texts are handled by your agent as a text conversation — same agent logic, no voice.
Web Widget (Voice + Chat)
Add a voice or chat widget to any website. Visitors can speak to or type to your agent directly from their browser — no phone number needed.
To get the embed URL:
Create a Web channel: Channels → Add Channel → Web Widget.
Assign an agent or flow.
Set Allowed Origins (the domains where you'll embed the widget).
Create a publishable key and restrict it to the website origins that may start sessions.
Use the Converse SDK voice or chat hook in your own UI.
Web voice — React hook
import { useConverseVoice } from '@converse/sdk/components';
const voice = useConverseVoice({
publicKey: 'pk_live_YOUR_KEY',
agentId: 'YOUR_AGENT_ID',
});
await voice.connect();The SDK creates the short-lived session, publishes the microphone and handles reconnect and cleanup. Your application never receives a provider credential or constructs a media URL.
Channel status
- Setup: Credentials entered but webhook not yet configured.
- Active: Webhook is live and the channel can receive calls or messages.
- Inactive: Channel is manually disabled.
- Error: Webhook configuration failed — re-verify credentials.
Assigning agents vs flows
Each channel can have either an agent or a flow assigned — not both. Use an agent when the conversation is open-ended. Use a flow when you need structured routing before the agent takes over.
