Workflow Events
Three places in a workflow take an event: the trigger, a Wait for event step, and the Exit event setting. All three accept the same events, picked from a searchable list or typed by name.
Where events come from
| Source | Examples | Listed under |
|---|---|---|
| Tracked events | purchase, begin_checkout, sign_up, login, or a custom event your site sends | Tracked events |
| Platform events | audience_member.created, purchase.created, entitlement.created | Platform events |
| Package events | fundraiseup.donation.received from the Fundraise Up package | The package's name |
Tracked events
Tracked events are the events your site records with the Allegro SDK, or that Allegro records on your behalf when a member signs in, checks out, or signs up. The list includes Allegro's standard event names plus any custom event name your organization has recorded recently. A developer can send a custom event for a workflow to use. See Event Tracking.
Platform events
Platform events describe changes inside Allegro, such as a member being created, a purchase being recorded, or an entitlement being granted. They are the same events webhooks deliver, under the same names, and carry the same data. They let you automate "when X happens, do Y" without writing code, for example adding every new member to a welcome segment.
| Event | Happens when |
|---|---|
audience_member.created / .updated / .deleted | A member is created, changed, or deleted. |
audience_member.property.joined | A member joins a property. |
audience_member.external_profile.* | An external profile is created, updated, or deleted. |
audience_member.foreign_key.* | A foreign key is created, updated, or deleted. |
audience_member.user_attribute.* | A user attribute value is created, updated, or deleted. |
entitlement.created / .updated / .deleted | An entitlement is granted, changed, or removed. |
purchase.created / .updated | A purchase is recorded or changes. |
interaction.* and template.* events aren't about a member, so they never
start or move a run. The trigger's event list leaves them out.
Package events
Enabled packages can add their own events. For example, the
Fundraise Up package adds
fundraiseup.donation.received, fundraiseup.donation.refunded, and
fundraiseup.recurring_plan.canceled.
Event names you type
You can use an event that isn't in the list yet, for example one your site will
start sending next week. Names can contain letters, numbers, _, and -, in
one or more parts separated by dots: purchase, newsletter-signup,
audience_member.created.
Events that can't be used
page_view, page_ping, and journey_activity fire on every page load, so
they can't be used as a trigger, a wait, or an exit event. They're left out of
the list, and the editor rejects them if typed.
An event also has to belong to a known member. An event from an anonymous visitor is ignored. An event without a member counts for whoever is signed in on the device that sent it.
System events
Some events don't come from a member doing something on your site. Allegro records them in bulk when it imports members, syncs with a CRM or integration, or backfills history, for example when a Fundraise Up backfill loads years of past donations. These are system events.
A workflow doesn't enroll members from system events unless you switch on Include imports and syncs in its settings. This keeps an import of 50,000 donors from sending 50,000 welcome emails.
System events still count everywhere else:
- They move a waiting run forward when they match a Wait for event step.
- They end a run when they match the workflow's Exit event.
So a purchase that arrives through a sync still stops an abandoned-checkout reminder.
Data on the event
Events carry data, such as a purchase amount or a donation's campaign. You can use it in two places:
- Conditions: test a field with the Event data attribute, plus the event's property, page path, and UTM parameters. See Conditions.
- Emails: insert a field with
{% event.<field> %}. See Event data in emails.
For tracked events, the data is what your site sent, plus the page path, host name, UTM parameters, and property slug when they're known.
Related Links
- Building a workflow
- Event Tracking for developers
- Webhook events reference