Email templates and placeholders

After reading this you'll know how to edit your email templates, which placeholders each template supports, how the placeholder syntax works, and how to set up a separate text variant per event tag.

Email templates control the text your customers and your team automatically receive from you — for example when a quote is sent, a payment reminder goes out, or a shift is assigned. You can adapt every template to your tone and wording. Placeholders let Univents insert the right data automatically when the email is sent (customer name, invoice number, event date …).

Open your email templates

  1. Go to Settings in the left-hand navigation.
  2. Open the Email templates section.
  3. Pick a template from the list — grouped by module (Inquiries, Finance, Contracts, Events, Staff, Tasks).
  4. Edit the subject and content, then save. Use Test email to send yourself the template with sample data.

How placeholders work

A placeholder is written in double curly braces, lowercase with underscores, and without spaces:

{{customer_name}}

When the email is sent, Univents replaces the placeholder with the real value. So

Hello {{customer_name}}, your quote for {{event_name}} is ready.

becomes, for example,

Hello Ms. Müller, your quote for Summer Party 2026 is ready.

Good to know:

  • Placeholders work in the subject and in the content — and the same goes for the label text and destination link of an inserted button.
  • The fastest way to add them is the placeholder inserter in the editor — that guarantees the correct spelling.
  • A placeholder that doesn't exist in that template (e.g. a typo) can no longer be saved as of 2026-08-04: Univents flags it with an error message when you save, whether the typo sits in the body text or in a button. Templates already saved before that aren't affected and can still be edited and saved unchanged.
  • Only use the placeholders listed for the specific template. Each template knows only its own placeholders.

Insert button (CTA)

Next to the placeholder inserter, the editor has an Insert button button. It opens the Insert CTA button dialog with two fields:

  • Button text — the button's label, e.g. "View now".
  • Link — the destination URL, either a fixed address or a placeholder like {{event_link}}, which is automatically replaced with the real link when the email is sent.

Click Insert button to confirm, and the fully formatted button appears at the cursor position in the content.

Placeholders available almost everywhere

Univents fills a few placeholders automatically from your workspace — you don't have to maintain them:

PlaceholderMeaning
{{company_name}}Your company name
{{account_name}}Your workspace name
{{sender_name}}Name of the person triggering the email
{{customer_name}}Customer name (in customer-facing templates)
{{employee_name}}Team member name (in staff templates)
{{event_name}}Event name
{{event_date}}Event date
{{portal_url}}Link to the customer portal / EventHub

Placeholder reference by template

