Email and MessagesMessage templates

Email and Messages

Message templates

Set the subject and text of the emails your clients receive, per business, per event and per language, with details filled in for each send.

Message templates are the words your clients read when a document reaches them: the subject line and body of the email that carries an invoice, a reminder, a receipt or a credit note. Each business keeps its own templates, so a design studio and a consulting firm under one account can sound different. Templates are stored as data with variables, and the business, client and document details are filled in when each message is sent.

How templates are organised

A message template belongs to one business and is chosen by three things:

PartWhat it means
EventWhy the message is sent, for example document_sent, reminder, receipt or credit_note_issued.
ChannelHow it is delivered: email at launch; whatsapp, telegram and sms when other channels arrive.
LanguageThe language of the text. Each business and client has a messaging language, which defaults to the country's language.

For each combination you can keep several templates and mark one as the default. When a message goes out, the default template for that business, event, channel and language is used.

Every template has:

  • a subject (for email; channels such as SMS have no subject);
  • a body, the text of the message;
  • the variables in the text, which are replaced with real values for each send.

Variables

Variables let one template serve every client. They come from the business, the client and the document being sent, and they are filled in at send time, so the same "invoice sent" template works for every client and every invoice of that business.

Templates are data, not code. They cannot run scripts or fetch anything; they only hold text and the variables to fill in.

What is always added

Some parts of a client email are not in your template, because they keep every message safe and useful:

  • the pay page or document link, so your client can open and pay online;
  • the PDF attachment, when attaching the PDF is on for the business, client or document;
  • the footer that follows your plan's branding ("Powered by Free Invoice Automation" on Free, none on Team);
  • on platform email, the report link that every platform email carries.

Edit a template in the web app

1

Open Settings > Templates and numbering

Choose the business at the top of the app first. Its templates are listed by event and language.

2

Pick the event and language

For example the message sent with a new invoice, in English. Open the default template or create a new one.

3

Write the subject and body

Use variables for anything that changes from client to client or from document to document, instead of typing it in.

4

Save and mark it as default

The default template is used for every new send of that event and language. Documents already sent keep the message they were sent with.

5

Check it in a send preview

Open any document and click Send. The preview shows your template with the real values filled in, before anything is sent.

Templates through the API

Message templates are managed with List message templates and Upsert a message template. POST /v1/message-templates creates a template; PATCH /v1/message-templates/{id} changes one.

cURL
curl -X POST "https://api.freeinvoiceautomation.com/v1/message-templates" \
  -H "Authorization: Bearer $FIA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: tmpl-acme-sent-en" \
  -d '{
    "business_id": "0193f2a1-7c4e-7b9a-9f10-3c2d1e0a4b51",
    "event": "document_sent",
    "channel": "email",
    "language": "en",
    "subject": "Your invoice from Acme Studio",
    "body": "Hello, please find your invoice attached. You can pay online using the link below. Thank you for your business.",
    "is_default": true
  }'
Response
{
  "data": {
    "id": "0193f2c8-1d2e-7f3a-8b4c-5d6e7f8a9b0c",
    "business_id": "0193f2a1-7c4e-7b9a-9f10-3c2d1e0a4b51",
    "event": "document_sent",
    "channel": "email",
    "language": "en",
    "subject": "Your invoice from Acme Studio",
    "is_default": true,
    "created_at": "2027-01-05T09:30:00Z"
  }
}

To see what a client will receive, call Preview a send on a document: it returns the rendered message without sending it. Template management is not on the MCP tool list; your assistant uses your templates automatically when it calls preview_send and send_document.

Templates in reminders

Reminder sequences (January 2027) are built from steps, and each step has a channel and a message template. That is how a gentle note three days before the due date and a firmer one a week after it can say different things. Edit those templates the same way, under the reminder event.

PDF templates are separate

Message templates control the email. The look of the document itself (layout, colours, fonts, labels, footer, paper size) is a PDF template, managed with List PDF templates and Upsert a PDF template. See PDFs and templates.

Rules and edge cases

  • Per business. Templates never cross businesses. Copy a template to another business by creating it there.
  • Sent messages do not change. Editing a template affects future sends only. Each past send stays in the message log with its recipient, subject, sender and status.
  • Language follows the client. If a client has a language set, its template is used; otherwise the business language is used.
  • No ads. Client emails never carry ads, affiliate links or sponsors, whatever the template says around them.
  • One send per event. A template change never causes a message to be sent again; each send is unique per document, event and channel.

Errors

CodeWhen
validation_failedA required field is missing, or the event, channel or language is not recognised.
permission_deniedYour role lacks templates.manage.
business_out_of_scopeYou cannot reach the business you named.
not_foundThe template id does not exist in your account.

Permissions

ActionPermission key
List, create and edit message templatestemplates.manage
List PDF templatesdocuments.view
Create and edit PDF templatestemplates.manage

By default Owner, Admin and Editor have templates.manage. See Roles and permissions.