Triggers determine when your automation runs. There are 12. Each trigger has different condition fields available to filter who it applies to, and every trigger also exposes the user fields (ID, email, phone, first name, last name) of the person the event happened to.
Occurrence, start, end, and recurrence details of the booking
Booking Started
Fires at the scheduled start time of a booking.
Condition
Type
Description
Is for a specific session
Dropdown
Only this session/scheduler
User has a specific tag
Dropdown
User must have this tag
User doesn’t have a specific tag
Dropdown
User must not have this tag
Session fields
Various
Session ID and title
This trigger executes at the booking’s scheduled start time, not when someone checks in.
Booking Ended
Fires when a booked session ends.
Condition
Type
Description
Is for a specific session
Dropdown
Only this session/scheduler
User has a specific tag
Dropdown
User must have this tag
User doesn’t have a specific tag
Dropdown
User must not have this tag
Session fields
Various
Session ID and title
This trigger fires at the booking’s scheduled end time. It is the trigger to use for “after the session” follow-ups, such as tagging someone who has finished a trial.
One field per question on the selected form (layout-only blocks such as headings and media are excluded). Checkbox, terms, and waiver questions default to Contains; other questions default to Equal to
Runs on a schedule and finds all users matching your conditions. See Scheduled Automations for details.Schedule Options:
Schedule
What You Set
Daily
Time
Weekly
Day of week + time
Monthly
Day of month (1–31, or the last day of the month) + time
Specific Date
A single date + time. Runs once, on that date
Every schedule also has a timezone, set on the trigger itself, and a send mode that controls whether a matching person is messaged only the first time they match or on every run. See How Scheduled Automations Run.Available Conditions (minimum 1 required):
Condition
Type
Description
Has a specific tag
Dropdown
User has this tag
Doesn’t have a specific tag
Dropdown
User doesn’t have this tag
Has active subscription
Boolean
User is currently subscribed
Does not have an active subscription
Boolean
User has no active subscription
Subscription active for X days
Number
Subscribed for at least X days
Has available credits
Boolean
User has at least 1 credit
Days since last booking is > X
Number
User hasn’t booked in X+ days
Days until credits expire < X
Number
Credits expire within X days
Credit count is X
Number
Less than, greater than, or equal to X
Has upcoming booking
Dropdown
Today, this week, or no upcoming bookings
At least one condition is required for scheduled automations.
Incoming Webhook
Fires when an external system sends a request to this automation’s webhook URL. Use it to start an automation from another tool (a website form builder, a CRM, a payment platform).Once the automation has been created, the builder displays the webhook URL to send to. Treat that URL as a secret.
Condition
Type
Description
Payload field
Text path
Any field in the incoming payload, written as a path such as field.payload.type or field.payload.order.id
The payload’s fields are also available as dynamic fields in your actions, for example {{payload.userId}}.
Conditions decide whether the automation continues for a given event. Each rule has three parts: a field (from the trigger, the user, or a data source), an operator, and a value. Some curated rules, such as Is a subscription or User’s first booking ever, fix the operator and value for you.
The builder narrows the operator menu to what makes sense for the field: numbers get equality, greater/less than, and empty checks; dropdowns get equality, contains, and empty checks.
Click Add Condition to create the first group, Add Rule to add a rule to the current group, and Add And/Or to nest a new group inside it. Nesting lets you express things like “(bought a membership or a credit pack) and has no future booking”.If an automation has no conditions at all, it runs for every trigger event. Scheduled Check is the exception: it requires at least one condition.
Data sources fetch extra information before the conditions run, so you can filter on it and use it in messages. Add one when the trigger alone doesn’t carry what you need. There are six. Unless you pick a specific person, each one looks up the user from the trigger.
Available slots
Finds open slots on a session.
Input
Required
Options
Session
Yes
The session/scheduler to search
Search range
No
Next 24 Hours, Next 3 Days, Next 7 Days (default), Next 14 Days, Next 30 Days
Outputs: the list of slots, the slot count, and the first available slot.
User bookings
Fetches a person’s bookings.
Input
Required
Options
Target user
No
User from trigger (default) or a specific user
Status
No
Upcoming, past, or all
Limit
No
1–100
Outputs: the list of bookings, the count, the next booking, and the last booking.
User credits
Fetches a person’s credit balance in one credit bank.
Input
Required
Options
Credit bank
Yes
Master Credits or a specific product’s bank
Target user
No
User from trigger (default) or a specific user
Outputs: the balance, the credit bank ID, and the credit bank label.
User purchases
Fetches a person’s purchases.
Input
Required
Options
Target user
No
User from trigger (default) or a specific user
Status
No
Active, expired, or all
Type
No
Subscription, one-time, or all
Outputs: the list of purchases, the count, active subscriptions, one-time purchases, whether they have an active subscription, and whether they own a given product.
User tags
Fetches a person’s tags.
Input
Required
Options
Target user
No
User from trigger (default) or a specific user
Outputs: the list of tags, the count, the tag IDs, and the tag labels.
Form responses
Fetches responses to a form.
Input
Required
Options
Form
Yes
The form to read
Target user
No
User from trigger, a specific user, or all respondents
Limit
No
1–50
Outputs: the list of responses, the count, and the latest response (its answer, question, form, and date).
Data source outputs appear as field options in Conditions and in any message field. In a message, type # to pick one from the list rather than typing it by hand.
Actions determine what happens when your automation runs. There are 17. You can add multiple actions to a single automation; they run in order.Most actions have a Target User. It defaults to User from trigger; click Change to pick a specific person instead. The messaging and tag actions also offer trigger user and their guardians, which runs the action once for the athlete and once for each linked parent in your group. (A parent who triggers an automation is always a single target; the expansion never adds children.)
Send an Email
Sends an email to a user.
Field
Type
Description
Target User
Auto/Dropdown
User from trigger, trigger user and their guardians, or a specific user
Subject
Text
Supports dynamic fields
Message
Rich text
Supports dynamic fields and formatting
CC / BCC
Text
Optional additional recipients
Send an Email has no attachment picker. To send someone a booking, product, or form link by email, paste the link into the message. The in-app, SMS, and announcement actions below can attach a session, product, or form directly.
Send an SMS Message
Sends a text message to a user’s phone.
Field
Type
Description
Target User
Auto/Dropdown
User from trigger, trigger user and their guardians, or a specific user
From
Dropdown
Default, or Set to choose which admin it appears to come from
Message
Text
Supports dynamic fields. A live counter (for example 180 / 160) shows when the text will split into a second segment
Attach Product
Dropdown
Optional - adds short purchase link
Attach Session
Dropdown
Optional - adds short booking link
Attach Form
Dropdown
Optional - adds short form link
SMS attachments are text links only—no images or files. Keep the message under 160 characters to stay in one segment.
Send an In-App Message
Sends a message to the user’s inbox within CoachIQ.
Field
Type
Description
Target User
Auto/Dropdown
User from trigger, trigger user and their guardians, or a specific user
From
Dropdown
Default, or Set to choose which admin it appears to come from
Message
Text
Supports dynamic fields
Attach Product
Dropdown
Optional - adds purchase link
Attach Session
Dropdown
Optional - adds booking link
Attach Form
Dropdown
Optional - adds form link
Send an Announcement
Posts an announcement to one person or a group of users.
Field
Type
Description
Target User
Dropdown
User from trigger (default), trigger user and their guardians, all users, specific tags, or specific roles
From
Dropdown
Default, or Set to choose which admin it appears to come from
Title
Text
Announcement headline
Message
Rich text
Supports dynamic fields
Attach Product
Dropdown
Optional - adds purchase link
Attach Session
Dropdown
Optional - adds booking link
Attach Form
Dropdown
Optional - adds form link
Use announcements for broadcast messages (like weekly schedules) instead of individual messages.
Add a Tag to a User
Adds a tag to the user for organization and targeting.
Field
Type
Description
Target User
Auto/Dropdown
User from trigger, trigger user and their guardians, or a specific user
Tag
Dropdown
Tag to add (select existing or create new)
Remove a Tag from a User
Removes a tag from the user.
Field
Type
Description
Target User
Auto/Dropdown
User from trigger, trigger user and their guardians, or a specific user
Tag
Dropdown
Tag to remove
Update Custom Field
Sets the value of a custom profile field on the user.
Field
Type
Description
Target User
Auto/Dropdown
User from trigger or select specific user
Custom Field
Dropdown
Which custom field to update
Value
Text
The new value. Supports dynamic fields
Useful for stamping a date (“Trial completed on…”) or a status (“Onboarding: done”) onto the profile so you can filter on it later.
Add Credits to a User
Adds session credits to the user’s account.
Field
Type
Description
Target User
Auto/Dropdown
User from trigger or select specific user
Number of credits
Number
How many credits to add (minimum 1)
Credit Bank Target
Radio
Master Credits (works for any session) or Specific Product Bank
Product
Dropdown
Which product’s bank, when Specific Product Bank is selected
If you select a specific product bank and the user doesn’t own that product, credits are added to Master Credits instead.
Redeem Credits from a User
Removes session credits from the user’s account.
Field
Type
Description
Target User
Auto/Dropdown
User from trigger or select specific user
Number of credits
Number
How many credits to redeem (minimum 1)
Credit Bank Target
Radio
Master Credits or Specific Product Bank
Product
Dropdown
Which product’s bank, when Specific Product Bank is selected
Add a Product Purchase to a User
Grants a user a product without payment.
Field
Type
Description
Target User
Auto/Dropdown
User from trigger or select specific user
Product
Dropdown
Product to grant
Remove Product Purchase from a User
Removes a product from a user’s account.
Field
Type
Description
Target User
Auto/Dropdown
User from trigger or select specific user
Product
Dropdown
Product to remove
Grant Program Access to a User
Gives a user access to a program.
Field
Type
Description
Target User
Auto/Dropdown
User from trigger or select specific user
Program
Dropdown
Program to grant access to
Access duration
Dropdown
Permanent, until a specific date, or for a number of days
Revoke Program Access from a User
Removes a user’s access to a program.
Field
Type
Description
Target User
Auto/Dropdown
User from trigger or select specific user
Program
Dropdown
Program to revoke
Send notification
Boolean
Whether to notify the user
Add Booking to User
Books a user into a session. This is a staff-managed booking: it works even when the session is not self-bookable, but it still respects the scheduler’s booking window, athlete limits, slot capacity, and coach conflicts.
Field
Type
Description
Target User
Auto/Dropdown
User from trigger or select specific user
Session
Dropdown
Session/scheduler to book
Booking time
Radio
Next available slot, a specific slot, or a recurring series
Specific slot
Date, time, duration
When Booking time is Specific
Recurring
Various
Interval (daily, weekly, monthly) and how often; weekdays for weekly; how the series ends (never, after a number of occurrences, or on an end date); optional per-occurrence time or location changes
Redemption
Radio + number
Use the session’s credit settings, or redeem a specific number of credits
Remove Booking from User
Cancels a user’s booking.
Field
Type
Description
Target User
Auto/Dropdown
User from trigger or select specific user
Booking source
Radio
The booking from the trigger, the user’s booking on a chosen session, or a specific booking
Refund credits
Boolean
Whether to refund credits used
Wait/Delay
Pauses the automation before continuing to the next action.
Field
Type
Description
Wait type
Radio
A duration, or until a date/time
Duration
Number + Unit
Minutes, hours, days, or weeks
Wait until
Date/time
When Wait type is a date
Continuation Conditions (optional):
Condition
Description
Has booked a session
Continue only if user booked since automation started
Hasn’t booked a session
Continue only if user hasn’t booked
Has made a purchase
Continue only if user purchased since automation started
Hasn’t made a purchase
Continue only if user hasn’t purchased
Still has a specific tag
Continue only if user still has this tag
No longer has a specific tag
Continue only if user no longer has this tag
User hasn’t replied to last message
Continue only if no reply received
If a continuation condition isn’t met, the automation stops for that user.
Send to External Webhook
Sends data to an external URL for integrations.
Field
Type
Description
Webhook URL
Text
Use an HTTPS URL you control or have verified
Method
Dropdown
GET, POST (default), PUT, PATCH, or DELETE
Headers
Key-value pairs
Optional custom headers
Body
JSON editor
Must be valid JSON. Supports dynamic fields
The webhook payload automatically includes full trigger context (user data, event details, etc.).
Dynamic fields let you personalize messages with real data from your automations. In any message field, type # to insert a field option from the trigger or a data source, or @ to insert a CoachIQ field such as the athlete’s first name. The builder inserts the token in the exact syntax shown below.
If you copy and paste a field instead of inserting it, include the double curly braces {{ and }} exactly as shown.
Available in automations that check credit status:
Field
What It Inserts
Example Output
{{field.user.credits.has_available}}
Whether user has any credits
true or false
{{field.user.credits.expire_days}}
Days until credits expire
14
{{field.user.credits.count}}
Total number of credits user has
5
Credit fields are primarily available in Scheduled Check automations. Using them in other automation types may return empty values. For an exact balance in any automation, add a User credits data source instead.
Hi {{field.user.firstName}},You have {{field.user.credits.count}} credits remaining. They expire in {{field.user.credits.expire_days}} days.Book your next session soon!
This would send:
Hi John,You have 5 credits remaining.They expire in 14 days.Book your next session soon!