A trigger is the event that starts an automation, for example a new member or a finished course. An action is what the automation then does, for example adding a tag or sending an email. This article lists all of them with their fields.
Where you find them
In the editor, the Library has two tabs: Triggers and Actions. The built-in blocks sit under MemberArea, grouped into Members, Payments, Courses, Community, Events, Affiliates and Utilities. Integrations follow under their own name. Search… looks through names and descriptions. Click a block or drag it onto the canvas, then click it to fill in its fields.

Member triggers
- New Member: a member account is created.
- New Contact: a contact is created, for example through a sign-up form. A contact is not a member yet, so member actions do nothing until you use Convert contact to member.
- Member field changed: a member field changes. Pick the field under
Member Field to react to that field only; left empty, every field
counts. The new value is available to the steps as
{{value}}. After a field was cleared, it is empty. - Member logged in: a member signs in, once per session.
- Tag applied and Tag removed: a tag is added to or removed from a member. Pick the tag under Tag to react to that tag only; left empty, every tag counts.
- Team member invited: an admin invites a new team member.
- Member inactive: runs once when a member has not signed in for a number of days. Enter the number under Days inactive, see "Narrowing a trigger" below. Members who are already inactive when you switch the automation on are skipped; it reacts to members who become inactive from then on.
Payment triggers
- New Customer: a paid order creates a new member account.
- New Order: a new order is paid.
- Checkout Completed: a buyer completes an online checkout, whichever payment provider handled it.
- Payment Processing: a deferred payment such as SEPA debit, Klarna or Sofort was authorised and the money is still on its way. The buyer already has access.
- Payment Failed: an order payment is declined, or money that was already booked as paid is reclaimed days later.
- Subscription renewed: a recurring subscription renews successfully.
- Payment refunded: an order is refunded, fully or in part.
- Subscription cancelled: a member cancels a subscription.
- Renewal due soon: runs a set number of days before a subscription renews. Enter the number under Days before renewal.
Course triggers
- Lesson completed: a member completes a lesson.
- Course completed: every required lesson of a course is completed.
- Course progress reached: runs once when a member's progress in a course crosses a percentage. Enter it under Percent threshold, for example 50. Without it, the trigger runs at every step of progress.
- Exam passed and Exam failed: a member passes or fails an exam.
All five can be narrowed to one course with Course. A lesson or an exam can sit in a module that several courses share. The automation still starts once per completed lesson or exam result, and Course matches when any of these courses is the one you picked.
Community triggers
- Community: Post created: a member creates a post, discussion or poll. Forum narrows it to one forum.
- Community: Member levelled up: a member reaches a higher level.
- Community: Report opened: content is reported by a member or by the system.
- Badge earned: a member earns a community badge. Badge narrows it to one badge.
Event triggers
- Event registration: a member registers for an event.
- Event attended: a member is marked as attended, for example at check-in.
- Event starting soon: runs a set time before an event starts, once for each member who registered. Enter the hours under Hours before start, for example 24.
Event narrows the first two to one event.
Affiliate trigger
Affiliate commission approved runs when a commission is approved and locked for payout. It only fires when you run a partner program.
Schedule and webhook
On a schedule
On a schedule (cron) starts the automation at fixed times. It has two fields:
- Cron expression (required): five parts for minute, hour, day of month,
month and weekday.
0 9 * * *means every day at 09:00,0 9 * * 1every Monday at 09:00. - Timezone: the timezone the times refer to, for example
Europe/Berlin. It isUTCwhen you leave it empty.
The schedule is checked every minute. The first run happens at the next matching time after you switch the automation on. A scheduled run has no member, so use it for steps that do not need one, such as an external request or an integration that posts to your team.
Incoming webhook
Incoming webhook starts the automation when another system sends a request to it, for example your website, a form tool or Zapier.
- Add the trigger and save the automation. Until then the panel shows "Save the automation to generate the webhook URL and secret." An automation made from a template, a duplicate or a copy for another business has its own address and secret right away.
- Click the trigger. The panel shows the Webhook URL with Copy URL and the Secret with Copy secret.
- In the other system, send a
POSTrequest to the URL. Put the secret into the headerX-Automation-Secret. Send the data as JSON.
Each top-level field of the body is available to the steps as {{field}}.
If the body contains member_email with the address of one of your members,
the run belongs to that member, and member actions and placeholders work.
The automation has to be switched on and published. Otherwise the call is refused, as it is with a wrong or missing secret. Each automation accepts up to 120 calls per minute. Further calls are turned away until the minute is over.
By default the caller gets {"ok": true, "triggers_fired": 1} straight away,
and the steps run in the background. If a Respond to webhook step follows
this trigger in the flow, the caller waits and receives the status and the
body you set in that step. Place it before any delay, otherwise the caller
gets the default reply. A Respond to webhook step on a path that this
trigger never reaches changes nothing.
Conditions, branches and delays
Rotate secret creates a new secret after you confirm. The old one stops working immediately, so update every system that uses it.
Narrowing a trigger
Many triggers have fields that narrow them to one item or set a time. They sit in the trigger's settings right below Trigger type, before Conditions.
- Course, Event, Forum and Badge are lists with the names of your items. The first option, such as Any course or Any event, removes the filter again, and the trigger reacts to every item.
- Fields without a list, such as Product, Lesson or Calendar, take the ID of the item. To see which IDs a trigger sends, open a past run in Run history and look at the Input of the trigger.
Three triggers need a number and never start without it:
| Trigger | Field | Example |
|---|---|---|
| Member inactive | Days inactive | 14 |
| Renewal due soon | Days before renewal | 7 |
| Event starting soon | Hours before start | 24 |
Enter a whole number of 1 or more. While the field is empty or below 1, the editor marks the trigger with a warning such as "Days inactive must be 1 or more." and lists it among the issues when you switch the automation on.

