Customizing notifications and reminders

Email and SMS messages that are generated as part of the registration and booking process can be customized or replaced by your own messages. Reminder and follow-up messages can be similarly customized. Almost all messages can contain so-called “auto-text”, which are “magic words” that are automatically replaced by some dynamic value when the message is generated. Text that is shown on-screen during the booking process can also be customized but with a slightly different syntax, see the section on Customizing on-screen messages.

Custom email notifications and reminders

Under Configure > Process you can choose to confirm appointments by email and/or send users an email reminder some time prior to their appointment. By default, the email confirmation contains the following information:

Dear Name,

This message is confirmation that your reservation* was created.

Details of the new reservation*:

  …details of the appointment…

You can access the schedule at:…

Please do not reply to this message, it was automatically generated and replies will not be read
* The term “reservation” can be changed via Configure > Process

Booking confirmations and reminders can be changed via Configure > Layout, while the text of registration confirmations can be entered via Layout Settings. If you would like to add some text to this message or replace it with your own text altogether.

View outgoing email

All email sent from your account is kept in the database for one hour. You can view it inside your account on the list of recently sent emails. This allows you to check which messages were sent in the last hour, to whom they were sent, and whether they contain what you expected.

The mail server will automatically skip email sent to an address that ends in but it will still show up in the list of recently sent mails. You can use this to easily test various emails without having to send a lot of emails to a real email account.

Dynamic messages using auto-text

Auto-text are “magic words” that are automatically replaced by some dynamic value when the message is generated. This allows you, for example, to address users by name or make the message language-dependent. An auto-text word is simply a word preceded by a $, i.e. $name. In the table below you find the auto-text strings that can be used in email messages.

Auto-text strings for use in email messages and SMS-reminders
The word……will be replaced with
$nameThe name of the person to whom the mail is addressed, if available
$dearWrites out “Dear $name,” unless $name is not known
$loginThe login name of the creator (blank if administrator or not logged in)
$subjectThe rest of this line will be used as the subject line of the email, it may contain other magic words
$urlA link that points to the schedule at the date of the reservation
$modurlA link that contains a token which allows modification of this reservation without logging in
$actionDescribes what action triggered this email. E.g.: “Your booking was $action” → “Your booking was created”
$detailsLists the booking details, useful if those had been removed by the $replace command below
$replaceRemoves all the system-generated text, only your text will be shown
$nourlRemoves just the URL from the system pre-generated text
$idThe object’s ID, this is useful to quickly look it up in the supervisor interface
$slot_idThe ID of the slot that this object belongs to (capacity schedule only)
$form_idThe ID of the form if this object has a form attached
The start time and finish time for this booking.
Use $start_time or $finish_time to show only the time
The creation date for this booking, and the time it was last changed or deleted
$whenShows start and finish time, and adds time zone information depending on the configuration
$previous_startIf the appointment was updated, this shows the start time before the update
$lengthThe duration of the appointment displayed as H:MM or DD:HH:MM
$icalThe booking will be attached to the notification as an iCalendar file
$meeting_urlShow the link to the Google Meet or Zoom meeting if there is one
$formIf a form is connected to this object it will be attached as an HTML file
$pricePrice of the appointment. For repeating appointments it’s the price of the first one
$creditCurrent credit level of the user (after creating the appointment)
$resourcesThe names of connected resources (service schedule only)
$positionDisplays the position on the waiting list (capacity schedule only)
Displays the value of custom fields defined on the configuration screen, Process tab
Displays the value of custom fields defined on the Access Control page
$suDisplays the value of the supervisor field if it’s available
$if "action"The rest of the sentence is only printed if action matches the current action. To apply the condition to multiple lines enclose them in curly brackets. See below for a list of possible actions
$else {message}The $else clause can only follow an $if clause. The message must be enclosed in curly brackets and will only be displayed if the preceding $if condition is not true.
The title, location, description and quantity booked (capacity schedule only). For multi-resource schedules $description contains the resource name

