chatleadr Docs

The Message Node

Sends something to the visitor and carries straight on. To wait for a reply, use a Delay set to User Response, a Form, or a Menu.

Give them the statusChat MessageOrder order_number ships ship_date. Next
A Message node. Variables appear in the preview as filled pills, exactly as they do on the canvas.

Choose What This Message Sends#

Message Type is the first control on the panel and it decides which of the fields below it appear:

Message TypeSendsFill in
Standard TextA chat bubbleMessage Content, which takes Markdown and {{variables}}
ImageA pictureImage URL and Alt Text (Optional)
FileA document as an attachment: a PDF, a price list, a ticketFile URL or an upload, and File name (Optional)
Link or RedirectA link out of the conversationRedirect URL and Button label
Give them the status Message Type Text Message Content Order order_number ships on ship_date. Quick replies (comma separated) e.g. Yes, No, Tell me more On WhatsApp Send the message above Done
The Message panel. Variables inserted into the content render as pills here and on the node card.

Standard Text#

Message Content accepts Markdown and interpolates {{variables}}. A variable that resolves to nothing is sent as the literal characters you typed, so {{Form.email}} reaches the visitor as those characters when the name is wrong. See variables in a workflow.

Image#

The URL has to be publicly reachable, because the widget loads it from the visitor's browser rather than from our servers.

Alt Text (Optional) reaches the web widget alone. There it is what a screen reader announces and what a visitor reads when the image does not load, and left blank it reads "Image". WhatsApp and Instagram send the picture on its own, so write anything the visitor has to read into Message Content instead.

File#

Either paste a URL or upload the file in the panel, which hosts it and fills the URL in for you. File name (Optional) is what the recipient sees on the attachment and in their downloads; left blank, the name is taken from the URL, which is usually a hash such as a3f9c2.pdf rather than anything a reader can identify. The message content is sent with the file as its caption.

Both fields accept {{variables}}, so a workflow can send a document it looked up in an API Request rather than one fixed at build time.

Button label is what the visitor reads, and on WhatsApp the URL itself is never shown: the message arrives as a tappable button carrying this text, the same way a form link does. So "Claim your spin" and "Open link" are the difference between a message that invites a tap and one that looks like plumbing. WhatsApp allows 20 characters, and Chatleadr cuts anything longer on the way out. Left blank, the button reads "Open" on WhatsApp and "Open link" in the web widget.

On the web widget decides whether leaving the chat is automatic or the visitor's choice:

On the web widgetThe visitorReach for it when
Send them there automaticallyIs taken to the URL as soon as the message arrivesThe conversation has already agreed on a checkout or a booking
Show a button they tapSees a button in the conversation and decidesThe destination is an offer rather than the next step, or the visitor should keep the page they are on

Target Window opens the link in a new tab or the same one. A popup blocker does not stop an automatic redirect: the widget falls back to the tab the visitor is already in, which replaces the page they were reading and takes the conversation with it. Choose the button where that would cost you the conversation.

Both the URL and the label accept {{variables}}, so a workflow can send a link an API Request produced a moment earlier and label it with the visitor's own name. A WhatsApp hand-off is built this way: construct a wa.me link with the visitor's question already in the query string and they arrive in WhatsApp mid-conversation.

Add Quick Replies for Two or Three Short Choices#

Quick replies (comma separated) is a separate field on the same node. They render as buttons under the message and the visitor taps one instead of typing. On Instagram they are written into the message body as a numbered list, so write options that read as options in prose and the same message works everywhere.

Reach for quick replies when the options are short enough to read at a glance, there are no more than three, and the workflow carries on regardless of which one is tapped. Reach for a Menu node when there are more, when any of them needs explaining, or when the run has to branch on the answer.

Send Something Else on WhatsApp#

Under On WhatsApp, a Message node can override itself for that channel alone. Every other channel receives the message above it.

On WhatsAppSends
Send the message aboveThe default: the same content as every other channel
Send an approved templateA template you have registered with Meta, with its variables filled in here
Send an interactive flowA WhatsApp Flow, by id, behind a button label you set

A Message node still sends and carries on, whichever of the three you pick. It does not wait for a WhatsApp Flow to be submitted, so where the workflow needs the answers, use a Form node set to Native WhatsApp flow.

Meta accepts a message to a person for 24 hours after that person's last message. Outside that window an approved template is what reaches them, so a workflow that follows up the next day needs this override. See what differs per channel.

Keep a Message Short Enough for a Phone#

A paragraph sized for a wide web panel is several screens on a phone, and most conversations are on phones. Split a long reply across two Message nodes with a short Delay between them, which reads as a conversation rather than as a wall. Do not name the interface either: "click the button below" is inaccurate on Instagram, where the options arrive as text.

Common Questions#

Can I Send a File or a PDF?#

Yes. Set Message Type to File and either upload the document or point at a URL. Collecting one from the visitor is the other direction: use a Form field, or a Delay set to expect a file.

Does Markdown Work on WhatsApp?#

WhatsApp renders its own formatting, which is not Markdown. Bold and italics translate; headings and tables do not. Check anything heavily formatted on the channel it will be sent on.

How Do I Build a Menu With More Than Three Options?#

Use a Menu node. Keep quick replies to three, which is WhatsApp's limit for reply buttons, and a fourth turns the set into a list the visitor has to open. A menu holds ten, gives each of them a line of description, and branches the workflow on which one was picked.

Can a Message Node Wait for a Reply?#

No. It sends and continues immediately. To wait for the visitor, use a Delay set to User Response, a Form, or a Menu when the answers are a fixed set of options.

Why Did My Variable Print as Curly Braces?#

The name does not match anything in state, usually because the node that produces it was renamed or is not upstream of this one. See variables in a workflow.