Merge tags that fill in the customer's details

Insert {{contact.first_name}}-style tokens from a searchable list, with a live preview of what each will become.

What it is

A tag picker beside the composer lists the available tokens with their label, the raw tag, and a preview of the value for the currently-selected contact. Clicking inserts at the cursor. The same token vocabulary is used by saved snippets and by the customer-message templates.

Also called: variables · personalisation tokens · {{first name}} · mail merge

See it
Merge tags that fill in the customer's details
🔒ridgelinepostframe.com/project/merge-437
Riding Arena
Framing · on schedule
The tag dropdown open over the composer, each row showing label, {{tag}} and the resolved preview value. ContactsView.tsx. Sample data — no customer information appears here.
How it works
  1. 1A searchable dropdown lists tokens with a live preview() per token
  2. 2Selection inserts the raw {{tag}} into the message body
  3. 3renderTemplate resolves tokens at send time from the message's own data
Why we built it

A saved template is only reusable if it can say the customer's name. One that opens "Hi there" gets rewritten by hand on every send, which costs more time than not having it and reads to the customer like a form letter. Tokens for the contact's details drop into any message from a searchable list, with a live preview of what each one will become before it goes out.

The problem
  • Manual personalisation of every reused message
  • Copy-paste errors leaving the previous customer's name in place
Sound familiar?
What you get
Templates read as if they were written for that person
The preview shows what will actually go out before it goes out

See it on your own jobs

Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.

or keep browsing features →