How to send a client an HTML email from a scenario?
When a ticket status changes or the team posts a new public reply, you may want to automatically send the client a formatted email — with ticket number and title, new status, and a portal link, without the comment text in the body.
This guide shows the recommended path: collect data in the scenario and send an HTML email with the Send Email node through the bot’s Email channel.
When you need it
- Client Portal users need email notifications when ticket status changes.
- You need to notify the client about a ticket update (for example a new public team reply) — without internal notes in the email body.
- The email must be formatted (HTML) and include dynamic data for the specific ticket.
What to know
- Scenario Builder — the module for building scenarios; it replaces Scenario Dialog.
- Send Email — node type in the add-node modal; on the canvas it appears as Send Email. The node sends mail through the selected bot’s Email channel.
- Bot Email channel — email connected to the bot itself. Mail goes through it, so separate platform-wide mail setup is not required.
- Set — node for storing key → value pairs in scenario state before later steps. See Storing values for later steps.
- Placeholders — substitutions such as
{{trigger_data.*}}(data from the event that started the scenario) and{{constant_name}}(values from the Set node). They are replaced with real values in the email.
Before you start
Steps
1. Configure the event trigger
- In the Start node, select trigger type Internal Events and the event you need:
- Ticket Status Changed — email when the ticket moves to a new status;
- Ticket Updated — email when the ticket changes (for example a new public reply). Add filters or conditions in the scenario so internal notes do not trigger the email.
- Save the Start node settings.
For more on choosing events, see How to configure internal events for the Start node?.
2. Collect data for the email (Set node)
- On the canvas, click + after the Start node.
- In the modal, find the Set template (Data category or search).
- In Node Inspector, set keys and values needed in the email — for example ticket number and title, new status, portal link. Use event data via
{{trigger_data.*}}. - Connect the Start node to the Set node.
You do not need the comment body in the email — collect only the fields you want the client to see.
3. Add the send-email node
- On the canvas, click + after the Set node.
- In the modal, select Send Email.
- Connect the node to the previous step.
4. Fill in the email
- Click the Send Email node — Node Inspector opens on the right.
- In Through which bot are we writing?, select the bot that has an Email channel configured.
- In Recipient Email, enter the client address (for example via a placeholder with client data).
- In Email Subject, set the subject — placeholders are allowed.
- In Email Body, paste HTML markup with placeholders
{{trigger_data.*}}and{{constant_name}}. The editor supports HTML formatting; content is sent as entered.
Raw HTML in Email Body no longer results in an empty email — a translation-ID workaround is not needed.
5. Save and test the scenario
- Save the scenario.
- Run a check with the built-in test tool — see How to test a scenario?.
Result
When the selected event fires, the client receives a formatted HTML email with ticket data filled in, sent through the selected bot’s Email channel. Subject, recipient, and body use the same set of placeholders.
How to verify it worked
- A test email arrives; the body is not empty and renders with formatting (HTML), not as raw code.
- Placeholders in the subject and body are replaced with real values (ticket number, status, link).
- The email is sent even when the client has no connected channels but has an email in their profile.