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
You are signed in with integrator or administrator rights. The bot has an Email channel connected and configured. Scenario Builder is open with the scenario you need. You know which internal event should trigger the email (see step 1).
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.