Troubleshooting template display issues in a flow
When managing automated flows, you may sometimes run into situations where an outdated template loads in a flow or dynamic data doesn’t populate correctly. These issues are usually related to template updates or incorrect use of variables.
Let’s talk about how to fix template display issues in your flow.
An old template version is being sent
In SendPulse, emails and email templates in an automated flow are different objects and don’t sync automatically. That’s why it’s important to keep templates in your flow up to date.
If you edit a template in Email > Templates, emails that are already in your automated flow will remain unchanged and continue sending the previous version. To avoid this, update emails directly in your flow.
If you edit an email in your automated flow, these changes won’t apply to the original template.
If you update a template before the Email element is executed, all contacts that are already queued in this element will receive the new version instead of the old one.
Variables from a contact source are not being substituted
Email variables pull data from sources linked to your flow:
- event that triggers your flow;
- contacts from a mailing list, if it’s selected.
If you use variables, make sure they exist in at least one of these sources.
If a variable exists both in the event and the mailing list, the system uses the value from the event. Mailing list data points act as a fallback and are used only if the corresponding field wasn’t passed in the event.
Besides that, make sure the variable name syntax in your template matches the syntax in your contact source exactly. For example, if a variable is named City in your mailing list, use City in your template, not city.
If the name matches but the value is still empty, check the variable type and the value format in the event. Values that don't match the type aren't saved, and no error appears:
Date |
Send dates as YYYY-MM-DD and YYYY-MM-DD HH:MM:SS. Values in other formats, such as 27.06.2026 or 2026-01-05T11:57:45.471000, won’t be saved. |
Number |
Send digits only. Letters, spaces, or other characters prevent the value from being saved. |
String |
Keep values under 255 characters. Longer values are cut off, so long links may stop working. |
| Variable name | Use basic Latin letters (a–z) and underscores instead of periods. Accented letters or letters from other alphabets create a different variable. A period is read as a reference to an array. |
If you cannot change the data format, delete the variable in the event settings and create a String variable with the same name.
Event and CRM variable values are saved when the contact enters the flow. Any deal or contact data points you add later won't appear in the email. To include them, send the event after the data points are added, or update the values within the flow using the Action element.
WhatsApp templates in the Messaging app element support variables only in the template text. Use static links for buttons, since button links can't contain variables.
If the CRM contact's first name doesn't update, check the variable name. Variables named firstname, first_name, name, Nom, Nome, Nombre, Ad, ім'я, or имя are saved to the firstName field. Variables named lastname or last_name are saved to the last name field. If your variables have other names, map their fields in the Create or update contact or Create deal action.
Data from the array is not being added
If you pass dynamic data into an email body using an array, make sure the variables are inserted correctly. Verify the following:
- The
itemis included in your variables, for example,{{item.price}}. - The event that triggers the flow provides the same data used in the email.
- All required tag attributes are included, such as
srcfor images andhreffor links. - The array is created in the event structure as a
Structurevariable. It isn't created automatically. - The array is sent in square brackets
[ ], not as a single object. - The array name has the same letter case in the event and in the template, for example,
products, notProducts. - Buttons and other elements that should appear only once are placed after the loop's closing tag
|[ endfor ]|. Inside the loop, they repeat for every item.
Read more: Send data arrays with Automation 360.
Images from event data don’t appear
If an image link is sent in a variable, but the email shows no image or shows the link instead, check the following:
- Check the
<img>tag. The variable must be in thesrcattribute, for example,<img src="/{{item.product_img_url}}" alt="Product" width="125" height="125">. The tag can't be nested inside another<img>tag. - Check the link length. Links longer than 255 characters are cut off and won't work.
- Check the link format. Spaces and special characters must be encoded, for example,
%20instead of a space. Thehttps://part must be in the variable value, not before the variable in the template. - Check your server or security service settings, such as Cloudflare. They must allow SendPulse to access your images.
- Check how the tag is added. In the drag-and-drop editor, the
<img>tag must be in the source code (<>) of a Text element.
To see all the data the event received, open the record in Automation > Events Manager > Log. Scroll down in the window to see all the fields.
Read more: Email element in Automation, Send data arrays with Automation.
Information is not being added to a webhook
You can send tracked events, such as email opens, to external systems. In this case, the system expects only the keys and the format specified in the Action: Send webhook element settings.
If the response includes additional custom variables along with the expected key, or if the response structure changes, the webhook is considered invalid.
or