Normally, your custom text is appended to the email generated by the system. However, if you use the string $replace anywhere in the message, then your text will replace the system message entirely.

Note that the field to adjust the text of appointment confirmations controls all possible email confirmations, not just new booking confirmations. To customize the text for a specific confirmation, you would need to use the conditional $if statement as explained below.

The commands can also be chained. The next code snippet would only replace the title when a new appointment is created, and otherwise leave the default title:

$if "created" {$subject You have a new appointment on $start}

Permissible values after the $if statement are: created, changed, deleted, approved, refunded, placed_on_the_waiting_list, changed_on_the_waiting_list, removed_from_the_waiting_list or placed (placed means it moved from the waiting list to become a regular appointment).

$if "placed_on_the_waiting_list" {You are number $position on the waiting list}

You can also use a language identifier like EN or ES to only display a message if a person has selected that particular language on the calendar.

$if "ES" {Gracias} $else {Thank you}
Multiple conditions can be combined with so-called logical operators, for example:
$if "created || placed_on_the_waiting_list" {Thank you for booking} (logical OR, one needs tot be true)
$if "EN && deleted" {Cancellation confirmed} (logical AND, both need to be true)
Another use of auto-text is to provide your clients with a direct link to a screen where they can edit their appointment. You could add this text to email notifications:
To change your appointment online go to:

The $modurl code will generate a link that contains a token that can allows the visitor of that link to modify or delete the appointment without the need to log in. This is especially useful if you allow people to create appointments without logging in because this way you can allow them to change their own appointments afterwards. You can read more on this in our blog about customizing emails.

All emails are sent in plain text, so it’s not possible to add HTML code in email notifications. If you are a developer and need the ability to add HTML or attachments you could consider sending the email from your own server.

Setting the “From” address

By default, email notifications from your account are sent with in the “From:” field of the message. It’s a good idea to change this field to reassure your users that the message comes from you and to ensure that replies get back to you. You can change this setting on the Layout Settings screen. It lets you either add a “Reply-to” header or change the “From” header to your own address.

Changing the “From” address to your own would seem attractive, however this option comes with the important proviso that the mails have a higher risk of being marked as spam because we cannot sign them if the “From” address differs from ours. Furthermore, in order to comply with internet standards aimed at preventing spam, you will need to add our mail server in the SPF record of your DNS. Modifying a DNS can be tricky and you may not have the option to modify the DNS of your mail server.

The “Reply-to” header, on the other hand, will still send with in the “From” field, but most email clients will display your account name as the sender and will also send back replies to you. Because our mail server can cryptographically sign the message if it has in the “From” field it has a high chance of passing spam filters.

As an aside, any links mentioned in email messages will show unless you set up a custom domain and link it to your account.

Most domains are configured with a so-called SPF record. This record signals to other mail servers that they should only accept email from a sender listed in that SPF record. If you set the “From” address to your own email then our system will check for the existence of such an SPF record in the DNS for your domain. If the record exists it needs to specify that it allows our mail server to send email. This is the specific text that needs to be present in the SPF record:
Another way to use your own “From” Address is to send email via your own server. Using your own server can be useful if you want to prevent any reference to SuperSaaS showing up in the mail headers and also allows you to cryptographically sign the message to improve deliverability. This requires considerable technical proficiency.

Custom SMS messages

On the SMS Gateway page you can customize the default SMS-reminder’s textual content. The same auto-text codes used to customize email messages can be used to customize SMS-reminders sent to your customers. Note that this does not affect SMS-notifications that are sent to you to inform you about new or updated bookings.

The default reminder content is: Reminder: <appointment title> on <date and time> The first inserted field will show the appointment title and the second one shows the date and time of the appointment. For example, provided you have not modified the message, a reminder for a yoga class would look something like this: Reminder: Yoga (Briana) on 10/10/2023 18:00

More information on configuring SMS confirmations can be found in the confirmation and reminder documentation.