chatleadr Docs

What Differs per Channel

The bot is the same everywhere. The rendering is not, because a WhatsApp thread and a web widget do not support the same message types. What a channel cannot display is converted into something it can, not dropped.

The same Message node, three channels C Patio Warehouse Typically replies instantly Which would you like to do? Book a call Get a quote Something else Write a message… Web widget Chips render below the bubble and disappear once one is tapped. P Patio Warehouse business account Which would you like to do? 09:41 Book a call Get a quote Something else Get a quote 09:41 Message WhatsApp Reply buttons, three maximum.More than three become a list instead. P patiowarehouse Instagram Which would you like to do?1. Book a call2. Get a quote3. Something elseReply with a number. 2 Message… Instagram Options are written into the text, because anInstagram client renders a button payload as anempty bubble and drops the message with it.
One Message node with three quick replies, as each channel delivers it. The bot says the same thing; the interface around it is what changes.

What Changes on WhatsApp and Instagram#

Web and WordPressWhatsAppInstagram
FormsRendered in the chatSecure link, or a native WhatsApp FlowSecure link
Choice buttonsYesYesNo, written into the message
MenusA panel of rowsReply buttons, or a sheet behind one buttonNumbered in the message
Conversation startersUnder the greetingOn the first replyOn the first reply
ImagesYesYesYes
Links and redirectsOpens a tab, or shows a buttonA tappable buttonWritten into the message
Reply deadlineNone24 hours24 hours

A web chat usually runs for minutes and a WhatsApp thread often runs for hours. That changes how conversations are counted rather than how the bot behaves. See what counts as a conversation.

Forms#

On the web a form renders inside the chat panel. A WhatsApp or Instagram thread has nowhere to draw one, so the visitor is sent a secure one-time link, fills the form in on a page, and is offered a link back into the thread. On WhatsApp a Form node can instead send a native WhatsApp Flow, which renders in the thread.

See the Form node for those two settings, how long a link stays valid, and what a form leaves in workflow state.

Choices and Quick Replies#

On the web, quick replies render as buttons. On WhatsApp they render as WhatsApp's own reply buttons or list.

On Instagram they are written into the message text as a numbered list, and the bot reads the visitor's answer back out of their reply. Instagram Lite and Instagram web do not render buttons reliably, and the recipient's client cannot be chosen, so the options go into the text that all of them render. Instagram Direct also has no formatting of any kind: anything marked up for it arrives showing its own markup.

A Menu node's answer reaches the node the same way whichever rendering the visitor got, so no branch of the workflow is channel-specific.

Conversation starters, the options a bot offers before anyone has typed anything, reach every channel and are offered once per conversation. Set up to three on the bot's Triggers tab. See bot settings.

The 24-Hour Window#

Meta accepts a message to a user for 24 hours after that user's last message in the thread, on both WhatsApp and Instagram. Only a message sent in the thread restarts the clock: a secure form submission reaches Chatleadr rather than Meta, so it leaves the deadline where it was.

Two rules follow for workflow design. A Delay node that resumes within 24 hours delivers normally, and past that only an approved WhatsApp template is delivered. A long background job delivers its result when it finishes inside the window.

A Message node can be configured to send an approved template on WhatsApp instead of its normal text, which is the supported way to reach someone outside the window.

Write One Workflow for Every Channel#

Four practices keep a workflow channel-agnostic.

  1. Do not name the interface. "Click the button below" is inaccurate on Instagram, where the options are rendered as text.
  2. Keep messages short. A paragraph sized for a wide web panel is several screens on a phone.
  3. Assume a form arrives as a link. State what is about to be asked before the form appears, because on WhatsApp the visitor decides whether to open a link before seeing any fields.
  4. **Branch on channel only for behaviour.** A hand-off to WhatsApp has no meaning on WhatsApp, so that belongs in a Decision. Differences of wording do not.

Common Questions#

Can I Send an Image on WhatsApp?#

Yes. A Message node in image mode works on every channel.

Does the Bot Know Which Channel It Is On?#

Yes, as the channel variable in workflow state, which a Decision node can branch on. The rendering differences are applied after the message is composed, so the assistant is not instructed to write differently per channel.