Install channels
Channels overview
| Channel | Inbound | Outbound | Signature |
|---|---|---|---|
| Facebook Messenger | Meta webhook POST /webhooks/meta | Send API | X-Hub-Signature-256 |
| Instagram DM | Meta webhook | Instagram Messaging API | X-Hub-Signature-256 |
| WhatsApp Business | Meta webhook (Cloud API, Embedded Signup v4) | Cloud API | X-Hub-Signature-256 |
| Telegram | POST /webhooks/telegram | Bot API | X-Telegram-Bot-Api-Secret-Token |
| Viber | POST /webhooks/viber | Bot API | X-Viber-Content-Signature |
| Custom Channel (Enterprise) | POST /custom-channel/:id/inbound | Your outbound URL | X-Pingloop-Signature |
Inbound pipeline
- The webhook controller verifies the signature and returns 200 immediately.
- The event is queued (BullMQ) or processed inline when Redis is unavailable.
- The processor resolves or creates the contact, picks the default queue and an agent by its strategy, then creates or updates the conversation and stores the message.
conversation.createdandmessage.receivedare published: the auto ticket is created, automations run, webhooks fire.- If a flow matches (ad referral, keyword) it runs. Otherwise an active AI agent replies. Otherwise a suggested reply is drafted for the human agent.
Outbound
Agent, AI and automation replies go through the channel adapter for the conversation and are stored as outbound messages. The first outbound reply stamps the first-response SLA.