All Triggers
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.New User
New User
Purchase Made
Purchase Made
Booking Created
Booking Created
Booking Started
Booking Started
Booking Ended
Booking Ended
Booking Cancelled
Booking Cancelled
# in a message field and pick them from the list so the token is inserted in the exact form the trigger provides; a cancellation notice such as “Your [session] on [date] was cancelled” then fills in per booking.Form Submitted
Form Submitted
User Tag Added
User Tag Added
User Tag Removed
User Tag Removed
Subscription Cancelled
Subscription Cancelled
Scheduled Check
Scheduled Check
Incoming Webhook
Incoming Webhook
{{payload.userId}}.Conditions
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.Operators
And / Or groups
Rules live inside groups. Each group is either:- And — every rule in the group must be true
- Or — any one rule in the group is enough
Data Sources
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
Available slots
User bookings
User bookings
User credits
User credits
User purchases
User purchases
Form responses
Form responses
All Actions
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
Send an Email
Send an SMS Message
Send an SMS Message
Send an In-App Message
Send an In-App Message
Send an Announcement
Send an Announcement
Add a Tag to a User
Add a Tag to a User
Remove a Tag from a User
Remove a Tag from a User
Update Custom Field
Update Custom Field
Add Credits to a User
Add Credits to a User
Redeem Credits from a User
Redeem Credits from a User
Add a Product Purchase to a User
Add a Product Purchase to a User
Remove Product Purchase from a User
Remove Product Purchase from a User
Grant Program Access to a User
Grant Program Access to a User
Revoke Program Access from a User
Revoke Program Access from a User
Add Booking to User
Add Booking to User
Remove Booking from User
Remove Booking from User
Wait/Delay
Wait/Delay
Send to External Webhook
Send to External Webhook
Dynamic Fields
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.
{{ and }} exactly as shown.User Fields
Available in all automations, for the person the event happened to:Trigger Fields
Each trigger adds the fields of the thing that happened. Insert them with# to see the exact list for your trigger:
Form answers in messages
On a Form Submitted automation, each question on the selected form is a field option. Type# in any message field (email, SMS, in-app, announcement, or a webhook body) and choose the question; the builder inserts a token that fills in with that person’s answer when the automation runs. Layout-only blocks (headings, media, plain text) have no answer and are not offered.
Insert these with # rather than typing them: the token names the specific question on the specific form, so it is not a fixed string you can copy from one automation to another. If you change or delete a question on the form, re-insert the field in your messages.
Example, on a “Free evaluation request” form with a “Preferred position” question:
[Preferred position] by inserting the question with #; the coach who submitted “Goalkeeper” gets “at Goalkeeper”. Pair it with an Answer fields condition to branch, so a “Goalkeeper” answer sends one message and “Striker” another.
Booking Fields
Available in booking-related and Scheduled Check automations:Credit Fields
Available in automations that check credit status:Data Source Fields
Each data source you add contributes its outputs as field options. Insert them with#. The most useful ones:

