Templates and quick replies
These are two different resources with different purposes.
Templates
A template is a message pre-approved by the provider (mandatory on WhatsApp). It is the only way to start a conversation or reopen the 24-hour window.
- Open Templates in the side menu.
- Choose the channel — each channel has its own list.
- See the approval status of each template and the body with the variables (
{{1}},{{2}}).
Each template reports:
| Property | Meaning |
|---|---|
| Body | The approved text, with the variable placeholders |
| Header | The template's fixed text or media |
| Body parameters | How many values the message expects |
| Header parameter | Filled when the header has {{1}} |
| Media | When the template brings an image, it appears in the composer |
A template outside the 24-hour window must be approved on the channel. Trying to send a pending template or one from another channel returns an error (template_not_approved, template_not_found).
Variables: automatic filling
A template can contain variables. There are two ways to use them, and the behavior changes:
| Format | How the value is resolved |
|---|---|
{{1}}, {{2}} (positional) | Each variable asks for a value; the agent fills it in field by field |
{{first_name}} (known name) | agents2.me fills it in on its own from the contact's data |
Use the known names and the field does not even appear to type: the value comes from the conversation, the linked contact, or the CRM contact.
Known names
| Variable | What it brings |
|---|---|
{{first_name}} | First name: from the CRM contact, or the first part of the name on the channel |
{{full_name}} | Full name: name + last name from the CRM, or the contact's name on the channel |
{{display_name}} | The name as it appears in the Inbox (includes renames made by an agent) |
{{contact.first_name}} | First name of the CRM contact |
{{contact.last_name}} | Last name of the CRM contact |
{{contact.email}} | The contact's email |
{{contact.instagram}} | The contact's Instagram |
{{contact.company}} | The contact's company: companyName or, in its absence, the account name |
{{contact.idade}} | Any custom field of the contact, by the field name |
See an example: Hello {{first_name}}! becomes Hello Marina! with no one typing anything.
The provider does not accept a dot in the variable name, so a custom field is written with two underscores in place of the dot: {{contact__idade}} is the same as {{contact.idade}}. The conversion is done automatically on send.
When the data does not exist
- If the contact does not have the data, the variable is not filled in and becomes a field for the agent to type — no send goes out with
{{...}}in place of the value. - What the agent types wins over the automatic value, so you can fix a wrong name before sending.
- In quick replies, a variable that no one resolves stays literally as
{{chave}}and is listed for filling. - In campaigns, the link is explicit: the field map connects each template variable to a column of the audience — see Campaigns.
Variable order
A template with positional variables is filled in the order they appear ({{1}}, {{2}}, {{3}}…). A template with known names is filled by name, not by position — the order of the fields on screen does not change the result.
Quick replies
Quick replies are text snippets from your team, reusable, with no approval and no window: perfect for greetings, address instructions, and repetitive procedures.
- Open Quick replies.
- Create a shortcut with a title, text, and the queues it appears in.
- In the composer, type the shortcut or choose the reply from the list.
Quick replies can contain formatting and interactive variables — filling happens at the moment of sending.
When to use each
| Situation | Use |
|---|---|
| First contact, outside the 24-hour window | Template |
| Follow-up after days without a reply | Template |
| Reply to a customer who has just written | Freeform text or quick reply |
| Repetitive instruction within the window | Quick reply |
| Order status notice | Template (with variables) |
Tags
Tags classify conversations and feed filters and reports. Apply and remove tags through the conversation header or the context menu; the Inbox filter accepts all the tags or any of them. Tags can also be applied in bulk in a contact import.