Automations: Set Up Intelligent Workflows for Your Practice
Automatically send reminders, create tasks, and follow up with patients based on rules you define
The Automations feature lets you create rule-based workflows that run on a schedule or on demand. Instead of manually sending appointment reminders, chasing up overdue patients, or creating follow-up tasks, you define the rules once and Zavy handles the rest.
What Can You Automate?
Automations work with two types of records:
Type | What It Does | Example Use Cases |
Appointment | Triggers based on appointment scheduling, status, and timing | Send reminders 2 days before, request confirmations, follow up on missed appointments |
Patient | Triggers based on patient history, clinical activity, and demographics | Recall patients overdue for check-ups, reactivate lapsed patients, send birthday messages |
Getting Started
To access Automations, navigate to Settings ⚙ > Automations.
You'll see a list of all your existing automations with their name, schedule, and status. From here you can create new automations, edit existing ones, or manually trigger a run.
[Screenshot: Automations list page]
Creating an Automation
Step 1: Choose the Automation Type
Click New Automation and select the type of record you want to automate:
Appointment — For workflows based on appointment data
Patient — For workflows based on patient records
Tip: You cannot change the automation type after creation, so make sure you select the right one.
Step 2: Add Conditions
Conditions define which records the automation should act on. You can add multiple conditions, and they all work together (a record must match every condition to be included).
Appointment Conditions
Status — Filter by appointment state (Scheduled, Confirmed, Cancelled, Missed)
Practitioner / Calendar — Filter by which dentist or calendar
Start Date — Filter by when the appointment is scheduled
Confirmation Status — Confirmed vs unconfirmed appointments
Confirmation Required — Only appointments that need confirmation
Booking Created Date — When the appointment was originally booked
Appointment Reason — Filter by appointment type
Patient Conditions
Patient Active Status — Include or exclude inactive patients
First / Last / Next Appointment Date — Filter by visit history
Last X-Ray Date — Find patients needing x-rays
Last Exam Date — Find patients needing exams
Last Review Request Sent / Completed — Filter by review history
No Future Appointment — Identify patients with no upcoming bookings
Completed Treatments — Filter by treatment codes completed within a date range
Patient Age Range — Target specific age brackets
Patient Alerts / Flags — Filter by clinical alert type
Manual Patient List — Specifically include or exclude individual patients
Using Flexible Dates
Date conditions support several formats to make your rules flexible:
Specific dates: Pick exact dates from the date picker
Relative dates: Use values like 2 days ago, 3 weeks from now, or 1 month ago
Presets: Quick options like today, tomorrow, this week, next week
Relative dates recalculate each time the automation runs, so a condition like "Last appointment more than 6 months ago" stays current automatically.
[Screenshot: Condition builder with date picker]
Step 3: Add Actions
Actions define what happens when records match your conditions.
Appointment Actions
Send Appointment Reminder — SMS and/or email reminder about an upcoming appointment
Send Appointment Confirmation — Request the patient confirm their appointment
Send Communication to Appointment Guests — Send a templated message to people invited to the appointment
Create Task for Appointment Guests — Generate an internal staff task related to appointment guests
Send Form to Guests — Send a custom form to appointment participants
Patient Actions
Send Communication to Patient — Send a templated SMS and/or email to the patient
Create Task for Patient — Generate an internal staff task linked to the patient
Send Form to Patient — Send a custom form for the patient to complete (e.g., medical history, consent)
Tip: Communication actions use your existing message templates. Make sure you've created the templates you need under Settings > Patient > Templates > Communication before setting up the automation. We recommend setting both email and SMS content for every template.
For task creation actions, you can configure:
Title — Name of the task
Description — Details about what needs to be done
Priority — Low, Medium, or High
Due in — Number of days until the task is due
Link to patient — Associate the task with the patient record
Staff assignees — Choose which team members are responsible
[Screenshot: Action configuration panel]
Step 4: Set a Schedule (Optional)
You can choose how your automation runs:
Scheduled (recurring) — Set a daily time for the automation to run automatically. For example, run every morning at 9:00 AM to send today's appointment reminders.
Manual only — No schedule; you trigger it yourself whenever needed.
One-time — Schedule a specific date and time for a single run.
Note: Scheduled automations run a maximum of once per day to prevent duplicate messages being sent to patients.
Step 5: Name and Save
Give your automation a clear name and description so your team understands what it does (e.g., "2-Day Appointment Reminder - SMS & Email"). Click Save to activate it.
Demo Mode
Want to test your automation before it goes live? Enable Demo Mode when creating or editing an automation.
In Demo Mode:
The automation runs and processes records as normal
No SMS or emails are actually sent to patients
Tasks are still created (so you can verify the results)
A warning badge appears on the automation to remind you it's in demo mode
This is useful for verifying your conditions match the right patients before enabling real communications.
Running an Automation Manually
To trigger an automation on demand:
Go to the Automations list
Find the automation you want to run
Click Run Now
The system shows how many records will be processed — confirm to proceed
You can also see when the automation was last run and when the next scheduled run will occur.
Monitoring Results
Every time an automation runs (whether scheduled or manual), it creates a run record you can review.
Run Status
Status | Meaning |
Scheduled | Queued and waiting to start |
Processing | Currently working through matching records |
Completed | Finished successfully |
Completed with Errors | Finished, but some records had issues |
Cancelled | Stopped by a user mid-run |
Failed | Could not start (check conditions) |
Run Details
Click into any run to see:
Total records processed — How many appointments or patients matched
Successful vs failed — Breakdown of results
Individual records — Expand each to see which actions were taken and any errors
Who triggered it — Whether it was a scheduled run or manually started (and by whom)
[Screenshot: Run details page showing job breakdown]
Campaigns: One-Off Bulk Actions
Need to send a message to a specific group of patients from a report? Campaigns let you create a one-time automation for a hand-picked list of patients.
Generate a report that identifies the patients you want to target
Select the patient records from the report results
Click Create Campaign
Add the actions you want (send communication, create task, send form)
Run the campaign
Campaigns use the same action types as Patient automations but skip the condition-building step since you've already selected your patients.
Editing and Deleting Automations
To edit: Click on any automation in the list to modify its conditions, actions, schedule, or name. Changes take effect for all future runs.
To delete: Remove an automation from the list. Historical run data is preserved for your records.
Note: You cannot change an automation's type (Appointment vs Patient) after creation. If you need a different type, create a new automation.
Common Automation Examples
Appointment Reminder (2 Days Before)
Type: Appointment
Condition: Start Date = 2 days from now, Status = Scheduled
Action: Send Appointment Reminder (SMS + Email)
Schedule: Daily at 9:00 AM
Confirmation Request (2 Weeks Before)
Type: Appointment
Condition: Start Date = 2 weeks from now, Confirmation Required = Yes
Action: Send Appointment Confirmation
Schedule: Daily at 8:00 AM
Patient Recall (No Appointment in 6 Months)
Type: Patient
Condition: Last Appointment Date more than 6 months ago, No Future Appointment = Yes, Patient Active = Yes
Action: Send Communication to Patient (Recall template)
Schedule: Daily at 10:00 AM
Follow-up Task After Treatment
Type: Patient
Condition: Completed Treatment = specific treatment code, within last 7 days
Action: Create Task for Patient (assigned to receptionist, due in 14 days)
Schedule: Daily at 7:00 AM
Reactivate Lapsed Patients
Type: Patient
Condition: Last Appointment Date more than 12 months ago, No Future Appointment = Yes, Patient Active = Yes
Action: Send Communication to Patient (Reactivation template)
Schedule: Weekly on Monday at 9:00 AM
Tips for Your Team
Start with Demo Mode — Always test a new automation in demo mode first to verify the right patients are matched before sending real messages
Create templates first — Set up your SMS and email templates before building automations that use them
Use descriptive names — Name automations clearly so your team knows what each one does (e.g., "2-Day Reminder - All Practitioners" rather than "Reminder 1")
Check run history regularly — Review completed runs to catch any errors or unexpected results early
One automation per purpose — It's better to have separate automations for different use cases than one complex automation trying to do everything
Related Articles
Creating a Recall Automation Template
Assigning a Manual Recall Reminder to a Patient
Quick Message
Sending Mass E-mail/SMS
