Requiply
Message templates

Add or edit message template

Write an SMS, Viber, or Telegram message: its text, merge variables, conditional blocks, and any attachments or buttons the channel supports.

This page is where you write a message template — the text (and, for Telegram, the attachments and buttons) that workflows send to clients over SMS, Viber, or Telegram.

You reach it from Settings → Bookings → Message templates by clicking Add template, the empty-state button, or the edit pencil on a template card. Workflows also link here through their Create a template shortcut.

Admin only. Non-admins are redirected to the access-denied screen.

The form is split in two: the fields on the left, and a sticky Preview card on the right that renders the message in a chat bubble using sample booking data.

Add vs. edit

ModeWhat happens
AddCreates a new template. Saving returns you to the Message templates list — or back to the workflow you came from, when you arrived via Create a template.
EditLoads the saved template, shows its name as the page heading, and adds a Delete action. If the template cannot be loaded, or belongs to another organization, you get an error toast and are sent back to the list.

Fields

Name

Required. Up to 120 characters. This is what workflow pickers and the client's message log show, so name it after what the message does — Booking reminder, Payment follow-up — not after the channel.

Format

Required, defaults to Text. A three-way picker: Text, Telegram, Viber. The hint under the picker explains what the selected format supports, and the rest of the form changes with it:

FormatExtra fields shown
TextNone — just the message body.
TelegramEditor / Markdown toggle, Attach invoice PDF, Attach documents, Link buttons.
ViberCharacter counter, Image URL, Action button.

Attachments and buttons are only saved for the format that supports them: switching a Telegram template to Text before saving drops its attachments and buttons.

Message text

