Creating templates

What templates are, the formats, how to create one, variables, and how they adapt across channels.

Written By Bram Haenraets

Last updated About 7 hours ago

Templates are the reusable messages you send. They're used by both Guest Journeys (sent automatically across the stay) and Campaigns (one-off broadcasts) — build a template once, use it in either.

Templates are used and sent in Guest Journey and Campaigns

Finding templates

Open Templates from the sidebar. The library lists your templates, grouped into tabs: Active, Drafts, Pending approval, Rejected and Archived. Search and filter to find one quickly.

In the top right you can choose "use a preset"or "Start from blank"

What a template contains

  • A format (plain message, photo, buttons, list, and more).

  • Content in your primary language — header, body, footer, buttons.

  • An automatic SMS fallback and, where relevant, an RCS version.

  • Auto-translations into your active languages, reviewed when you publish — see Reviewing and translating messages.

  • An approval state, because WhatsApp must approve templates before they send.

Template formats

Pick the format that fits what you're sending. This table shows which channels each works on and what it's best for.

Format

Channels

Best for

Plain message

WhatsApp, RCS, SMS

Any text — in-stay, checkout, post-stay

Photo + message

WhatsApp, RCS, MMS

Welcomes, upsells with an image

File attachment

WhatsApp, RCS, MMS

PDFs, documents

Quick reply

WhatsApp only

Tappable answers to common questions

Call-to-action

WhatsApp only

Prominent link or call button

Carousel

WhatsApp, RCS

Swipeable cards with image/text/button

Interactive form

WhatsApp only

Collect structured info (e.g. arrival time)

Multiple products

WhatsApp only

Showcase catalogue / upsells

List picker

WhatsApp (session-only)

Tappable list of options

Location pin

WhatsApp (session-only)

Map pin + address

List picker and Location pin only send inside an active 24-hour conversation. In a Guest Journey or campaign, place them after a step where the guest taps a button — never as the opening message to a guest who isn't already chatting. Viqal won't block you, so sequence them correctly.

You don't pick the Card format — the editor switches to it automatically when your content goes beyond what a simpler format allows: when you add a header, footer, and/or buttons (beyond plain text for a plain message, or beyond a single photo + text for a photo + message). As your content grows, the format follows.

Every business-initiated format needs WhatsApp approval first — see Template approval and why Meta rejects templates.

Creating a template

The template editor walks you from format to finished message, with a live preview as you go.

Start from a preset or from blank

Select New template, then choose how to begin:

  • Use a preset — opens the Template library. Filter by purpose (Welcome, Pre-arrival, Check-in, Upsell, In-stay, Check-out, Post-stay) and by channel, then click a preset to clone it into your Drafts and edit.

  • Start from blank — opens the editor with an empty template.

The preset template library opens

Either way, you then work through the editor:

Creating a new or amending a preset template

1. Pick a format

Choose the format at the top (see the table above). The content blocks below change to match it. A preset already has a format chosen — change it here if you need to.

2. Fill in the content

Write your primary-language content — header, body, footer and any buttons. Insert variables (like the guest's name or check-in time) where you want details filled in automatically — see Inserting variables below.

Buttons make a message tappable. A template can have at least 1, and up to 5 quick replies, 2 link buttons and 1 call button:

  • Quick reply — a tappable canned reply; when the guest taps it, the button's text is sent back as their reply (handy for "Yes" / "No" or "Tell me more").

  • Link button — opens a URL when tapped (your booking page, a menu, directions).

  • Call button — dials a phone number when tapped.

  • Template connector — a button for your workflows that triggers another template when tapped (for example, a "Leave feedback" button that sends your feedback template). The connector ID shown next to it is for developers.

3. Set channels

WhatsApp is always on. Add RCS and SMS as needed; the editor warns you when a rich format won't carry over cleanly to a simpler channel (see Channels and fallbacks below).

4. Preview

The live preview shows the message as a guest would see it. Toggle between WhatsApp and SMS to check both.

5. Submit for approval

When it's ready, select Submit for approval and choose the template's categoryUtility or Marketing (some formats are automatically classed as Marketing). Depending on what needs checking, this either opens a short review (see Reviewing and translating messages) or submits straight to WhatsApp for approval (see Template approval and why Meta rejects templates).

Inserting variables

Variables are placeholders you drop into a template that automatically fill with each guest's own details when the message sends. Write {{guest.name}} once, and every guest sees their own name. They're what makes an automated message feel personal — and accurate, because the details come straight from the booking instead of being typed by hand.

There are two kinds: guest & reservation variables (name, email, phone, reservation number, check-in/out dates — filled per guest from the booking, read-only) and property variables (Wi-Fi, breakfast hours, your check-in policy — which you configure in Property → Variables). To insert one, use the personalisation picker in the editor — look for Add personalisation — and it's dropped in at your cursor, so you don't type the exact name by hand.

If a guest doesn't have a value for a variable — say there's no email on file — it renders as blank, so write your message to read cleanly if a variable comes out empty. For the full list of variables and to create your own, see Property → Variables.

Channels and fallbacks

You write a template once, and Viqal adapts it to each channel so the guest always gets a usable message — even if they're not on WhatsApp. Viqal tries channels in order: WhatsApp (primary) → RCS → SMS, stepping down to the next if a guest can't be reached. (Email and Instagram / Facebook Messenger are on the roadmap this year — not part of the fallback chain yet.)

WhatsApp is the primary channel, where rich formats look their best. RCS closely mirrors WhatsApp, so its version is usually identical and publishes automatically when it matches. For SMS/MMS, the channel depends on the format: a plain-text message goes by SMS; a photo or file goes by MMS (carrying the image or document), not plain SMS. Rich formats degrade gracefully — a carousel or list becomes text, a location becomes its address. Viqal auto-generates the SMS/MMS version from your WhatsApp content, and you can switch it to custom to edit the wording; the editor flags where a format degrades so you can check it still reads well. The publish review makes sure the fallback versions are right before anything sends.