Supported email modules
Which HubSpot drag-and-drop email modules work in a template, which don't, and how to fix an incompatible one.
Overview
Section titled “Overview”HubSpot doesn’t offer a way for apps to render its emails, so Transactional
Email renders templates itself from the modules in the email. It supports
HubSpot’s standard drag-and-drop email modules. Anything else makes the
template incompatible: once it’s been checked (when you select it in the
workflow action), Settings → Templates shows it as Incompatible with
the reasons, the Email template dropdown marks it incompatible, and sends
that use it fail with template_incompatible.
Supported modules
Section titled “Supported modules”| Module | Notes |
|---|---|
| Rich text | Text, headings, lists, links, and tokens. Links must start with http://, https://, mailto:, or tel:. |
| Text | Plain text blocks. |
| Image | Including linked images. Add alt text — it’s shown when images are blocked. |
| Button | Rendered so it works in every major email client. |
| Divider and Spacer | |
| Sections and columns | The drag-and-drop layout: one or more columns per section. |
| Header and Footer | Unsubscribe, subscription-preference, and “view in browser” links and the company address HubSpot fills in from your account settings are removed. |
Your email’s background color and fonts carry over from the editor’s style settings. Every email also gets a plain-text version automatically.
What makes a template incompatible
Section titled “What makes a template incompatible”- Custom modules and modules installed from the HubSpot Marketplace.
- Any module that isn’t in the table above.
- Smart content (content that changes by list or lifecycle stage).
- A/B test emails.
- HTML with scripts, forms, or external style sheets, for example pasted into a rich text module’s source code.
- HubL logic such as
{% if %}blocks or loops. Plain tokens like{{ contact.firstname }}are fine. - Links that aren’t web, email, or phone links — for example
javascript:or relative links — and images that aren’t loaded overhttp://orhttps://. - No subject line.
- Too large: emails over 100 KB of HTML once rendered.
- Deleted emails: a template deleted in HubSpot stops working in every workflow that uses it.
Fix an incompatible template
Section titled “Fix an incompatible template”- Open the email in HubSpot and find the unsupported module or setting.
- Replace it. Swap a custom module for rich text, an image, or a button; turn off smart content or A/B testing; trim very long content.
- Save the email.
- Refresh the template. A Super Admin can click Refresh in Settings → Templates, or you can wait about 15 minutes for Transactional Email to pick up the change. See Refreshing a template after editing.
The template no longer shows as incompatible, and new sends go out.
Things to know
Section titled “Things to know”- No unsubscribe footer. Transactional email isn’t marketing, so unsubscribe and subscription-preference links are removed rather than sent broken. Add your company address or legal text in a rich text module if you want it in the email.
- When in doubt, it fails safe. If Transactional Email can’t tell whether it can render something correctly, it marks the template incompatible rather than sending a broken email.
Related articles
Section titled “Related articles”Ask the help center
Answers come from these guides, with links to the articles used.
Ask anything about Transactional Email or VLOOKUP for Workflow.

