Best answer

Templating for content?

  • 6 January 2020
  • 1 reply
  • 47 views

Userlevel 7
Badge +9

Wondering if anyone has a better solution for essentially a template.

My client does not want to be in Zapier editing stuff, but wants to edit a notification email that the system needs to send. (Like say they want to add a seasons greetings, or a holiday hours, or a special discount they're running) This is for notification emails that are triggered via Airtable/Zapier and sent via gmail.

My thoughts were to have a "Email Templates" table within Airtable (could also be in a spreadsheet or other database like system) with column names like "Template name" "subject" and "Email body"

Within the zap I can search the "Email Templates" table for template named XYZ and then I have the subject and the body to send via the gmail step.

However, what if I wanted to offer replaceable fields like first name, or record link, or other fields to my clients, ya know, like a real template?

So I could have something like {{firstname}} and then run a formatter step > text > replace and find all occurrences of {{firstname}} and replace it with the person's name (from a different step in the zap). However, I would have to do that twice for each field (once for subject and once for body).

Am I thinking through this correctly? Have you done this? Are there any "gotchas" (other than the client typoing the template variables)? Is there a more elegant or simple way to do this?


icon

Best answer by AndrewJDavison_Luhhu 7 January 2020, 08:41

Hi @PaulKortman

I had to do something similar and this is basically how I did it

Just don't use {{ }} for the variables, because then the zap will try and turn those into variable fields when it runs - use [[ ]] or anything else basically.


View original

This topic has been closed for comments

1 reply

Userlevel 7
Badge +10

Hi @PaulKortman

I had to do something similar and this is basically how I did it

Just don't use {{ }} for the variables, because then the zap will try and turn those into variable fields when it runs - use [[ ]] or anything else basically.