Skip to main content

Email variable troubleshooting guide

Use this guide to troubleshoot why a variable isn't working

Monique Clark avatar
Written by Monique Clark
Updated this week

If you’re seeing blank spots or unresolved variables (e.g. [practitionerfirstname] actually shows up like that in the email), it usually comes down to one of two things.

  1. You formatted the variable in the email template in a way that breaks it.

  2. You’re using a variable that’s not compatible with the trigger type.

  3. You're using a variable that's not compatible with the email type.

Let's work it out together.

✅ Use the right variable set for your email type


Some Peptalkr features use different variable sets depending on whether the email is a Transactional Email or a Marketing Campaign/Automation.

Email Type

Use This Variable Set

Transactional emails (like appointment confirmations, follow-ups, etc.)

Marketing Campaigns or Marketing Automations

So if you copy a variable from a Transactional email (e.g. [appointmentstart]) into a Marketing Campaign — it won’t work.

🧠 Tip: Use the links above to check you're working with the right variables for your email type. No sure which email type you're using? Check whether you created the email in the Campaigns, Automations or Transactional tab of the email manager.

✅ Use a variable that is compatible with your transactional email trigger type


If the variable outputs nothing at all (just a blank space), it’s likely because the variable isn’t compatible with the type of event that triggered the email.

Why?

Each variable is tied to a specific kind of data in Cliniko. If the event that triggered the email doesn’t include that data, the variable will output nothing.

⚠️ Example:

  • A Medical Alert email doesn’t relate to a specific appointment.

  • So if you include [appointmentstart], it won’t work — because the system has no appointment info to pull from.

Compatibility guide:

Variable Type

Description

✅ Compatible Triggers

⚠️ Not Compatible With

📍 Business variables

Info from your Cliniko business (e.g. address, name).

Appointment triggers

Medical Alerts, Invoices

📆 Appointment variables

Data from the specific appointment (e.g. date, time).

Appointment triggers

Medical Alerts, Invoices

🩺 Practitioner variables

Info about the practitioner assigned to the appointment.

Appointment triggers

Medical Alerts, Invoices

💬 Patient variables

Info about the patient (name, contact info).

✅ All trigger types

Form variables

Links to forms

✅ All trigger types

🧾 Invoice variables

Info pulled from the invoice.

Invoice triggers

Appointment or Medical Alerts

🛎️ Medical Alert variables

Info from the medical alert message.

Medical Alert triggers

Appointment or Invoice triggers

🧠 Tip: Check your trigger for which event is causing it to fire. Is it 'When a medical alert is added to a patient file'? Then check above for what's incompatible.

✅ Check the formatting of your email template


If you can see the square brackets and variable name in the email, it’s not a problem with the variable itself — it means the formatting in the email builder has broken the variable behind the scenes.

The most common mistake:

Bolding (or styling) the variable in parts.

⚠️ Example:

  • You applied formatting (bold, italics, colour etc.) to the practitionerfirstname but not the [ and ]

  • You bold [practitionerfirstname then later bold the ]

Even though it looks fine visually, the code ends up looking like this:

<strong>[practitionerfirstname</strong><strong>]</strong>

That breaks it.

✅ How to fix it:

  1. Remove all formatting from the entire variable — including the square brackets.

  2. Re-highlight the full variable and reapply the formatting in one go.

That will generate correct code (behind the scenes):

<strong>[practitionerfirstname]</strong>

Now it will work as expected!

Did this answer your question?