Message Templates
Build reusable SMS and email templates once, then use them from Campaigns, Workflows, and your automated customer messages. Includes the variable list, what each one resolves to, and SMS length rules.
Written By Support Team
Last updated 4 days ago
A template is a message you write once and reuse β a spring promo text, a review request, an appointment reminder. Templates keep your team's wording consistent, they let you personalize each message automatically, and they are what Campaigns and Workflows send on your behalf.
Where Templates Live
There are two places messages are written in Rotor, and it helps to know which one you're in.
Engagement β Templates β your reusable library. Click + New and choose SMS or Email. These are the templates you attach to campaigns and workflows.
Settings β Messaging β the message content for Rotor's built-in customer notifications: visit reminders, On My Way, visit started and finished, agreement and quote messages, invoice and receipt messages, payment reminders. Each of these has its own editable body rather than pulling from the template library. See Client Messaging Settings for the full list.
Rotor ships with a set of default templates, so you usually have a starting point rather than a blank page. Each one appears in your library with a (Default) suffix.
Default SMS templates:
Job Created
Job Reminder
Job On My Way
Job Completed
Job Cancellation
Job Reschedule
Job Quote
Job Payment Reminder
Job Review Request
Lead Follow Up
Referral Request
Re-engagement Message
Seasonal Promotion
Default email templates:
Welcome New Customer
Job Created
Job Reminder
Quote Request Response
Payment Reminder
Job Completed
Variables
Variables are placeholders that get replaced with the real value when the message sends. Rotor's default templates use single curly braces:
Hi {first_name}, this is a reminder for your job with {your_company_name} on {job_date} at {job_time}.
Three different forms show up across the product, and they are not interchangeable on the page:
Single curly braces β
{first_name},{job_date}. This is what Rotor's shipped default templates use.Double curly braces β
{{review_link}},{{unsubscribe_link}}, and{{first_name}}in hand-authored campaign templates.Square brackets β the Campaigns article documents the Add Variable button with the example
Hey [first_name].
This matters more than it looks. If you type a token in a syntax the send-time renderer does not resolve, nothing errors β the message goes out with the raw placeholder in it, and your customer reads "Hey [first_name]" or "Hi {first_name}".
The safe habit: use the Add Variable button in the template editor rather than typing the token by hand. It inserts the exact syntax Rotor expects for the context you're in. Then send yourself a test and confirm the values filled in.
Variable Reference
The tokens below are taken from Rotor's shipped default templates β the ones named "β¦ (Default)" in your library β so they reflect what the product actually sends out of the box.
Match the variable to the context
A variable only fills in if the record it points at exists. Job variables are empty on a lead who has never been scheduled, and invoice variables are empty on a message that isn't attached to an invoice. Two rules keep you out of trouble:
In Workflows, make the variable match the trigger. Don't use
{job_date}in a workflow triggered by "Lead created."In Campaigns, be careful with job and invoice variables when the audience includes leads β they don't have job history yet.
Using a Template
From Campaigns β build the template first, then create the campaign with that template applied, then add your audience from the Leads or Customers page using More Actions β Add to Campaign. Full walkthrough in Campaigns.
From Workflows & Automations β the Send Text and Send Email actions accept a template, support variables, and allow HTML formatting for email. Turn on Respect Business Hours so automated texts don't land at 11pm.
From the Inbox β the template icon in the bottom right of the inbox text entry allows you to use your saved tempaltes.
SMS Length and Segments
Carriers bill and throttle by segment, not by message.
A plain-text SMS is one segment up to 160 characters. Beyond that it splits, and each segment holds 153 characters.
Add a single emoji or a curly quote pasted from a word processor and the whole message switches to Unicode: 70 characters for one segment, 67 per segment after that.
Variables expand.
{first_name}is 12 characters in the editor and can become 11 on screen for "Christopher" β write to the longer version, not the shorter one.Links count toward the total.
Keep promotional texts to one or two segments. Long texts cost more, deliver slower, and read worse on a phone.
Required Opt-Out Language
Marketing templates need an opt-out line β Reply STOP to opt out β and every template should identify your business by name. STOP, UNSUBSCRIBE, CANCEL, END, and QUIT are honored at the carrier level, and HELP must return your business name and contact info. This is a carrier requirement, not a Rotor preference; see A2P 10DLC registration for the full picture. For email, include {{unsubscribe_link}} in the footer. The first automated text message in Rotor includes this for you.
Tips
Check the preview bubble in the editor to see the message as it will appear on a phone.
Send yourself a test before a campaign goes out, and confirm the variables filled in and the link works.
Go easy on attachments in SMS β they can cause delivery issues with some carriers.
Name templates for the job they do β "Quarterly reminder β 1 day before" beats "Template 4."
Congratulations! You can now build reusable SMS and email templates, personalize them with the right variables, and send them from Campaigns and Workflows without retyping a word.
Have additional questions? Our team is ready to help you succeed. Contact us through the chat or drop us an email at support@getrotor.com.