Triggers without such fields, for example New Member or the triggers of an integration, show Filters instead. Each row is a key and a value, and the trigger only starts the automation when the event carries exactly that value under that key. Use Add row for more rows; all rows must match.
Conditions on the member
Conditions checks the member before the automation starts. Each row is
the name of a field of the member account and a value, for example
language and de. The trigger only starts the automation when the member
has exactly these values in every row.
To check more, such as a tag the member has or a custom field, add a Condition or Filter step after the trigger.
Conditions, branches and delays
Member actions
Member actions work on the member of the run.
- Add Tag and Remove Tag: Tag picks the tag.
- Add to group and Remove from group: Group picks the group.
- Grant course access and Revoke course access: Course picks the course. A course that is not published is not granted; the run notes that nothing changed.
- Set Member Field: Member Field and Value. The value is saved as you type it.
- Clear Member Field: Member Field is emptied for the member.
- Convert contact to member: creates a member account from a contact and carries over its fields. Send welcome email is on by default.
- Deactivate Member: deactivates the member's account on your platform.
- Send Email: one email to the member, without an unsubscribe link. For marketing emails, use an email sequence. Subject and Body are required. Recipient stays empty to write to the member, or takes the email address of another member of your platform.
- Send SMS: sends a text through Twilio. Message is required. Fill in your
Twilio Account SID, Twilio Auth Token and From number; without all three,
no SMS goes out. In To number, enter a number or
[|Phone|]for the member's phone number. If you connected Twilio as an integration, its own Send SMS action uses that connection instead.
Community actions
- Create community post: publishes a post in the chosen Forum in the name of the member. Forum lists the forums of your platform by name and needs the community to be switched on. Post title is optional, Post body is required.
- Award badge: gives the member the chosen Badge.
- Award points: gives the member Points, which count toward levels. Reason is optional and appears in the points history.
Make External Request
Make External Request sends an HTTP request to a server of your choice, for example to pass a new member on to your own system. Click Add your request to open Edit Request:
- Request Type:
GET,POST,PUTorDELETE. - Request URL: an
httpsaddress. The field offers member fields to insert as placeholders. - Headers: Add Request Header adds a Key and a Value.
- Body: the Request Body as JSON, with a Preview next to it.
- Response: the answer of your last test.
Test Request sends the request right away with the member you chose under Member for testing. The Response tab then shows Response Headers, Response Body, Request Headers and Request Body. Only public addresses are allowed, and the request does not follow redirects. Save keeps the request.
In a run the request is sent as JSON with a time limit of 15 seconds. If your server answers with an error, does not answer in time or redirects, the step fails and so does the run. The error shows the status and the start of the answer, for example "The request returned HTTP 503: Service Unavailable". Test the request before you switch the automation on.
Placeholders
Member placeholders
Text fields of actions, such as the subject and body of an email, the SMS message, the post, the points reason and the external request, replace these placeholders with the member's data:
[|First Name|]or: first name[|Last Name|]or: last name[|Email|]or: email address[|Phone|]or{settings.phone}: phone number from the profile[|Language|]or: language[|Member Id|]or: member ID[|Image|]or: profile image[|Registered at|]or: date and time of registration[|Last Login|]or: date and time of the last sign-in[|Full Member Data|]: all member data as JSON
A member field appears as [|cf_…|] or {cf_…} with the field's ID; the
external request inserts it for you. When a run has no member, the first name, last name,
email and phone come from the fields first_name, last_name, email and
phone of the trigger data, if it has them.
Data placeholders
The steps Set fields, Condition, Filter, Compare, Loop, Wait until date and Respond to webhook read the data of the run:
{{key}}takes a value from the trigger data or from an earlier step, for example{{amount}}of an order or a field your webhook sent.{{member.first_name}}and other{{member.…}}placeholders read the member of the run.{{member.tags}}and{{member.groups}}return the member's tags and groups.{{member.cf_…}}with the ID of a custom field reads the member's value of that field as it is stored. The ID is the one in the placeholder{cf_…}above.
Action fields do not read {{key}}. To use webhook data in an email, link the
run to a member with member_email and use the member placeholders.
Triggers and actions from integrations
When you connect a service, its triggers and actions appear in the library under the service's name. Until it is connected, they stay greyed out with Connect; clicking one opens the connect dialog, and Add Integration at the bottom of the library connects further services. An automation with a service that is not connected cannot be switched on. Integration in the action picks the connected account to use.

Triggers come from Stripe, GoHighLevel, Calendly, Digistore24, Shopify, Hotmart, CopeCart and WooCommerce, for example for purchases, refunds, cancellations or bookings.
Actions are available for:
- Automation tools: Webhooks, Zapier, Make, n8n and Pabbly.
- Email and CRM: ActiveCampaign, Brevo, Customer.io, Drip, Flodesk, GetResponse, GoHighLevel, HubSpot, Intercom, Kit, Klaviyo, KlickTipp, Mailchimp, ManyChat, Pipedrive and Quentn.
- Messages: Discord, Slack, Twilio and WhatsApp.
- Shop and accounting: Shopify, lexoffice and sevDesk.
- Work tools: Airtable, Asana, ClickUp, Coda, Google Sheets, monday.com, Notion, Trello and Zoom.
Starting automations through the API
With an API key, your own software can list your automations, start one with its own data and read its runs.