# Write a template (https://www.getfounderhq.com/docs/sequences/write-a-template)

A template is a message you write once and reuse. A sequence step and a
broadcast both send a template. Edit the template, and every place that
uses it changes.

[Sequences → Templates](https://app.getfounderhq.com/sequences/templates)

## Create a template

Press **New template**, choose the channel, name it, and press **Create**.

Write the message, then press **Publish**. A sequence can only send a
published template. **Save draft** keeps your work without changing what
is being sent.

## Email

The email editor has three modes: **Visual email**, **Text email**, and
**HTML email**.

Fill in **Subject** and **Preheader**, the line an inbox shows after the
subject. **From** and **Reply to** use your connection's address unless
you set others here.

### Build visually

Add a row, then drop blocks into it.

| Blocks |
| --- |
| **Heading**, **Paragraph**, **Button**, **Image**, **Video** |
| **Table**, **Divider**, **Spacer** |
| **Social**, **Menu**, **HTML**, **Unsubscribe** |

Rows come with 1 to 4 columns. A row can stack its columns on a phone,
and can be shown **Only for some recipients**.

The **Body** tab sets the colors, the width, and the font of the whole
email. **Auto-tag links** adds campaign tags to every link, so that visits
from this email show up by name in Analytics.

Switch between the desktop and the phone preview to check both.

### Ask Astro

Switch the side panel to **Astro** and say what you want: "Write a
welcome email that explains the three things to do first."

### Add an unsubscribe link

A marketing email needs one. Add the **Unsubscribe** block, or insert the
unsubscribe link from the variable picker. The editor warns you while it
is missing.

## SMS

Write the message in the one box. The counter shows how many parts the
message will be sent as, counted on the text a real person would get.

| Characters used | Limit per part |
| --- | --- |
| Plain letters, digits, and common punctuation | 160 characters, or 153 in each part of a longer message |
| Any emoji, or a curly quote | 70 characters, or 67 in each part |

One emoji switches the whole message to the shorter limit.

Sending to India? See [India DLT](/sequences/india-dlt).

## WhatsApp

WhatsApp only delivers a message that Meta approved as a template, unless
the person wrote to you in the last 24 hours.

FounderHQ does not submit templates for approval. Create and get the
template approved in WhatsApp Manager or with your provider first. Then:

1. Choose the **WhatsApp connection**.
2. Press **Browse templates** and pick the approved one. If your provider
   has no list, choose **Import by name instead**.
3. Fill in the variables of the header, the body, and the buttons.

## Push

| Field | What it is |
| --- | --- |
| **Title** and **Body** | What the notification says |
| **Opens** | Where a tap leads, such as `myapp://orders/42` |
| **Image** | A picture in the notification |
| **Icon** | For browsers only |
| **Data for your app** | Extra values your app reads when the push arrives |

## Personalize with variables

Type `{{` to open the variable picker.

```liquid
Hi {{ contact.firstName | default: "there" }},
```

The part after `default:` is used when the value is missing. Always give
a first name a fallback.

| Variable | Value |
| --- | --- |
| `{{ contact.firstName }}`, `{{ contact.lastName }}` | The person's name |
| `{{ contact.email }}`, `{{ contact.phone }}` | Their address |
| `{{ attributes.plan }}` | Any attribute you store on the person |
| `{{ vars.plan }}` | A variable of the sequence |
| `{{ brand.name }}` | Your brand's name |
| `{{ system.unsubscribeUrl }}` | The unsubscribe link. Email only. |

Press **Show sample values** to preview the message with real-looking
data.

## Send yourself a test

Press **Test send**. Enter your address, choose **Marketing** or
**Transactional**, and choose the connection.

A test goes through your real provider. It appears in
[Sequences → Message log](https://app.getfounderhq.com/sequences/messages) with the source **Test**.

## Reuse a template

From a template's menu you can **Duplicate** it, or copy or move it to
another brand. The menu also copies the template's ID, which the
[Send API](/sequences/send-api) uses.
