Skip to main content
Most automations react to something happening—a purchase, a booking, a form submission. Scheduled automations are different. They run on a schedule and proactively find people who match your criteria. Think of it this way:
  • Event-based: The doorbell rings, you answer it
  • Scheduled: You check the mailbox every morning
This is how you build credit expiration reminders, inactive member outreach, weekly announcements, and milestone celebrations.

When to Use Scheduled Automations

Use Scheduled When…Example
You need to check for a condition over timeCredits expiring in 7 days
You want to catch people who didn’t do somethingHaven’t booked in 2 weeks
You want recurring announcementsWeekly schedule release
You need to celebrate milestones3-month member check-in
Rule of thumb: If you’re checking status rather than reacting to an event, use a scheduled automation.

Setting Your Schedule

You have three timing options:
ScheduleBest ForExample
Every day at [time]Time-sensitive checksCredit expiration reminders, daily trial alerts
Once a week on [day] at [time]Weekly operationsInactive member outreach, schedule announcements
Once a month on [date] at [time]Monthly milestonesSubscription anniversaries, monthly check-ins
Scheduled automations use your timezone from Settings. If you’re in Eastern Time, “Monday at 9am” means 9am Eastern.

Conditions: Targeting the Right People

Scheduled automations require at least one condition. This prevents the automation from running for every single user in your system.
Required: You must set at least one condition on scheduled automations. The builder won’t let you activate without one.

Available Conditions

ConditionWhat It Checks
Has a specific tagUser has this tag
Doesn’t have a specific tagUser doesn’t have this tag
Has active subscriptionUser is currently subscribed
Does not have an active subscriptionUser has no active subscription
Subscription active for X daysUser has been subscribed for at least X days
Has available creditsUser has at least 1 credit
Days since last booking is > XUser hasn’t booked in X+ days
Days until credits expire < XUser’s credits expire within X days
Credit count is XUser’s credits are less than / greater than / equal to X
Has upcoming bookingUser has a booking today / this week / no upcoming bookings

Combining Conditions

You can add multiple conditions to get more specific. All conditions must be true for a user to be included. Example: Find members who are at risk of churning
  • Has active subscription = Yes
  • Days since last booking > 14
  • Doesn’t have tag “On Vacation”

How Scheduled Automations Run

Here’s what happens when your scheduled automation fires:
  1. CoachIQ finds all users matching your conditions (up to 1,000 per run)
  2. Executes your actions once for each user found
  3. Logs the results so you can see who was contacted
Built-in spam prevention: CoachIQ won’t message the same person repeatedly. If someone matches your conditions two weeks in a row, they’ll only get the message once—unless their status changes (like booking a session, then going inactive again).
Example in action: Every Monday at 9am, find everyone whose credits expire in less than 7 days → Send each of them a personalized reminder with their credit count and expiration date.

Dynamic Fields for Scheduled Automations

These personalization fields are only available in scheduled automations. They let you include real-time data about each user’s credits, bookings, and activity.
Scheduled Conditons Pn

Credit Fields

FieldWhat It Inserts
@User.CreditCountTotal available credits
@User.CreditsExpiringNumber of credits expiring soon
@User.CreditExpirationDateNext expiration date
@User.DaysUntilExpirationDays until credits expire
Example message:
You have @User.CreditsExpiring credits expiring in @User.DaysUntilExpiration days! 
Book now before you lose them.

Booking Fields

FieldWhat It Inserts
@User.LastBookingDateDate of their last booking
@User.DaysSinceLastBookingDays since last booking
@User.NextBookingDateTheir next upcoming booking
@User.BookingCountThisMonthNumber of bookings this month
Example message:
We miss you! It's been @User.DaysSinceLastBooking days since your last session. 
Come back this week?
Standard fields like @User.FirstName, @User.LastName, and @User.Email work in all automations, not just scheduled ones.

Common Scheduled Automations

These are the most popular scheduled automations coaches use. Full setup instructions are in the Automation Playbook.
AutomationScheduleWhat It Does
Credit Expiration ReminderWeekly, Monday 9amAlerts members whose credits expire within 7 days
Inactive Member CheckWeekly, Sunday 6pmRe-engages members who haven’t booked in 14+ days
Weekly Schedule ReleaseWeekly, Monday 8amAnnounces that the week’s schedule is open for booking
3-Month MilestoneMonthly, 1st at 10amCelebrates members hitting their 3-month anniversary
Daily Trial AlertDaily, 7amNotifies you about trial sessions happening today

Tips for Scheduled Automations

Pick smart timing. Send messages when people are likely to see them—not at 3am. Sunday evening works great for “plan your week” messages. Monday morning works for schedule announcements.
Use tags to control frequency. For milestone messages, add a tag like “3-Month Member” when someone hits that milestone, then remove it after the automation runs. This prevents repeat messages.
Start weekly, go daily only if needed. Weekly checks work for most use cases. Daily checks are best for time-sensitive things like credit expirations or trial session alerts.
Test with a tag filter first. When setting up a new scheduled automation, add a condition like “Has tag = Test” and only tag yourself. Run it once to make sure it works before removing the filter.

What’s Next?