Required in practice — an empty body is simply not sent.

  • Text and Viber — a plain multi-line box. Viber shows a live character counter against the 1000-character limit, which turns red when you go over.
  • Telegram — two ways to write the same message, switched with the Editor / Markdown toggle:
    • Editor — a rich-text toolbar with bold, italic, underline, strikethrough, link, and code block.
    • Markdown — a monospace box where style symbols are converted to Telegram formatting: **bold**, _italic_, __underline__, ~~strikethrough~~, `code` and [link text](https://...).

    Switching between the two converts the body, so you can start in the editor and fine-tune in Markdown.

An Insert variable dropdown sits above the body and appends the chosen token at the end of the message.

Telegram supports only a small subset of HTML. Anything the editor produces that Telegram cannot render — headings, lists, images, tables — is stripped when the template is saved and again before sending.

Attach invoice PDF (Telegram only)

A toggle. When on, Requiply generates the triggering booking's invoice at send time and delivers it as a PDF file after the message. The preview shows it as an invoice.pdf chip inside the bubble.

Attach documents (Telegram only)

A multi-select of your custom export templates. Each selected template is rendered for the triggering booking and sent as its own PDF file — a rental agreement, a handover act, a packing list.

Attachments are generated when the message is sent, not when the template is saved. If a document fails to render, Requiply still sends the message text and logs the failure rather than skipping the notification entirely.

Up to six buttons, each with a caption and a URL, added with the + button and removed with the trash icon. Buttons appear under the message in Telegram and open the link when tapped.

Variables are allowed in both parts, which is what makes them useful — a Pay now button pointing at {{paymentIntegrationLink}}, or View booking pointing at {{reservationLink}}. A button whose caption or URL is empty is dropped when saving, and at send time a button is only included if its resolved URL starts with http:// or https://.

Image URL and Action button (Viber only)

  • Image URL — an optional public image shown above the message text.
  • Action button — a single caption plus link, shown under the message. Captions are limited by Viber to about 25 Latin or 12 Cyrillic characters. Variables are allowed in the link.

Variables

Message templates use the same variable engine as email templates and export templates — booking, client, and organization tokens such as {{clientName}}, {{bookingStartDateTime}}, {{bookingTotal}}, {{paymentIntegrationLink}}, plus every custom field defined on the Client, Booking, or Organization level.

A few are worth calling out for messaging:

VariableReplaced with
{{telegramConnectLink}}The client's personal invite link to your Telegram bot (https://t.me/yourbot?start=…). Resolved only when the organization has an active Telegram integration; otherwise it renders as nothing.
{{paymentIntegrationLink}}A payment link for the booking — the usual target for a Telegram or Viber button.
{{bookingItems}}A numbered list of the booked items, for example 1. Rode Procaster × 2 — $90.00, with names in bold on Telegram. Each booked bundle adds an unnumbered line at the end, for example Podcast duo kit: bundle discount 10% — -$19.20.
{{bookingBundleDiscount}}What the booked bundles save in total, for example $19.20. Empty without a bundle, so it works well inside {{#if bookingBundleDiscount}}…{{/if}}.

Conditional blocks

Message bodies support {{#if variable}}…{{/if}} blocks, exactly like export templates. The block is kept when the variable has a non-empty value and removed when it does not, and blocks can be nested. Use it for anything optional:

{{#if paymentIntegrationLink}}Pay here: {{paymentIntegrationLink}}{{/if}}

Conditionals are resolved in the live preview too, so a block whose variable has no sample value disappears there as well.

The preview

The right-hand card renders the message as a chat bubble filled with sample data — sample booking values, your organization name, email, phone, and currency.

  • Telegram templates render their formatting; Text and Viber render as plain text.
  • A Viber Image URL is shown above the text.
  • Attachments appear as file chips (invoice.pdf, then one chip per selected document template).
  • Buttons appear under the bubble.

Drafting with AI

Above the body sits a row of AI actions, the same set the email and document editors offer:

ActionWhat it does
Create with Requiply AssistantOpens the Requiply Assistant in Message designer mode, aware of the current format and of the variables available here. Drafts come back as a card with Apply to editor, which fills in the name and body.
Open prompt in ChatGPT / Open prompt in ClaudeOpens the external assistant with a prepared prompt.
Copy AI promptCopies that prompt to the clipboard.

The assistant is told which format is selected, so it writes Markdown for Telegram, plain text under 1000 characters for Viber, and the shortest possible text for SMS.

Saving, cancelling, deleting

  • Save validates the name and stores the template. A toast confirms "Template {name} was created/updated" and you return to the list.
  • Cancel returns to the list without saving.
  • Delete (edit mode only) opens a confirmation dialog.

Deleting a template

Requiply loads every workflow before allowing deletion:

  • If no workflow uses the template, the dialog asks "Are you sure you want to delete the template {name}?" and Yes removes it.
  • If any workflow uses it, the dialog switches to "The template {name} is used by these workflows. Point them to another template before deleting:" and lists them. The confirm button stays disabled until you repoint or delete those workflows.

Common scenarios

A booking reminder for every channel

Keep the format on Text, write two or three short lines with {{clientName}} and {{bookingStartDateTime}}, and save. The template is now selectable on any channel.

A Telegram message with the contract attached

Switch the format to Telegram, write the message in the editor, select your rental agreement under Attach documents, and add a Sign button. The client gets the message and the rendered agreement as a PDF in the same chat.

Translating an existing template

Open the template, click Create with Requiply Assistant, and use the Translate into Ukrainian starter. The assistant returns the full name and body with every token preserved; Apply to editor, review, and save.

Tips and cautions

Tip: Keep messenger copy short. Telegram cuts messages at 4096 characters and Viber at 1000 — Requiply truncates rather than failing, but a wall of text in a chat bubble is rarely read anyway.
Heads up: A Telegram template can only be used on the Telegram channel, and a Viber template only on Viber channels. If a workflow's channel picker shows no templates, the format is the usual reason.
Heads up: Buttons and attachments are silently dropped on channels that cannot carry them, so a template that relies on a button to convey the call to action should not be used as a fallback for SMS.
Copyright © 2026