Programmable Email Use Case Library [not an exhaustive list...but still pretty good!]

Programmable Email. Sounds intriguing, but hard.

We’re going to try and change your perception! Let’s start with what it is and then we can get into use cases so that you can fully wrap your head around it, and see what it can do.

What it is: With Programmable Email, you can now create dynamic email marketing campaigns at scale by leveraging HubDB or custom objects to create many versions of an email for your audience, based on information about your contacts (all housed in the HubDB table or custom object properties). Think: being able to send hyper-personalized and relevant email content to the masses with ease.

But what does that even mean? And how would it work? Lucky for you, we’ve got three great examples from our customers to share. Each example explains how our customers were able to use programmable email to introduce greater efficiencies into their marketing engines, and more importantly, get closer to their audience by providing helpful and actionable content. For each example below, we’ve also provided links to coded email templates via Github link for your use. Note: for any developers or technical marketers reading this, you’ll need to peruse our developer documentation as well, to get started.

Exhibit A: ABC Recruiting

TLDR: A recruiting firm took 40+ email variations and folded them into one programmable email template, saving the team 10 hours of work per week!

During the pandemic, ABC recruiting, a recruiting firm for nurses, saw a rise in open vacancies all over healthcare facilities across the nation. They realized this was an opportunity to get these openings into the hands of nurses as soon as possible. What’s more, their nurses were traveling, so making sure they were receiving the right job openings based on their location was critical.

ABC recruiting began the challenge by crafting 40+ different emails per week, depending on the type of job, and the type of nurse who would receive an open vacancy via email. This was a massive amount of manual work: the team ended up creating lists based on filters, and segmenting their database multiple times, and then creating an email for each segment. Like most teams, resources were tight and the team’s bandwidth was extremely limited. As the pandemic progressed, demand became higher, and these emails became a daily chore, adding an exponential amount of work for the team.

Their solution? You guessed it, programmable email! ABC Recruiting leveraged a HubDB table to house the job recommendations. Within that table, there’s an “email id” field, which corresponds to the type of job for the nurse (RN, dialysis, ER, etc), and contact records also have an “email id” set in a contact property. This set of data is what programmed the filter in the email module, and so they could be sure they were sending a dialysis job to a dialysis nurse, for example. The HubDB table also stores information like location, salary, etc., in its other columns. Today, the maintenance of this structure is simply a contact upload and a HubDB upload, and maybe an occasional copy edit in the single email they send out daily. Using programmable email, ABC Recruiting was able to remove about 10 hours of work, per week!

Link to email module: Sample-Programmable-Email-Module-Code/samples/recruiting-example.html at main · HubSpot/Sample-Programmable-Email-Module-Code · GitHub

Exhibit B: XYZ Shipping + Freight Company

TLDR: A shipping and freight company was able to automate the way their truckers receive and accept new loads based on a series of factors, making the entire process practically seamless!

XYZ is a freight and shipping company that has both a webapp and a mobile app. Their truckers use both apps to send back details and statuses about their loads to the team at XYZ. The truckers self-select new loads to take after one load has been delivered. Then, XYZ will recommend their next loads, generated by an external database, matched against the trucker and their previous loads. Historically, these “recommendations” were sent out manually, or pushed to the mobile app for the trucker to accept. While this process works great in the mobile app, XYZ wanted to solve for truckers that don’t use the mobile app as often, but rely on email.

In order to make sure the process of emailing the next load was as seamless as possible, XYZ decided to use an API which would be a bridge between their external database (generates recommendations based on a series of factors) and the hubDB table. Using a programmable email module, they are able to automatically take in the recommendations from the hubDB table and place them in an email. Now, XYZ Shipping is able to communicate with its truckers via email as well, and their truckers are able to do their jobs without a hitch.

To double click here: the API will also mark the contacts as having “new recommendations” (a contact property, which is a checkbox), and this will trigger a workflow action to send the trucker an email with the new recommendations! Once the trucker accepts the new load, the property is cleared so that they can accept the next load when it’s time.

Link to email module: Sample-Programmable-Email-Module-Code/samples/shipping-freight-example.html at main · HubSpot/Sample-Programmable-Email-Module-Code · GitHub

Exhibit C: 123 Non-Profit

TLDR: A non-profit was able to get rid of complicated workflows and use programmable email to send location specific emails to their audience, ensuring their contacts get the right information!

123 Non-Profit sells courses, events, and continuing education content for social workers. The organization markets location-specific events to contacts based on where they live. Previously, the non-profit team sent emails about hundreds of events to contacts based on which state they lived in (stored as contact property) using many large workflows resembling Christmas trees (you know what we’re talking about!). These workflows were not easy to set up and maintain, which caused headaches as the team scaled.

123 Non-Profit decided to harness the power of programmable email, and they now store all their events in a HubDB table. When a contact is sent an event-based marketing email, they now use one workflow with a single email template, leveraging programmable email to dynamically pull in the right event content, greatly simplifying the process for their event marketing communications. Good-bye complicated workflows + headaches!

