๐ก Channels Overview
A channel in PulseHub represents a single connected messaging account. You can have multiple channels of the same type โ for example, two WhatsApp numbers for different departments, or three email inboxes for sales/support/billing.
How Channels Workโ
Provider (WhatsApp, Twilio, etc.)
โ
โ HTTP POST (webhook)
โผ
/webhooks/{type}/{channel_id}
โ
โผ
WebhookController
1. Verifies signature
2. Normalizes payload
3. Finds/creates contact
4. Finds/creates conversation
5. Saves message
6. Fires automation events
Every channel has:
- A unique ID (UUID) โ this is the
{channel_id}in the webhook URL - A type โ one of the 8 supported channel types
- A config โ JSON blob with the credentials specific to that channel type
- A webhook token โ a random 32-hex-character token generated at creation time
- An active flag โ inactive channels reject inbound webhooks and don't send outbound messages
Adding a Channelโ
- Go to Channels in the sidebar
- Click Add Channel
- Choose the channel type from the dropdown
- Fill in the type-specific credentials (see each channel's guide)
- Click Save Channel
After saving, the channel card shows the Webhook URL. Copy this URL and paste it into your provider's developer dashboard.
Webhook URL Formatโ
https://yourdomain.com/webhooks/{type}/{channel_id}
Supported Channelsโ
| Channel | Direction | Signature Verification | Notes |
|---|---|---|---|
| Both | โ HMAC-SHA256 | Requires Meta Business account | |
| SMS / Twilio | Both | Partial | Requires Twilio account |
| Both | N/A | IMAP polling for inbound | |
| Telegram | Both | โ | Bot API, no signature |
| Viber | Both | โ HMAC-SHA256 | Requires Viber Partners account |
| Both | โ HMAC-SHA256 | Via Meta Graph API | |
| Facebook Messenger | Both | โ HMAC-SHA256 | Via Meta Graph API |
| Web Chat Widget | Both | Token | Embedded JS snippet |