Skip to main content
Everything in Retainful runs on events. This page catalogs where they come from and what they’re used for — useful when deciding what can trigger an automation or feed a segment.

Store events

Delivered automatically by your store connection (Shopify webhooks or the WooCommerce plugin):

Engagement events

Generated by Retainful’s own sending pipeline: These power engagement-based triggers (“email opened”, “email clicked”) and segment conditions (“hasn’t opened in 60 days”).

Retainful events

Custom events

Anything you send through the Events API — your event types appear alongside the built-ins in the automation builder, with their payload fields available to filters and personalization. There is no fixed list: any eventName you send is valid. The name is normalized and prefixed with your integration’s key to form the event type you’ll pick in the trigger list:
These custom commerce events are distinct from the store events above. If your store is connected via Shopify or WooCommerce, those events already arrive automatically — you don’t need to send them through the API as well. The REST API events are for storefronts and systems Retainful doesn’t integrate with directly.
An event type only appears in the trigger picker once the first event of that type has been received, or after you call POST /api/v1/events/register. See Register an event schema.

Event data lifecycle

  1. An event arrives (store webhook, engagement tracker, or your API call).
  2. It’s validated, deduplicated, and matched to a contact (creating one when appropriate).
  3. It’s recorded on the contact’s timeline.
  4. Matching automation triggers fire.
  5. Segments referencing the event re-evaluate.
Processing is near-real-time — an abandoned checkout can enter a recovery flow within seconds of the event arriving.