Trigger reference: every automation trigger
The six trigger types, the exact events each one exposes, and which to choose.
Every workflow has exactly one trigger. There are six types.
| Trigger | Fires on |
|---|---|
| Model Event | Something changing inside FeedbackRobot |
| Webhook | An HTTP request to a URL we give you |
| API | A call from your own system or CRM |
| Shopify | A Shopify store event |
| Stripe | A Stripe payment event |
| Cin7 | A Cin7 Core event |
Model Event
The one you’ll use most. Fires when something changes inside FeedbackRobot.
You choose a model and an event.
Models:
| Model | What it is |
|---|---|
| Review | Review monitoring events from connected platforms |
| Response | Customer feedback responses to your surveys |
| Customer | Customer records |
Events: created, updated, destroyed, received, sent
Which events apply depends on the model — the builder only offers the ones that model supports.
Common combinations:
- Review + created — a new review arrived. The backbone of every review-response and negative-review-alert workflow.
- Response + received — someone completed a survey.
- Customer + created — a new customer record exists, whether typed in, imported, or synced from a connected system.
- Survey + sent — use to schedule a follow-up relative to a send.
Model Event triggers accept conditions so you can filter before anything runs — a Review + created trigger that only continues for reviews below 3 stars, for example. → Conditions
Webhook
Gives you a webhook URL and a token. Anything that can make an HTTP request can fire this workflow.
Use it for systems we don’t integrate with directly — a booking platform, a POS, an internal tool, or an automation service like Zapier or Make sitting in between.
Whatever JSON you post becomes available to every step downstream, so you can send a customer’s details and reference them in the email the workflow sends.
Treat the URL and token as credentials — anyone holding them can trigger the workflow. → Security and acceptable use
API
For calls from your own application or CRM.
Use it for anything driven by your own business logic: a ticket closing, a project completing, a contract renewing.
Requires API access — see using the API.
Shopify
Fires on events from a connected Shopify store.
Available topics:
- Customers create — a new customer record in your store
- Scheduled — a recurring schedule against your store data
Use it for post-purchase feedback. Pair with a Wait step so the survey lands after delivery rather than after checkout — a survey that arrives before the parcel does is the most common e-commerce mistake.
Stripe
Fires on Stripe payment events. Setting one up gives you a Stripe webhook URL to configure on the Stripe side.
Available events:
| Event | Fires when |
|---|---|
charge.succeeded |
A charge goes through |
checkout.session.completed |
A checkout completes |
customer.created |
A new Stripe customer exists |
customer.subscription.created |
Someone subscribes |
customer.subscription.deleted |
A subscription cancels |
invoice.paid |
An invoice is paid |
The valuable one is customer.subscription.deleted — a churn survey sent at cancellation, while the reason is fresh, is the single best source of churn insight most businesses never collect.
Don’t survey on a failed payment or a refund. It reads as tone-deaf.
Cin7
Fires on Cin7 Core webhook events — for example a sale or an authorised invoice.
Use it for post-fulfilment feedback in inventory-driven businesses.
Choosing a trigger
Prefer the trigger that carries the most data, because everything downstream can use it.
A post-purchase survey triggered from Shopify knows what they bought. The same survey on a generic schedule knows nothing, so the email can’t reference anything specific — and specificity is most of what drives a response.
One trigger, several workflows
A single trigger can drive more than one workflow. Convenient, and worth remembering when you’re wondering why two things happened from one event. → Troubleshooting
Was this article helpful?
Thanks — that helps us fix the gaps.
Still stuck? Talk to us — or open the chat in the corner.