Manual Letters & Emails — Messages

Common mistakes — Messages

1. Variables that don't exist

Typo a variable path and at runtime it resolves to nothing — the recipient sees a blank where the value should be:

Dear , your application from to has been approved.

The Preview button catches this. The Checklist tab catches it too — unresolved variable paths flag the message as not ready.

2. Forgetting the source table

Without a source table you can't reference fields with the table name. You only get system variables ({{ now }}, {{ user.name }}).

If your message is about a record (most are), bind the source table.

3. Hardcoded names instead of variables

Dear Ahmad,                  ← BAD: only works for Ahmad
Dear {{ staff.full_name }},  ← GOOD: works for everyone

The whole point is one template, many sends.

4. Recipients pointing at the wrong column

You set recipients to staff.email but the column is actually email_address. The send fails silently (or worse, picks up a default mailbox).

Always preview a real recipient address before publishing.

5. HTML in Markdown mode

Markdown supports inline HTML, so <b>bold</b> works — but it's fragile. If you find yourself wanting a custom layout (a table, a header image, two columns), switch the body to Source mode and write proper HTML.

6. Letters without the letterhead

For official Letter-category messages the agency letterhead and signature block live in Settings. If you publish without those checked, the printout has no header — it'll look like a draft.

7. Not testing on real data

Preview uses a sample record. The real records will be different. Once your message is active, send a test to yourself with a real ID before letting it loose on actual users.

When in doubt

Open the Checklist tab in this drawer.