Setting up an automation: triggers, steps, testing and run history
Build automatic SMS, WhatsApp and notification flows tied to appointment, package and receivable events in the full-page editor, send yourself a test and follow every send in the run history.
Last updated: 20 October 2026
Automations is the module that sends messages automatically when an event happens in your business. The difference from campaigns: a campaign is a one-off bulk send, while an automation runs continuously, event by event. Open it from My Business → Automations in the left menu; seeing the list needs permission to view automations, setting up a new one needs permission to create automations, changing an existing one or turning it on or off needs permission to edit automations, and deleting needs permission to delete automations.
Ready-made automations
The Ready-made Automations button in the automations list offers the scenarios businesses use most, bundled into packages. When you click Install on a package card, the automations inside open as a list grouped by category; each row shows when the automation runs, who receives it (To customers, To staff or To the owner) and a preview of the notification. The package card also shows how many of its automations go to customers, to staff and to the business owner.
- 1Open the package
Click Ready-made Automations and press Install on the package you want. If the Install button is greyed out, hover over it to see what the installation needs (for example an SMS integration). Without a WhatsApp integration, the WhatsApp package card shows a warning and a button that takes you to Pi-Store.
- 2Make your selection
The All · To customers · To staff · To the owner tabs above the list filter it by who receives the notification; the number on a tab is how many automations that group has, and the tabs stay at the top while the list scrolls. Use the switch next to each row to select or deselect an automation. The switch in a category header selects that category; Select all and Clear selection at the top select or clear everything shown in the open tab. What you selected in other tabs is kept and installed together; the line at the bottom shows how many are selected in other tabs. The first time you open a package, what is selected depends on the package: the most commonly used customer notifications in the App Notification Package, and only the important customer notifications in the SMS and WhatsApp Notification Packages, to keep costs down (in WhatsApp only those whose template is approved); staff and business owner notifications are never selected by default. Once you have installed at least one automation from a package, reopening it starts with nothing selected; only what you pick is installed.
- 3Install
Press Install selected. Before installing, a summary opens: the names and number of the automations to be installed, grouped by who receives them, the channel, that they are installed as active and start running right away, that reminders also go out for existing upcoming appointments, lessons and events (when your selection includes reminders), for the SMS package, the sender name and that the messages are sent from your business's SMS account and charged, and for the WhatsApp package, that the messages go from your business's WhatsApp number and Meta charges them. When you click Install in that window, the automations are added as active and start working right away; Cancel installs nothing. The installed automations appear in your list like your other automations, and you can edit or turn them off at any time.
App Notification Package
The App Notification Package sends notifications through the Piyzi app to your customers, to the staff member doing the work and to the business owner. Staff and business owner notifications are described in their own section below; the customer notifications are in these categories:
Appointment notifications: appointment booked, confirmed, reminders 1 day and 2 hours before, time changed, cancelled, thank-you after the appointment, missed appointment.
Group class notifications: class enrolment, reminders 1 day and 2 hours before, class time changed, class cancelled, enrolment cancelled.
Event notifications: event registration, reminder 1 day before, event time changed, event cancelled, registration cancelled.
Package notifications: package added, expiry approaching (7 and 1 days before), package expired.
Low session notifications: 2 sessions left, last session left, session used.
Payment reminders: 3 days before the due date, and 1 and 7 days after it.
Win-back (based on each customer's own visit rhythm): invitation to an off-rhythm customer, come-back invitation to an at-risk customer, thank-you to a returning customer. These messages go only to customers with marketing consent.
The notification is saved to the Notifications screen (the bell at the top right) in the customer's Piyzi app and kept for 180 days. Customers who have signed in to your business in the app and allowed notifications also get a phone notification; tapping it opens the Notifications screen.
Customers with notifications turned off, or with no device, read the message when they open the app. The step still shows as “Completed” in the run history, with a note that the notification was only saved to the Notifications screen.
The notification title is your business name.
SMS Notification Package
The SMS Notification Package sends the same events to the customer's registered phone number as SMS; the customer doesn't need the Piyzi app. Messages go out from your SMS integration and use your SMS credit, so when the list opens only the notifications that affect the customer's plans are selected:
Appointments: appointment confirmation, reminder 1 day before, appointment time change, appointment cancellation.
Group classes: class time change, class cancellation.
Events: event time change, event cancellation.
The others start switched off; turn on the ones you need: appointment booked, reminder 2 hours before, thank-you and review, missed appointment; class and event registration, reminder 1 day before and registration cancellation; package added, package expiry (3 days before), package expired; 2 sessions left, last session; payment reminder (3 days before the due date) and overdue payment (1 and 7 days after it); win-back (invitations to off-rhythm and at-risk customers, a thank-you to returning customers — sent only to customers with marketing consent). Staff and business owner SMS also start switched off (see below).
Integration required: if you have no SMS integration, the Install button on the package card is disabled; hover over it to see why. Automations currently send SMS through Verimor. If your SMS integration uses another provider, or has no approved sender name, the package can't be installed.
Sender name: at the top of the list you choose the sender name the messages go out with. The sender name in your business's SMS settings is selected when the list opens, or the first one if it isn't in the list; the one you choose is used for every message in the package and shows in the preview. After installing you can change it in the automation's SMS step.
SMS count: the “≈ 1 SMS” badge on each row shows roughly how many SMS the message takes once details like the customer, service and business names are filled in. The Turkish and English texts are written to fit in a single SMS; a long service or business name can split a message in two. In Azerbaijani the letter “ə” switches the message to the Unicode character set, so most messages take 2 SMS.
Two SMS for the same thing: if you also tick “Remind by SMS” when creating an appointment, the customer receives a second SMS about the same thing; if you installed the package's reminders, you don't need that option. While the package's appointment booked SMS is installed, the “Notify by SMS” option's SMS is not sent in addition (it may still go out for an online appointment's meeting link — see the Created trigger below).
WhatsApp Notification Package
The WhatsApp Notification Package sends the same events to the customer's registered phone number from your business's WhatsApp number. WhatsApp only allows Meta-approved templates in automatic messages, so every notification in the package is a ready-made template: you first send the templates to Meta for approval, then install the approved ones. The scenarios are the same as in the SMS package (28 to customers, 8 to staff, 11 to the owner).
- 1Connect WhatsApp
If you have no WhatsApp integration, the package card shows a warning and a Connect WhatsApp in Pi-Store button that opens the WhatsApp window in Pi-Store. Connecting WhatsApp needs Pi-Store edit permission; without it the card asks you to get help from the business owner.
- 2Send the templates for approval
When you open the package, the Meta approval box at the top of the list shows the templates' status (approved, awaiting approval, rejected, not sent) and how they are distributed. Send all for approval sends every template in the open tab that hasn't been sent yet; to send a single template use the Send for approval button on its row. The templates are created in your WhatsApp Business account with names starting with “piyzi_oto_” (for example piyzi_oto_randevu_onayi). Meta's review usually takes a few minutes and at most 24 hours; while a template is awaiting approval the statuses refresh every 30 seconds, and you can also refresh them with the refresh button. Sending templates for approval needs permission to create automations or to edit Pi-Store.
- 3Install the approved ones
The switch on a row only appears once its template is approved; select and press Install selected. The installed automation's WhatsApp step comes with the template and the variable mapping already set; you can see and change them in the editor.
Template language: Turkish, English or Azerbaijani; your interface language is selected when the package opens. Each language is a separate template in Meta and is approved separately; the preview on each row shows the text in the selected language, and the line below it shows the template name and language.
Row statuses: Not sent for approval (Send for approval) · Awaiting approval · Template approved (the switch appears) · Rejected (Meta's reason is shown on the row; Resubmit sends it for review again) · Text differs (your account has a different text under this name; Update text switches the template to the package text and sends it for review again — while it is under review, automations using this template may not be able to send) · Paused (Meta paused it because of a low quality rating) · Unavailable (disabled or deleted). The name of a deleted template can't be reused in Meta for about 4 weeks.
Category: each row shows the template's Meta category: Utility message or Marketing message. Win-back messages to customers and the at-risk customer notification to the business owner are sent as marketing, the rest as utility; Meta may change the category during review, and the row shows Meta's decision.
Cost: Meta charges the messages to your business's WhatsApp account; marketing messages cost more than utility messages. Win-back messages only go to customers with marketing consent.
Replaces the SMS: when an appointment is booked, moved or cancelled, a WhatsApp message sent to the customer right away replaces the SMS Piyzi sends for that event. Customers who don't use WhatsApp won't receive it; if many of your customers don't, prefer the SMS package.
Reminders: if you also tick “Remind by SMS” when creating an appointment, the customer receives the reminder by both SMS and WhatsApp.
The delivery status of WhatsApp messages (delivered, read, failed) shows in the automation's Run history. If your Meta account has a problem such as a missing payment method, a red warning appears at the top of the package.
Staff and business owner notifications
Besides the ones for customers, all three packages have ready-made automations for the staff member doing the work and for the business owner. Each is an automation of its own: it is not added to the customer notification's flow, and installing or turning it off doesn't affect the customer notification. None of them is selected by default; pick them in the To staff or To the owner tab and install.
To staff: new appointment, appointment time changed, appointment cancelled, reminder 1 hour before the appointment; new enrolment and enrolment cancellation in a group class (to the class instructor); new participant and participation cancellation in an event (to the event's staff member).
To the owner: new appointment, appointment cancelled, missed appointment; new customer (the customer's name and phone); package sold, 7 days left on a package, package expired; last session left; overdue payment (1 day after the due date); off-rhythm and at-risk customer (last visit date and days since).
Staff notifications go to the person doing the work: for an appointment, the staff member providing the service (each of them if there are several services and staff members); for a group class, the class instructor; for an event, the event's staff member. Package, new customer and visit rhythm events have no particular staff member, so for those there are only business owner scenarios. Cancellations, time changes and reminders of group classes and events run separately for each participant, so there are no staff or owner scenarios for them.
The app notification is saved to the Notifications list on the person's account: the Notifications tab of the bell icon in the top bar of the web panel, and the Notifications screen in the mobile app. People signed in to the mobile app who have allowed notifications also get a phone notification; each person can turn the phone notification off with the Automation notifications switch under My Account → Notifications, and the list entry is still saved. The notification title is your business name.
The SMS goes to the phone number on the person's Piyzi account and uses your SMS credit. The WhatsApp message also goes to the phone number on the person's Piyzi account, from your business's WhatsApp number. Staff removed from your business don't receive notifications, SMS or WhatsApp messages.
For online bookings Piyzi already sends the appointment's staff member an app notification and (if their When a New Appointment Is Created SMS preference is on) an SMS. If the new appointment automation to staff is installed, Piyzi's notification on that channel isn't sent as well (a WhatsApp message takes the place of Piyzi's SMS); the staff member gets a single notification for the appointment. If you provide the service yourself, the new appointment automation to the business owner counts the same way.
If you also provide services in appointments, don't install both the staff and the business owner notification for the same event; you would receive both.
Win-back, package and payment notifications arrive separately for each customer; a business with many customers may get several a day. Rhythm notifications reach you whatever the customer's marketing consent; consent is only required for messages to the customer.
For all packages
The message texts are added in the interface language you install them in; in the WhatsApp package the language of the customer's message is the package's Template language choice.
The group class and event categories are listed only for businesses with the relevant module turned on.
Installed scenarios show an “Installed” badge and can't be installed twice; if you delete an installed automation you can install that scenario again. Editing the text, timing or days after installing doesn't change its installed status.
You can install more than one package for the same event; the customer then receives a separate message on each channel (for example both an app notification and an SMS).
The automation editor
When you click New Automation in the automations list, or click an automation's name or pencil icon, the editor opens as a full page. The screen has three parts:
Steps on the left: the steps you can add are listed under Timing, Communication and Checks. Click a step to add it right below the selected step, or at the end of the flow if nothing is selected. Steps that can't be used with your trigger are dimmed.
Automation flow in the middle: the trigger sits at the top and the steps below it in the order they run. Use the + button between two steps to insert a step. Rearrange steps by dragging them or from the card's three-dot menu (Move up, Move down, Duplicate, Delete step). A one-line summary of the flow is shown underneath.
Settings on the right: the settings of the selected step or trigger open here. SMS, WhatsApp and push steps show a message preview filled with a sample customer and your business name; for SMS the character count and the number of SMS parts are shown too.
A step with missing settings shows an Incomplete settings badge on its card. Not saved in the header means there are unsaved changes; if you try to leave without saving you are asked to confirm. Ctrl+S (Cmd+S on a Mac) also saves.
On tablets and phones the settings panel slides in from the right. On phones the list on the left is hidden; add steps with “Add step” and the + buttons.
Setting up an automation
- 1Choose the trigger
Click the trigger card at the top of the flow and choose the trigger in the panel on the right. You can limit it to specific services (specific facilities for facility rentals); leave that empty and it runs for all of them. A new automation takes its name from the first trigger you choose; change it with the pencil in the header.
- 2Add the steps
Add wait, check and message steps from the list on the left or with the + buttons, and fill in each step's settings in the panel on the right.
- 3Test it
Use Test in the header to run the whole flow, or Send test message in a message step's panel to send only that step to your own number.
- 4Save it
The Active switch in the header decides whether the automation runs; the change takes effect when you click Save. On a new automation this switch is on by default. When you save a new automation as active, or switch an inactive one to active and save, a "Put the automation live?" window shows a summary of the flow and offers three options: Save and go live starts it right away; Save as inactive saves it switched off (for those who want to try it with "Test" first); Cancel doesn't save. If you turn the switch off and save, the automation is saved as inactive without a prompt. Changes to an automation that is already active take effect as soon as you click Save, without a prompt. The header badge of an unsaved automation shows the switch's state (Not saved · Active or Inactive). The status switch in the list turns an automation off immediately and asks for confirmation when turning it on. Using the switch requires permission to edit automations. When an automation is turned on, all the rules used when saving are checked again: if a WhatsApp template isn't approved, the SMS sender can't be used by automations, the trigger has been retired or the facility rental module is off, the automation isn't turned on and the reason is shown. Turning it off is always allowed.
Triggers
Appointment: created, approved, completed, cancelled, no-show, postponed, approaching.
Group event: approaching, participant added/cancelled, event cancelled, event date changed (if the staff member leaves "Notify attendees when the date or time changes" on while editing; for the old date in the message use {groupAppointmentPreviousStartDateTime}). The participant added trigger also runs when an online participation request awaiting approval is approved; rejecting a request runs the participant cancelled trigger. When you cancel a recurring event's series, or change its date with “Update the Following Events Too”, each participant gets a single message about their earliest cancelled or rescheduled event. The service filter looks at the event's services, whether staff add the participant or the customer joins online.
Class: session approaching, cancelled or its time changed (when staff confirm notifying the participants while saving; use {classSessionPreviousStartDateTime} for the old time); enrolment created, cancelled. The enrolment-cancelled trigger runs when staff or the customer cancel a lesson, and the message includes the date of the cancelled lesson; a Late Cancellation marked in attendance does not run it. When a class is deleted, or its sessions are cancelled in bulk with Freeze Sessions, the cancelled trigger runs once per customer, with the customer's earliest cancelled session. If you tick “Notify enrolled participants of the time change” while changing a class's lesson time on the class edit screen, the time-changed trigger also runs once per customer, with their earliest shifted session; the box is unticked by default. An enrolment opened with Add to Another Session in the session detail also runs the enrolment created trigger.
Customer: new customer registration. It runs for customers added by staff in the panel or the mobile app and when customers register themselves: their first SMS-code sign-in on the online booking page or in the Piyzi app, an online booking and joining an event online. It does not run for customers created by Excel/CSV import, the Piyzi API or from a WhatsApp/Instagram conversation. A customer whose registration date is more than one day in the past (a backdated record) is not sent the message.
Package: sold, session used, remaining credit dropped to the threshold, expiry approaching, expired. Remaining sessions are calculated the same way everywhere: the package's total sessions minus the used ones; sessions set aside for a future appointment or class aren't used yet, so they count as remaining. A used count entered at the sale (when moving from an older system) is reflected in the used and remaining sessions of the sold message.
Receivable: created, collected, due date approaching, overdue. Besides sales card and package payments, the created trigger also runs for instalment package sales (one per instalment), subscription sales and renewals, event participation fees, product sales and facility rentals; the collected trigger also runs when a facility receivable is collected.
Customer visit rhythm: When a Customer Falls Off Rhythm (Late), When a Customer Is at Risk and When a Customer Returns. The rhythm is calculated from the customer's own visit gaps; see the Visit rhythm and reliability article for details.
When do the appointment triggers run?
Created: appointments opened from the panel and the mobile app, online bookings, Appointment Planning and the Advanced Planning Tool (one message per participant), the Piyzi API and adding a service to an appointment. For a multi-service appointment one message is sent: the time is the first service's, the service and staff names cover all of them. A separate appointment booked for the same customer on the same day gets its own message; a service added within 10 minutes to an appointment that was just announced does not send a second message. When staff open the appointment from the panel, the mobile app or Appointment Planning with “Notify by SMS” ticked and this automation sends the customer an SMS or WhatsApp message right away (with no wait step before it), Piyzi's notification SMS is not sent in addition. For an online appointment the meeting link travels in the notification SMS: if your automation message doesn't use the {gorusmeLinki} variable, the notification SMS is sent too, so the link is never lost. The confirmation SMS of appointments booked on the online booking page is not affected by this rule. The notification Piyzi sends the appointment's staff member for an online booking follows the same logic: if this automation sends the staff member providing the service (or the business owner, if you provide the service yourself) an app notification right away, Piyzi's app notification is not sent in addition; if it sends an SMS or WhatsApp message, Piyzi's SMS is not sent in addition.
Approved: when you approve a pending request one by one or with “Approve All” on a visit; one message per visit.
Cancelled and No-show: the message covers only the appointment whose status changed. If one of two services on the same visit is cancelled, the message shows only that service and its time; if the other is cancelled later, its message is sent too. The cancelled trigger runs when the status is set to Cancelled, when a pending request is rejected, with “Cancel All” on a visit (one message per visit), when a sales card is cancelled, when an appointment that is still open (undetermined or pending) is deleted, and when customers cancel their own appointment. When this automation sends the customer an SMS or WhatsApp message right away, Piyzi's fixed “your appointment has been cancelled” SMS is not sent in addition.
Rescheduled (postponed): only when “Yes, notify” is chosen while moving the appointment and the appointment has not happened yet (undetermined or pending). If you choose “No, don't notify”, the automation does not run either. When the automation sends the customer an SMS or WhatsApp message right away, Piyzi's fixed move SMS is not sent in addition; without such an automation the fixed SMS is sent as before.
Completed: once per visit. Closing the sales card days after the appointments were completed, paying through Ödeal or saving the sales card again does not start the flow a second time.
Only an automation that sends the customer an SMS or WhatsApp message right away replaces Piyzi's fixed SMS. An automation that only sends an app notification (e.g. the App Notification Package), that waits first or that only messages you or your staff does not stop the fixed SMS; the customer then receives the fixed SMS too. The same rule applies to the approval, cancellation and move SMS of facility reservations.
For "approaching" triggers you set how long beforehand it runs by entering a number and picking a unit: minutes, hours or days. For example 15 minutes, 2 hours or 1 day before. What you entered is spelled out right under the field, so the unit can never be mistaken. The shortest lead is 5 minutes and the longest is 30 days. For the package threshold you set how many sessions must be left.
Package and receivable reminders are checked every day at 09:00 and 15:00 (the afternoon check makes up for a missed morning check; messages are not repeated on the same day): package expiry approaching and due date approaching run 7, 3 and 1 days before the date, overdue runs 1, 3, 7, 14 and 30 days after the due date. Use the day buttons in the trigger settings to choose on which days a message goes out; each selected day sends a separate message and at least one day must stay selected. Rules without a day selection run on all days. If a package's validity is extended, the reminders are sent again for the new expiry date. A package expires at the first check after its end time has passed (09:00 or 15:00); it no longer expires early on the morning of its last day. The package expired trigger also runs when you set a package to Expired yourself in its Edit window. No due date approaching or overdue reminder is sent for the pending instalments of a cancelled or deleted package.
For the "session used" trigger you choose which sessions it runs for: Always (besides sessions used by attending, it also runs when a session is forfeited because of a late cancellation or no-show) or Attendance only (runs when the customer attends the class or the appointment is completed, not for forfeited sessions). Rules set up earlier keep running as "Always". The remaining-sessions threshold trigger is not affected by this choice; a forfeited session also reduces the remaining sessions, so the threshold runs in every case. The threshold runs once, at the moment the remaining sessions drop to or below it; it isn't missed when several sessions are deducted at once.
Reminders are checked every 5 minutes. If an appointment is booked in less time than the reminder lead you chose (say the reminder is set to 1 hour but the appointment is booked for 20 minutes from now), no reminder is sent for it — the reminder moment has already passed. The same rule applies to someone who joins a class or event, and to a reservation, less than the reminder lead before it starts. For a visit with several services the reminder is sent once: the time is the first service's, the service and staff names cover all of them; appointments on the same day with more than 30 minutes between them count as separate visits and get their own reminder. No reminder is sent for an online appointment request awaiting approval, an event participation request awaiting approval, or an appointment marked as “Arrived”.
When do the visit rhythm triggers run?
They are checked every hour during the day (09:00–20:00). They run only for customers who crossed the threshold in the last 3 days, so turning the automation on does not message every long-absent customer at once.
They run once per lapse: unless the customer comes back, the Late message is not sent again. If the customer visits and then falls off rhythm again, they can get a new message.
SMS, WhatsApp and app notifications to the customer need the customer's marketing consent: consent the customer gave themselves (My Account → Profile Information on your online booking page, Profile Information in the Piyzi app, or the SMS consent box when booking online) or a signed document in the Explicit Consent category of Consent Forms (for a linked customer, the guardian's consent counts too). Consent can't be ticked on the customer card in the panel; see the Marketing consent section of the Creating a campaign article for details. Without consent the step is “Skipped” with the reason; steps that go to you or your staff are not affected.
After a Wait step, the message is checked again before it is sent: if the customer has visited in the meantime or has a future booking, the Late and At risk messages are not sent and the run is “Stopped”.
The Visit check step is not available for the When a Customer Returns trigger (the customer has just visited).
If you change the trigger of an existing automation, steps that can't be used with the new trigger are removed from the flow after you confirm, and the trigger settings (service filter, timing, reminder days and so on) are reset; compatible steps stay where they are.
If a service selected in the service filter is deleted later, it stays in the filter and the settings panel shows a notice with the number of deleted services, such as “1 selected service(s) have been deleted”. A deleted service doesn't match any appointment; if only deleted services are left in the filter, the automation doesn't run for any appointment. Use “Remove from filter” in the notice to remove them.
Some rules set up in an older version may carry a customer type filter. The settings panel of such a rule shows a “Customer type filter” note, and the rule only runs for services of that customer type; use “Remove filter” in the note to remove it and run the rule for all services. New rules have no customer type selection.
Step types
Wait: adds a delay in minutes, hours or days. The wait only counts time and knows no quiet hours: when it ends, the message goes out even in the middle of the night. For example, a 3-hour wait in an automation triggered at 22:00 sends the message at 01:00; message steps without a wait also go out at the time of the event (e.g. the booked message of an online appointment made at night). Choose the wait so that the message lands during the day.
Visit check: if the customer has visited since the automation was triggered or has a future booking, the flow stops; otherwise it continues. A visit is a completed or unmarked past appointment, class attendance, event attendance, or a turnstile or facility entry (appointments booked in advance count too). There is no number of days to pick — set the period with a Wait step before it. For example, “Wait 2 weeks → Visit check → SMS” sends a reminder to customers who neither came back in that time nor have a booking.
Review check: works two ways: “Continue if no review was left” (for a review reminder) or “Continue if a review was left” (for a thank-you message). You pick the mode in the step's settings.
Message: sends an SMS, a WhatsApp message or a mobile notification. The recipient can be the customer, the business owner or the staff member who delivers the service. The staff member who delivers the service is the appointment's staff member for appointments, the event's staff member for events, the reservation's staff member for facility reservations and the session's instructor for classes; new customer and package triggers have no service, so this recipient can't be chosen there. If the staff member can't be determined, the step is “Skipped” and the reason is shown. Messages to a dependent customer with no phone of their own (a child, a relative) go to their guardian: SMS and WhatsApp to the guardian's phone, app notifications to the guardian's Notifications screen with the customer's name in front. If you leave a mobile notification's title empty, your business name is used. Permission for automations is enough to set up SMS and WhatsApp steps; creating templates and integration settings stay under the Pi-Store permission.
Check steps do not split the flow in two — they work like a gate. If the condition is not met, the flow stops at that point and the following steps do not run. For two different scenarios you need to set up two separate automations.
The review check can only be used with the "appointment completed" trigger, and it looks at whether a review was left; it does not evaluate the rating.
A message step that comes after a Wait step checks the event again before sending: no “overdue” message if the debt has been paid, no “cancelled” message if the cancellation was undone, no old reminder for an appointment or reservation that was cancelled or moved, and no “expiry approaching” message for a package that was extended. The run is then “Stopped” and the reason is shown.
Message content
In messages you can use variables that change with the trigger (customer name, appointment date, remaining sessions, business name and so on). The Full name ({musteriAdSoyad}) variable writes the customer's first and last name in one go; two variables can't sit side by side in a WhatsApp template, so this is how you map the full name to a single variable. The appointment completed trigger also adds a review link variable — the most practical way to send customers an automatic invitation to review you. Check how the variables will look in the preview on the right.
In SMS and push steps, clicking a variable adds it to the text as a tag followed by a space. If a comma, full stop or exclamation mark should come right after the variable, delete that space first; otherwise the message reads like “Hello Ayşe ,”. If you added the variable at the very end of the message, delete the space after it too: that space can switch the SMS to Unicode and raise the SMS count. Check the result in the preview and the SMS counter.
Appointment triggers offer the Appointment date and time, Appointment date, Appointment time, Service and Staff variables. These values are read from the appointment's current state when the message is sent: if a message goes out after a wait step and the appointment was moved in the meantime, the new time is used. Times are written in Turkey time. For appointments with several services, the service and staff names are listed with commas.
The appointment cancelled trigger also offers the Number of cancelled appointments and Date of the last cancelled appointment variables. When “this and following” is cancelled on a recurring appointment, one message is sent; with these two variables you can say how many appointments were cancelled and up to which date (e.g. “your {iptalEdilenRandevuSayisi} appointments between {randevuTarihi} and {sonIptalTarihi} have been cancelled”). For a single cancellation the number is 1. The appointment rescheduled trigger also offers the Appointment Details Link variable.
The appointment created, approved, rescheduled and approaching triggers also offer the Online meeting link ({gorusmeLinki}) variable: it writes the shortened join link of an online appointment opened with Google Meet or Zoom; for an appointment that isn't online it writes “-”. Setting up a separate automation for your online services with a service filter is recommended.
In receivable triggers the {tesisAdi} variable shows the facility's name when the receivable comes from a facility rental; for other receivables it shows “-”.
The visit rhythm triggers have the Last visit date ({sonZiyaretTarihi}) and Days since last visit ({gecenGun}) variables; the number of days is calculated when the message is sent. For example: “We miss you! It has been {gecenGun} days since your last visit.”
To send SMS your SMS integration has to be set up; if it is not, the step settings show a warning and a link to the integrations page. Automations currently send SMS through Verimor: the SMS and review request steps list only your active Verimor integration and its approved sender names. If you save or activate an automation as active while its SMS step uses a provider or sender name it can't send with, it isn't saved and the reason is shown; you can save the automation as inactive. On an automation that is already active, only a provider or sender name you newly chose is checked.
When an automation is deleted, the pending messages belonging to it are cancelled too.
When your subscription ends, your automations stop running: no SMS, WhatsApp message or notification is sent for new events, and flows waiting on a wait step stop when the wait ends and show as “Stopped” with the reason in the run history. Once you renew, automations run again for new events; messages that weren't sent while the subscription had ended are not sent afterwards.
If Meta rejects your WhatsApp template messages for a reason on your account's side (for example there's no valid payment method on the Meta account, the account is locked or the number is temporarily blocked), a red warning appears in the editor of an automation with a WhatsApp step and on the WhatsApp screen in Pi-Store, with the reason and what to do. While the problem lasts, Meta doesn't deliver your template messages to any customer. Once the issue is fixed, the warning goes away by itself with the next successful send.
Testing
Test runs the whole flow; Send test message in a message step's panel runs only that step and checks only that step's settings; another unfinished step in the flow doesn't block the test. The test uses what is on screen, so you can try it before saving.
Messages are filled with a sample customer's details and your own business details; nothing is sent to your customers.
SMS and WhatsApp messages really go to the test number and are charged like normal sends. The Test number field only appears when the steps being tested include an SMS, WhatsApp or review request step; your account's phone number is filled in, and you can change it. If the number has fewer than 10 digits, the Start test button stays disabled. A flow with only push steps doesn't ask for a number; the warning in the window still mentions “the number below”.
Push notifications go to the devices where you are signed in to the mobile app.
Wait and check steps are skipped in tests; the flow runs to the end without waiting.
The result of each step is shown in the window: whether it was sent, which text went out and, if something failed, why.
For a WhatsApp message the window waits a few seconds for Meta's delivery result and shows “Delivered”, “Read” or “Not delivered” with the reason. If Meta doesn't report the result in that time, the line stays at “Accepted by Meta”; you can see the result in the run history.
A business can run at most 10 tests in 10 minutes, sending no more than 20 SMS or WhatsApp messages in total. A single test can contain at most 10 SMS or WhatsApp messages; test longer flows step by step.
The WhatsApp step needs an approved template in tests too; a test message can't be sent with a template that is still pending approval.
Run history
Each time the automation is triggered for a customer, a run is created. The editor's Run history tab (or the clock icon in the list) shows the automation's runs.
At the top is a summary of the last 30 days: total, completed, failed, stopped and in-progress runs. For When a Customer Falls Off Rhythm and When a Customer Is at Risk automations, the summary also shows how many customers came back after the message (Came back); those runs carry a “Customer came back” badge in the list.
The list shows the date, the customer, the status and step-by-step progress. Filter by status or search by customer name; test runs are listed when “Show tests” is ticked.
Statuses: Running, Waiting (at a wait step; the time of the next step is shown), Completed, Stopped and Failed.
“Stopped” doesn't mean there is a problem: a check step stopped the flow (for example the customer came back or left a review), the automation was deactivated, the next step was deleted, or the business's subscription has ended.
A “Failed” run stopped at a step; fix the cause and try again. If the flow carried on but a step ended with a problem (for example the push reached no device), the run is “Completed”, its row shows the number of warnings and that step is marked “Warning” in the details.
If the customer has no phone number on file, the SMS and WhatsApp steps are “Skipped” and the flow continues with the next step, so the run doesn't fail because of it. If the number can't receive SMS (invalid, or from a country that isn't allowed), no SMS is attempted; the step is again “Skipped” and the reason is shown.
The details window shows when each step ran, which channel the message went through and to whom (phone number masked), the text or template sent, the reason for any failure and the values used in the message. In the text sent, the customer's phone number and the code of review or appointment-detail links are hidden; the customer receives the full message.
A push step sent to a customer always saves the notification to the Notifications screen in the customer's app as well; the details show it as a “Notification inbox” line. If the customer has no device that can receive notifications, the step is still “Completed”, with a note saying so.
A push step sent to the business owner or staff also saves the notification to the recipient's Notifications: the Notifications tab of the bell in the web panel's top bar, and the Notifications screen in the mobile app. If the recipient has no device that can receive notifications, the step is still “Completed”, with a note saying so. The record is only written for the business's active staff. Someone who turns off “Automation notifications” or turns on Do Not Disturb in the My Account → Notifications tab gets nothing on their phone; the notification is still saved to their Notifications.
Push, SMS and WhatsApp steps sent to the owner or staff only go to the business's active staff. If the staff member on an appointment has been removed from the business, no message is sent to them; if none of the recipients is active staff, the step is “Skipped” and the reason is shown.
“Sent” on a push line means the notification was handed to the notification service; it doesn't guarantee it appeared on the phone. Devices where the app was deleted or notifications were turned off are detected within about 15 minutes, and later notifications are no longer sent to them.
The status on a WhatsApp line comes from Meta: “Accepted by Meta” means Meta accepted the message but hasn't reported the result yet; it then moves on to “Sent”, “Delivered” and “Read”. If Meta can't deliver the message, the line shows “Not delivered” with the reason, what to do and Meta's own explanation.
If Meta later fails to deliver a WhatsApp message, the run stays “Completed”, but the list shows a “WhatsApp not delivered” badge and the step is marked “Warning” in the details. If any WhatsApp messages weren't delivered in the last 30 days, their number is shown under the summary. Delivery status is kept for messages sent after this feature was released; older WhatsApp lines say “No delivery information”.
If a step's job is lost in a server or queue outage, the run doesn't get stuck at “Waiting” or “Running”: within a few hours it is marked “Failed” with the reason. Use Try again to continue from where it stopped.
Runs in progress refresh on their own while the page is open. Records are kept for 90 days; a run with a wait step is kept for 90 days after its wait ends.
Run history started being recorded when this feature was released; earlier sends are not in the list.
Runs waiting at a wait step carry on from where they were even if you edit the automation in the meantime. If you delete the next step or deactivate the automation, those runs become “Stopped”.
Try again
A failed run has a Try again button in its row and in its details. The flow runs again from the failed step with the automation's current settings; earlier successful steps are not sent again. So fix the cause first (for example top up your SMS credit or get the WhatsApp template approved), then try again.
A run can be retried up to 5 times.
A run can't be retried while the automation is inactive; activate it first.
When a failed run can't be retried, the button is greyed out; hover over it to see why.
If the failed step has been deleted from the automation, that run can't be retried.
Test runs are not retried; start the test again.
On retry, SMS and WhatsApp go to the customer's current phone number on record.
Retrying needs permission to edit automations. Users who can only view open the editor read-only and can see the run history and details.
Example: setting up an appointment reminder
Sending customers an automatic reminder before their appointment is the most commonly created automation:
- 1Choose the trigger
Open the editor with New Automation, choose appointment approaching on the trigger card, then enter the amount and pick its unit (1 day or 2 hours, for example). You can also use the preset buttons for the most common leads.
- 2Add the message step
Click Send SMS or WhatsApp message in the list on the left; in the panel on the right set the recipient to the customer and write the message or pick the template. Check in the preview how the customer name and appointment time will look.
- 3Try it and save
Send the message to your own number with Send test message. If you are happy with it, click Save. Since the Active switch is on by default for a new automation, the "Put the automation live?" window opens: as soon as you choose Save and go live, the reminders start running and from then on go out automatically for every eligible appointment. If you don't want to start it yet, choose Save as inactive. You can follow the sends in the Run history tab.
With the same logic you can set up a payment reminder for receivables approaching their due date, a renewal invitation for expiring packages and a review invitation after a service.