Skip to main content
The Channel Dispatcher opens a communication channel (Gmail, Slack, web widget, SMS, etc.) and listens for messages. When a message arrives, it emits a conversation_updated event that triggers downstream nodes — typically a Communication Actor or LLM Actor to handle the AI side of the conversation. Think of it as the “ears and mouth” of your conversational workflow: it handles the connection to the outside world, but delegates the thinking to actor nodes.

When to use

  • Multi-channel support inbox — listen for incoming messages on Gmail, Slack, or a web widget and route them to an AI agent
  • Proactive outreach — start a conversation with a specific contact via email or Slack
  • Conversation routing — combine with Condition nodes to send different conversations to different actors
  • Separating channel logic from AI logic — use one Channel Dispatcher with multiple actors for different conversation types
If you want channel + AI handling in a single node, use Ask a Person instead. Channel Dispatcher is for the modular pattern where you separate concerns.

How it works

The Channel Dispatcher operates in one of two modes:

Responder mode (default)

The workflow waits for people to reach out. When someone sends a message, a new conversation is created automatically and a conversation_updated event fires. Use this for: support inboxes, chatbots, any workflow where you respond to incoming messages.

Initiator mode

The workflow starts the conversation proactively. It creates a conversation with a specified contact and sends the first message. Use this for: outbound campaigns, proactive notifications, scheduled check-ins.

Example: AI support chatbot

Build a support chatbot on your website using the web widget channel:
1

Add a Channel Dispatcher

Drag a Channel Dispatcher onto the canvas. Select Widget as the channel and Responder as the execution mode.
2

Connect an LLM Actor

Add an LLM Actor downstream. Connect it to the Channel Dispatcher’s conversation_updated handle. Configure the LLM with your support system prompt.
3

Handle conversation end

Connect the LLM Actor’s conversationEnded handle to a Send Message node to send a closing message, or to further workflow logic (e.g., create a ticket in your CRM).
4

Install the widget

Click Install Widget in the Channel Dispatcher settings to get the embed code for your website.

Example: Email outreach with routing

Send a proactive email and route replies based on intent:

Example: Multi-channel with actor routing

Listen on Slack and route different conversation types to different actors:

Supported channels

ChannelIDInitiatorResponderMagic Window
Web WidgetwidgetYesYes
GmailgmailYesYes
OutlookoutlookYesYes
SlackslackYesYes
Slack (OAuth)slack-user-behalfYesYes
Slackbot (built-in)slackbot-builtinYes
SMS (Twilio)twilioSMSYesYes
WhatsApp Businesswhatsapp-businessYes
Microsoft TeamsteamsYes

Settings

channelId
string
required
The communication channel to use (e.g., gmail, slack, widget).
executionMode
string
default:"responder"
How conversations start:
  • responder — wait for incoming messages
  • initiator — start conversations proactively
channelConfiguration
object
Channel-specific settings (e.g., recipient email for Gmail initiator mode, Slack channel ID, polling interval). Supports variable interpolation.
enableVisualizer
boolean
default:"false"
Enable Magic Window for visual content alongside the conversation (widget channel only).

Outputs

The Channel Dispatcher itself does not produce direct outputs. Instead, it emits events through Dispatcher Handle nodes:
conversationId
string
The unique ID of the conversation that triggered the event.
newMessages
array
Array of new messages received since the last event, each with role, content, and createdAt.
payload
object
Full event payload including conversation metadata and channel information.

Events emitted

EventWhen it fires
start_conversationA new conversation is created (initiator mode)
conversation_updatedA new message arrives in an existing conversation

Communication Actor

Handle conversations using the Skillset Engine.

LLM Actor

Handle conversations using an LLM with tool calling.

Ask a Person

All-in-one alternative that combines channel + AI.

Send Message

Send messages through an active conversation.