Customizing Message Templates

Customize the automated messages your community sends via SMS and email. Each template can be personalized with your own wording while using merge variables for dynamic content.

Accessing Templates

  1. Go to Settings > Message Templates
  2. Find the template you want to customize
  3. Uncheck Use Default Content to unlock the editor
  4. Write your copy — for email body templates, use the rich-text toolbar to add formatting
  5. Save your changes

Re-check Use Default Content at any time to revert to Stoked’s default for that template.

Template Types

SMS Templates

SMS templates are plain text. Merge variables and Liquid conditionals are supported.

  • Advocate account activated — sent when an advocate is approved
  • Conversation reminders — nudges for unresponded messages
  • Wallet notifications — points added alerts

Email Templates

Email subject and header templates are plain text. Email body templates use a rich-text editor — you can add bold, italic, links, bullet lists, numbered lists, and emoji.

  • Wallet credited/debited — points transaction notifications
  • Application confirmation — sent to the applicant when they submit
  • Application approved — your welcome email when you approve an advocate
  • Email verification — one-time verification code emails
  • New conversation / message notifications — conversation alerts for advocates and prospects

Formatting email body templates

When editing an email body template, the rich-text toolbar gives you:

Button What it does
B / I / U Bold, italic, underline
Link Insert a named hyperlink
Bullet list / Numbered list Unordered and ordered lists
😀 Browse and insert emoji
Insert a merge variable

The plain-text version of every email (for clients that don’t support HTML) is generated automatically — links include the URL in parentheses, lists are formatted with * or 1., and paragraphs are separated by blank lines.


Merge Variables Reference

Insert dynamic content using double curly braces. Templates support Liquid syntax including variables, if/else statements, and unless statements for conditional content.

Community Variables

Variable Description
{{community_name}} Your community’s name
{{community_brand_name}} Your community’s brand name
{{community_site_url}} Link to your public community site (the map / advocate directory)
{{advocate_site_url}} Link to the advocate portal where advocates log in to manage their profile

{{community_site_url}} and {{advocate_site_url}} are available in every message template.

Advocate Variables

Variable Description
{{advocate_first_name}} Advocate’s first name
{{advocate_profile_display_name}} Advocate’s display name as shown on their profile
{{advocate_profile_display_location}} Location information from advocate’s profile
{{advocate_profile_url}} Link to the advocate’s public profile page
{{advocate_conversation_url}} Link to the conversation (for advocates)
{{advocate_conversations_url}} Link to all of the advocate’s conversations

Prospect Variables

Variable Description
{{prospect_first_name}} Prospect’s first name
{{prospect_public_name}} Prospect’s public display name (e.g., “Sarah M.”)
{{prospect_conversation_url}} Link to the conversation (for prospects)
{{prospect_conversations_url}} Link to all of the prospect’s conversations

Conversation Variables

Variable Description
{{message_content}} The message text, truncated for SMS if it exceeds the delivery limit
{{message_content_truncated}} True if the message text was truncated for SMS delivery
{{is_current_relay_target}} Indicates if this conversation has the most recent activity
{{no_other_conversations}} True if this is the only active conversation
{{one_other_conversation}} True if exactly one other conversation exists
{{many_other_conversations}} True if multiple other conversations exist
{{other_conversation_count}} Count of other active conversations
{{other_conversation_advocate_names}} List of advocate names from other active conversations
{{other_conversation_prospect_names}} List of prospect names from other active conversations

Introduction Variables

Variable Description
{{introduction_message}} The introduction message text
{{introduction_phone_url}} Introduction URL for automatically logging in a prospect (phone)
{{introduction_email_url}} Introduction URL for automatically logging in a prospect (email)

Verification Variables

Variable Description
{{phone_verification_code}} The 6-digit verification code sent to the device

Custom Field Variables

If your community has Custom Advocate Fields configured, each field is available as a merge variable using its identifier:

{{advocate_custom_field_<identifier>}}

For example, a custom field with the identifier coupon_code would use {{advocate_custom_field_coupon_code}}. Your community’s custom fields appear in the merge variable dropdown when editing a template. If an advocate has no value set for a field, the variable resolves to an empty string.


Conditional Content

Use Liquid syntax for conditional content:

{% if many_other_conversations %}
You have {{other_conversation_count}} other active conversations.
{% endif %}
{% unless no_other_conversations %}
Don't forget your other conversations with {{other_conversation_advocate_names}}.
{% endunless %}

Use message_content_truncated to show a link only when the message was cut off for SMS delivery:

{%- if message_content_truncated %}
{{advocate_conversation_url}}
{%- endif %}

Validation

Templates are validated before saving:

  • Syntax must be valid Liquid
  • All variables must be recognized
  • UTF-8 characters are supported

If there’s an error, you’ll see a message explaining what needs to be fixed.


© 2024-2026 Stoked — Real conversations. Real trust.