Message templates
Templates are reusable message bodies your firm owns. Author once — “Hi (Client), thanks for sending the W-2…” — pick the channel and category, and the template shows up in every compose form’s picker.
Where templates live
Two places:
- The Template Library — a built-in catalog of pre-written messages organized by category. Clone an entry into your firm’s library to start using it.
- Your firm’s templates — created, cloned, edited, or deleted. These are yours.
The Template Library is read-only. You can only edit your firm’s templates.
How to open the template manager
Two paths:
- From the compose form, click Templates (the picker icon). The picker shows a list. At the top of the picker, click Manage templates to open the full editor.
- A dedicated Settings page is on the roadmap.
The manager opens as a dialog. Three modes:
- List view — your templates, with channel and category badges, edit and delete actions, and a + New Template button.
- Edit form — modify an existing template.
- Create form — author a new one.
[Screenshot: Template manager list view with channel and category badges]
How to create a template
| Field | Required | Notes |
|---|---|---|
| Name | Yes | Internal label — shown in the picker dropdown. |
| Channel | Yes | Email, SMS, or Both. Decides where the template shows up. |
| Category | No | Reminder, Welcome, Confirmation, Follow-up, or None. Used for filtering. |
| Subject template | Email only | Pre-fills the subject line on insert. |
| Body template | Yes | Rich text for email; plain text for SMS. |
The category isn’t enforced — it’s a label for filtering in the picker.
How channel filtering works
| Channel | Templates shown |
|---|---|
| Templates marked Email or Both | |
| SMS | Templates marked SMS or Both, with a body of 160 characters or fewer |
| Portal | Templates marked Email or Both (treated like email — same medium) |
| Internal | Templates aren’t shown for internal notes — internal is for ad-hoc team comms, not boilerplate |
The picker auto-filters by the current compose channel. The SMS picker hides email-only templates, and the email picker hides SMS-only ones.
How to use a template in compose
In the compose form, click Templates (the icon next to the channel dropdown). A popover lists your templates, filtered to the current channel.
Click a template:
- The body fills with the template content.
- The subject (email only) fills in from the subject template.
- The AI Draft card (if open) closes — templates and AI drafts are separate.
You can still edit the body before sending — templates are starting points, not locked content.
What the picker looks like
┌──────────────────────────────┐
│ Templates │
├──────────────────────────────┤
│ Reminder: Estimated payments │
│ Email — Reminder │
├──────────────────────────────┤
│ Welcome to (Firm Name) │
│ Email — Welcome │
├──────────────────────────────┤
│ Doc received │
│ Email — Confirmation │
├──────────────────────────────┤
│ [Manage templates →] │
└──────────────────────────────┘Picking a template closes the popover and updates the compose body.
How to use merge tags
The current version supports a small set of merge tags that fill in at send time using thread and client context:
| Tag | What it fills in |
|---|---|
{{client.name}} | Client display name (individual: full name; entity: business name) |
{{client.first_name}} | Primary contact’s first name |
{{firm.name}} | Firm name |
{{firm.contact_email}} | Firm’s contact email |
{{user.first_name}} | The sending user’s first name |
{{today}} | Today’s date in the client’s local format |
{{tax_year}} | The active engagement’s tax year |
Type {{ and an autocomplete dropdown lists the available tags. Picking one inserts the tag as a pill.
Tags that can’t be filled in (for example, {{tax_year}} with no active engagement) render as blank. Read the body before sending — what you see in preview is what the client gets.
How to clone from the Template Library
The Template Library catalogs pre-written messages organized by category. To pull one into your firm’s templates:
- Open Templates → Library from the sidebar.
- Filter by category Messages.
- Click an entry to preview.
- Click Add to my library.
- The template is cloned into your firm’s templates — fully editable.
Your clone is yours forever — even if the original library entry is updated later, your clone stays as-is.
How to edit a template
From the manager’s list view, click the pencil icon on a row. The edit form appears with the current values. Make changes and click Save. The template updates in place.
If a teammate is using a template you edit, they’ll get the new version the next time they open compose.
How to delete a template
Click the trash icon on a row. A confirmation pops:
Delete “(template name)”? This can’t be undone.
Confirming removes the template. The Template Library version is unaffected — you can clone from there again if you change your mind.
What each category is for
| Category | Use for |
|---|---|
| Reminder | ”Your engagement letter is awaiting signature” / “Payment due in 3 days” |
| Welcome | ”Welcome to (Firm Name)! Here’s what to expect…” |
| Confirmation | ”Got your W-2 — we’re starting on your return now” |
| Follow-up | ”Just checking in — any questions on the draft we sent?” |
| None | Anything that doesn’t fit — works the same in the picker, with no badge |
A few library examples
| Template | Category | Channel | Snippet |
|---|---|---|---|
| Estimated payments reminder | Reminder | ”Hi {{client.first_name}}, Q2 estimated tax payments of {{q2_amount}} are due June 15…” | |
| Document received — W-2 | Confirmation | Both | ”{{firm.name}} received your W-2. We’ll begin processing your return shortly.” |
| Welcome — Individual | Welcome | ”Welcome to {{firm.name}}! Here’s how we’ll work together…” |
Browse the full catalog from Templates → Library, filtered to Messages.
When to use AI Draft instead
| Use a template | Use AI Draft |
|---|---|
| The message is generic and applies to many clients | The message needs to reference specific thread context |
| You need consistent voice across the team | Each draft is unique |
| Compliance or disclosure language must be exact | The message is a conversational reply |
| The same workflow ships the same message every time | This is a one-off |
Many firms use both — a template for the boilerplate intro and outro, AI Draft for the specific middle. See AI drafts.
Limits
- Body length — no explicit cap, but SMS templates over 160 characters warn at send time.
- Subject length — 255 characters (email).
- Templates per firm — no hard cap. Tested up to a few hundred.
Permissions
| Action | Who can do it |
|---|---|
| Use a template in compose | Anyone with permission to send communications |
| Create, edit, or delete templates | Anyone with permission to send communications |
| View the Template Library | Anyone with permission to view templates |
| Clone from the Template Library | Anyone with permission to send communications |
Next
- AI drafts & intent — for context-aware messages.
- Channels — picking which channel the template runs through.
- Template Library — the broader catalog including engagement letters and folder templates.