Custom UI Extensions: Ability to pass a Template ID into the 1:1 Email Composer Action

Hi everyone,

I am looking to build a custom CRM UI Extension (specifically for Lead preview panels) that streamlines our reps’ high-velocity outreach workflow.

Our reps perform rapid-fire “Call + Email” bundles in succession. Power Dialer with voicemail drops will help with the call portion… but I’m stuck on optimizing emails.

To eliminate decision fatigue and manual friction, I want a single custom button that automatically calculates the right next step Message Template based on the record owner and other record properties, and then opens the native 1:1 email composer with the recommended Message Template pre-loaded. 99% of the time the recommended template is what needs to be sent, but this method allows the rep to either customize the email or select an entirely different template prior to sending – without leaving the Lead preview panel view.

The Roadblock: Right now, the SEND_EMAIL action only supports passing raw text strings via initialEmailSubject and initialEmailBody. It does not allow us to pass a templateId to pre-select a native CRM Message Template.

Why existing workarounds don’t work for us:

  1. Hard-coding / HubDB / Custom Objects: We cannot use a serverless function to dump raw text into initialEmailBody because it forces us to maintain a duplicate copy library outside of the native Message Templates tool. If a sales team member edits a template (which they are allowed to do), an admin has to somehow know about it and manually update the database, which creates massive administrative overhead and copy drift.

  2. The “Dynamic Guide” Approach: Displaying text on the sidebar telling the rep “Please manually select Template X” adds clicking friction and breaks the UX of a high-velocity workspace.

  3. Sequences / Automated Workflows: Our reps must have the freedom to modify and personalize the text in the composer before hitting send, and manual sequence tasks don’t surface cleanly within the Lead preview panel workflows. Our reps do not work from the Contact record views – only the Lead index with preview panel view.

  4. The Marketing Templates API: The available Content/Templates API only interacts with Marketing/CMS templates, not core CRM Sales Message Templates.

The Ask: We need a single source of truth. Is there any undocumented way to trigger the native email composer with a specific CRM Message Template already loaded? If not, can we get templateId added as a supported parameter for the SEND_EMAIL CRM action component?

If anyone has figured out a way to dynamically launch native sales templates from a custom button without duplicating their content library, I would love to hear how you solved it!

I’d treat this as a current product boundary: if SEND_EMAIL only accepts initialEmailSubject and initialEmailBody, it is opening the composer with supplied text, not selecting a native Sales Template by ID.

I would avoid duplicating the template library too. The least fragile setup is:

  1. Let the UI extension calculate the recommended template name/ID from owner + record properties.
  2. Show that recommendation next to the button or stamp it into a lightweight Lead property for audit/reporting.
  3. Open the composer and have the rep insert the native template from HubSpot.

If the requirement is truly zero extra click and the exact native template must stay the source of truth, I don’t think there is a clean supported path today. The feature request I’d make is specifically: allow SEND_EMAIL to accept a Sales Template ID while still letting the rep edit before send. That keeps governance in the native template tool and avoids copy drift.

Hi @MolAlyH, I hope that you are well!

Great questions, thanks for asking the HubSpot Community!

To add to what @danielsinewe shared (thank you!), I can confirm that, at the moment, the options below are possible:

  • initialEmailBody / initialEmailSubject, the only pre-fill mechanism, which requires raw strings (your current blocker).
  • openIframeModal: you could load a custom iframe UI, but this doesn’t open the native composer.
  • PAGE_APP_LINK: navigates to a HubSpot page, but can’t target a specific template in the composer.

Here are the resources:

For templateId to be added as a supported actionContext parameter for SEND_EMAIL, I’d suggest to either submit the Developer feedback form or for new feature suggestions, I’d recommend first to search and check if this idea is already present on our Ideas Forum here. If you find a similar idea, give it an upvote and share your unique use case in the comments.

If the idea doesn’t exist already, please consider posting and creating a new Idea on our Ideas Forum here.

That said, I’d love to hear from our Top Experts: Hi @Anton and @evaldas can you think of workarounds to help @MolAlyH, please?

Thanks so much and have a wonderful day!
Bérangère

This post was created with the assistance of AI tools