Legend: 🔒 = transactional template, always active (can't be disabled).

Templates to your customers

Inquiries

TemplatePurposePlaceholders
Auto acknowledgementAutomatic reply after a booking inquiry{{customer_name}} {{page_name}} {{account_name}} {{message_excerpt}} {{sender_name}}
Inquiry acceptedConfirmation that the inquiry was accepted{{customer_name}} {{event_name}} {{event_date}} {{booking_link}} {{company_name}} {{sender_name}}
Inquiry rejectedMessage about the rejected inquiry{{customer_name}} {{event_name}} {{company_name}} {{sender_name}}

Finance

TemplatePurposePlaceholders
Quote sentEmail when a quote is sent{{customer_name}} {{event_name}} {{event_date}} {{quote_total}} {{quote_link}} {{doc_number}} {{valid_until}} {{company_name}} {{sender_name}}
Quote signed 🔒Confirmation after the quote is signed{{customer_name}} {{event_name}} {{doc_number}} {{signed_at}} {{portal_url}} {{company_name}} {{sender_name}}
Invoice sent 🔒Email when an invoice is sent{{customer_name}} {{event_name}} {{invoice_number}} {{invoice_total}} {{due_date}} {{invoice_link}} {{company_name}} {{sender_name}}
Payment reminder 1 🔒First reminder for an overdue invoice{{customer_name}} {{invoice_number}} {{invoice_total}} {{due_date}} {{invoice_link}} {{days_overdue}} {{company_name}} {{sender_name}}
Payment reminder 2 🔒Second reminder for an overdue invoice{{customer_name}} {{invoice_number}} {{invoice_total}} {{due_date}} {{invoice_link}} {{days_overdue}} {{company_name}} {{sender_name}}
Invoice overdueNotice for a seriously overdue invoice{{customer_name}} {{invoice_number}} {{invoice_total}} {{due_date}} {{invoice_link}} {{days_overdue}} {{company_name}} {{sender_name}}
Invoice cancelled 🔒Confirmation after an invoice is cancelled{{customer_name}} {{event_name}} {{invoice_number}} {{company_name}} {{sender_name}}

The {{days_overdue}} placeholder is a number (days overdue).

When you manually send a quote, invoice, or delivery note from the document itself, the matching notification email always goes out to the customer. The "Attach PDF" setting on the document only controls whether the PDF file is attached — it no longer controls whether the email gets sent at all.

Contracts

TemplatePurposePlaceholders
Signature request 🔒Ask the customer to sign{{customer_name}} {{contract_title}} {{event_name}} {{signature_link}} {{expires_at}} {{company_name}} {{sender_name}}
Contract fully signedConfirmation after all parties have signed{{customer_name}} {{event_name}} {{contract_title}} {{portal_url}} {{company_name}} {{sender_name}}

Events & EventHub

TemplatePurposePlaceholders
Event confirmedConfirmation of the booked event{{customer_name}} {{event_name}} {{event_date}} {{event_location}} {{company_name}} {{sender_name}}
EventHub invitationInvitation to the customer EventHub portal{{customer_name}} {{event_name}} {{event_date}} {{eventhub_link}} {{company_name}} {{sender_name}}
Change request acceptedConfirmation of an accepted change{{customer_name}} {{event_name}} {{items_summary}} {{portal_url}} {{new_quote_url}} {{company_name}} {{sender_name}}
Change request rejectedMessage about the rejected change{{customer_name}} {{event_name}} {{portal_url}} {{reason}} {{company_name}} {{sender_name}}
Product booking confirmedConfirmation of a product booking{{customer_name}} {{event_name}} {{event_date}} {{product_name}} {{portal_url}} {{company_name}} {{sender_name}}
Payment receivedConfirmation of a payment / deposit received{{customer_name}} {{event_name}} {{deposit_amount}} {{doc_number}} {{portal_url}} {{company_name}} {{sender_name}}
Thank you for your eventThank-you email after the event{{customer_name}} {{event_name}} {{portal_url}} {{company_name}} {{sender_name}}
Post-event feedbackFeedback / review request after the event{{customer_name}} {{event_name}} {{portal_url}} {{event_url}} {{gallery_url}} {{company_name}}
New message to customerMirror of a message from the message thread{{customer_name}} {{company_name}} {{message_excerpt}} {{messages_url}}

Tasks

TemplatePurposePlaceholders
Task assigned (customer)Task assigned to a customer{{customer_name}} {{task_name}} {{event_name}} {{due_date}} {{assigned_by}} {{task_url}} {{company_name}} {{sender_name}}

Templates to your team

Internal notifications

These templates don't go to customers or contributors — they notify you or your team internally, for example when a new inquiry or message comes in.

TemplatePurposePlaceholders
Internal inquiry notificationInternal notification on new booking request{{customer_name}} {{customer_email}} {{page_name}} {{event_date}} {{message}} {{sender_name}}
New inquiry (owner)Notification to the workspace owner about a new booking request{{event_name}} {{contact_name}} {{app_url}} {{product_summary}} {{guest_count}}
New message (internal)Internal notification of a new customer message{{customer_name}} {{event_name}} {{message_excerpt}} {{admin_link}}
New message to partnerNotifies contributors of a new message{{partner_name}} {{company_name}} {{message_excerpt}} {{messages_url}}
Partner response (internal)Internal notification when a partner accepts or declines{{partner_name}} {{event_name}} {{status_text}} {{admin_link}}

The {{admin_link}} placeholder links directly to the internal area (e.g. the affected inquiry or event); {{guest_count}} is optional and only appears if the inquiry includes a guest count.

Events

TemplatePurposePlaceholders
Contributor invitationInvite a partner as a contributor{{partner_name}} {{event_name}} {{event_date}} {{portal_url}} {{company_name}} {{sender_name}}

Staff

TemplatePurposePlaceholders
Shift assignedNotification when a shift is assigned{{employee_name}} {{event_name}} {{shift_date}} {{shift_start}} {{shift_end}} {{shift_name}} {{event_location}} {{portal_url}} {{company_name}} {{sender_name}}
Shift confirmedConfirmation of an assigned shift{{employee_name}} {{event_name}} {{shift_date}} {{shift_start}} {{shift_end}} {{shift_name}} {{event_location}} {{portal_url}} {{company_name}} {{sender_name}}
Shift cancelledNotification when a shift is cancelled{{employee_name}} {{event_name}} {{shift_name}} {{shift_date}} {{company_name}} {{sender_name}}
Shift reminderReminder before an upcoming shift{{employee_name}} {{event_name}} {{shift_name}} {{shift_date}} {{shift_start}} {{event_location}} {{portal_url}} {{company_name}} {{sender_name}}
Application acceptedConfirmation of an accepted shift application{{employee_name}} {{event_name}} {{shift_name}} {{shift_date}} {{shift_start}} {{portal_url}} {{company_name}} {{sender_name}}
Application rejectedMessage about the rejected shift application{{employee_name}} {{event_name}} {{shift_name}} {{shift_date}} {{company_name}} {{sender_name}}
Vacation approvedApproval of a vacation request{{employee_name}} {{vacation_start}} {{vacation_end}} {{company_name}} {{sender_name}}
Vacation declinedRejection of a vacation request{{employee_name}} {{vacation_start}} {{vacation_end}} {{reason}} {{company_name}} {{sender_name}}

Tasks

TemplatePurposePlaceholders
Task assignedNotification for a new task{{employee_name}} {{task_name}} {{event_name}} {{due_date}} {{assigned_by}} {{task_url}} {{company_name}} {{sender_name}}
Task reminderReminder before a task is due{{employee_name}} {{task_name}} {{event_name}} {{due_date}} {{task_url}} {{company_name}} {{sender_name}}

Multiple text variants by event tag

For selected templates, you're not stuck with a single text. Variants by tag let you add extra versions of the subject and content that take over from the standard text once the event carries certain tags — for example a dedicated inquiry confirmation for B2C + Wedding, and another one for B2B.

  1. Open one of the templates that support variants (currently Inquiry accepted, Quote sent, and the two quote follow-up reminders).
  2. Under Variants by tag, click Add variant.
  3. Choose the tag combination this variant should apply to, then write the subject and text.
  4. Save the variant. The list shows all variants in the order Univents checks them when sending.

If an event carries all of a variant's tags, that variant applies. If several variants match, the one with the most tags wins; ties are broken by the order in the list, which you can rearrange with the arrows. If no variant matches, your standard text applies as usual. In the preview, you can pick tags for a hypothetical event and see immediately which variant would apply.

Activate or deactivate templates

The Active toggle next to a template controls whether the email is sent automatically. Transactional templates (marked with 🔒 in the reference) are always active and can't be switched off — they're part of the reliable quote, invoice and contract flow.

Frequently asked questions

How do I have to write placeholders? Always in double curly braces, lowercase and with underscores: {{customer_name}}. Best to use the placeholder inserter in the editor so nothing goes wrong.

What happens if I use a placeholder that doesn't exist? Univents won't let you save the template and shows an error message instead — whether the unknown placeholder sits in the body text, the button text, or the button link. That way you catch a typo right away instead of it going out to customers unnoticed. Only use the placeholders listed for the specific template.

Do I have to fill in {{company_name}} or {{sender_name}} myself? No. Univents pulls these values automatically from your workspace and the person triggering the email.

Can I use the same placeholder more than once in an email? Yes. Every placeholder is replaced everywhere it appears — in the subject and in the content.

How do I check what the finished email looks like? Use Test email to send yourself the template with sample data. That shows the result with the placeholders filled in.