Format notification text with Markdown

Last updated: August 31, 2026

Two things shape the text a customer receives: the {{token}} variables that fill in live delivery details, and the Markdown that styles the text. Variables are the primary tool; Markdown is a lighter touch on top. You type both directly into the Message field — there is no formatting toolbar or preview.

Variables come first

The Message field is a plain text box with variable autocomplete. Type {{ to open the list, and Nash fills each token in from the delivery when the message is sent — the customer's name, the ETA, the tracking link, and so on:

Hi {{customer.first_name}}, your order from {{pickup_business_name}} is on the
way. Track it here: {{job_tracking_link}}

For the full list of tokens — including the ones that vary by trigger type and by channel — see the message variables reference.

Markdown renders per channel

Any Markdown you type is rendered downstream when the message is sent, not in the portal — so what actually shows depends on the channel. Email is rendered as HTML and shows the styling; SMS is delivered as plain text and shows the characters as written. Keep SMS messages readable as plain text, and rely on Markdown mainly for richer channels like email.

Common formatting you can use in the message body:

Format Type this Renders as (on a rich channel)
Bold **text** text
Italic *text* text
Heading # Heading, ## Heading Bold heading text, largest to smallest
Bulleted list - item (one per line) A bulleted list
Numbered list 1. item (one per line) A numbered list
Link [label](https://example.com) A clickable link
Quote > quoted text An indented quote

Tips

  • Put list items and headings on their own lines, with a blank line before a list, so they render cleanly.
  • Keep links short and label them clearly — some channels show the full URL.
  • Send yourself a test on the channel you care about, since each one renders a little differently.

Related