Skip to main content

Channel persistence

Each Send node has a channel chain — an ordered allowlist of channels the engine may try (e.g. [whatsapp, telegram, email]). The engine walks the chain and picks the first channel the contact has a usable contact method for.

When a node has no chain of its own, it falls back to the flow-level default channel chain chosen in the creation wizard (see Overview → Default channel chain).

Prefer originating channel​

In Flow settings → Prefer originating channel (default: on), the engine biases its choice toward the channel the contact entered the flow on.

  • On — if the contact's originating channel is in the node's channel_chain, use it. Otherwise fall through to chain order.
  • Off — strictly honour channel_chain order, ignoring the originating channel.

This matters when a contact starts a flow from a WhatsApp message but a Send node lists [email, whatsapp]. With prefer originating channel on, the message goes out on WhatsApp (matches the conversation). With it off, the message goes out on email (chain order wins).

Choosing the right setting​

Use caseRecommended setting
Conversational flow (bot, support)On — keep the thread on one channel
Broadcast-style notificationOff — pick the cheapest / most reliable channel
Email-first transactional sequenceOff — put email first in channel_chain
Multi-channel reactivationOn — return to the channel they last engaged on

The originating channel is captured when the run starts (manual trigger uses the inbox the operator picked; API trigger uses the channel_id you pass; reply trigger uses the message's channel).

Interaction with templates​

For WhatsApp Send nodes that require a template (outside the 24-hour session window), the engine still respects the chain — if the only available channel needs a template and you haven't picked one, the node fails and the run continues per its error-handling configuration.

See Send node for the full node config schema.