Link to email module: Sample-Programmable-Email-Module-Code/samples/non-profit-example.html at main · HubSpot/Sample-Programmable-Email-Module-Code · GitHub

The following use case is not an example from a real customer, but is a hypothetical example. It will help you further understand the potential of programmable email, in a more step by step manner:

Your Dream Realtor

Your Dream Realtor wants to send home buyers emails which have homes listings buyers would be interested in, based on their search criteria (location, house price, type of house, etc). The realtor wants to send their database of contacts which will only show them five homes with their very specific needs (address, price, description, bedrooms and budget). In order to do this, the realtor will need to have a database of listings that will have the following type of data (stored either in a hubDB table or in a custom object):

  • Property name

  • Property address

  • Description

  • City

  • Budget

  • House type: apartment/ semi-detached/ detached

  • Bedrooms

  • Status: on sale/ sold/ in negotiation

  • Page URL

  • Realtor name

  • Realtor email

  • Realtor phone

  • Viewing days

Now let’s say Dream Realtor wants to send this email automatically, based on a slew of criteria, to contacts when they fill out a form. This would be done using a workflow, and here’s how this scenario would play out, and how the process would be built in HubSpot:

A prospective home buyer finds “Dream Realtor” online, and is interested in signing up to receive notifications when properties become available in their area:

  • A prospective home buyer visits the website, and decides Dream Realtor is a trustworthy source, and an authority in the real estate space.

  • They fill out a form and add their name, email, city and budget min & max, and other criteria important to them.

  • In HubSpot, the Dream Realtor team will have built workflow that will trigger when the form is completed. It will generate an email and pull the home listings that match the criteria the customer filled in, dynamically from the database.

  • Each prospective buyer who filled out the form will receive an email with five unique homes that match their unique search criteria!

Here’s what this programmable email module would look like in the email editor:

Here’s what this email will look like in someone’s inbox:

Link to email module: Sample-Programmable-Email-Module-Code/samples/realtor-example.html at main · HubSpot/Sample-Programmable-Email-Module-Code · GitHub

Common Errors to Avoid

As you get started and build your first programmable email, we wanted to call out some common errors that you may see, along with how to resolve those errors:

  • HTML in object properties or HubDB not rendering: HTML that is included in an object property or HubDB column will be escaped and rendered as a string instead of HTML. This is due to escaping being enabled by default within programmable email. To render HTML use the safe filter {{ contact.property_with_html | safe }}

  • Using certain variable names causes rendering errors: Some variable names are used internally in HubSpot to handle the rendering of an email. You should avoid using any variable names defined here: HubL variables - HubSpot docs as well as any standard object types (Unless intentionally used as part of an automated email eg. DEAL, PRODUCT, TICKET etc)

  • Email preview and editor showing HubL code: When previewing an email without a contact the email may appear broken or poorly rendered. HubL may appear in the template. This is due to a contact being required to fully render the email.

  • Enumeration Types: Enumeration types (e.g, Radio select or Dropdown Select properties) behave as a map with a label and a value. It is required to specify either the label or the value when using an enumeration type. For example {{ set contact_prop_value = example contact.enum_type.label }} . The pprint filter can used on any variable or property to better understand its structure or values.

Given the technical nature of creating a programmable email, we’ve put together many options that can lend your team a hand:

HubSpot Technical Consulting

For customers that have their own developer resources, but need some extra technical consulting to use it, we have a service option just for this.

Partners

For customers that do not have developer resources, and need extra help, these partners are recommended:

Engagio

Engaging.io services can include: designing and developing HubSpot modular email templates; developing the programmable logic inside the modules alter the email content during send; Custom object or HubDB setup and integration with email templates.

Budget guidelines: $1k+

To learn more about how they can help: Contact us

Aptitude 8

Aptitude 8 services can include integration services if customers need to get the data into HubSpot using Integration Services. The partner team can also build out the workflows, design and develop the emails, and code the programmable emails themselves to support it. For customers, this can be a full white glove experience, or they can code the emails and hand them over depending on their in house capabilities.

Budget guidelines: Their project minimum is 10k, and it’s likely you could get 1-2 programmable emails designed, developed, built, and deployed in your portal. This assumes relative complexity, and like all technical projects based on building new things, could vary depending on your needs. They would be happy to do a scoping or solutions design first!

Other dependencies: They need a product owner and someone who can define requirements. If we get a figma file or a design supplied from a customer, we can go straight to development, or they can also design the emails for you.

The best way to inquire for these services: www.aptitude8.com or email Connor@aptitude8.com or Josh@aptitude8.com to discuss your opp and see if its something we can support!

Inbound Labs

To see how Inbound Labs can support you with programmable email, check out their loom that gives you an overview. They have a unique approach of developing ‘feed’ like email sends using this feature.

The best way to inquire for these services is to reach out directly to tim@inboundlabs.co

We’ve love to hear about your programmable email success stories and how this tool has worked for you, so please share with us in the comments below. If you have questions, feel free to post those as well!