FlowRelay FlowRelay Docs Shopify Flow
All docs pages

START

USE CASES

SET UP

OPERATE

RECOVER

AGENT ACCESS

REFERENCE

Markdown

Event lifecycle

Plain Markdown for agents, CLIs, MCP clients, and readers who want a copyable text version.

# Event lifecycle

Canonical: https://docs.flowrelay.app/operate/event-lifecycle/
Markdown: https://docs.flowrelay.app/operate/event-lifecycle.md

Use lifecycle states to understand what FlowRelay has proved. Do not read them as a claim about downstream Shopify Flow actions.

## Lifecycle states
Use lifecycle states to understand the boundary FlowRelay has reached for a specific event.


- State: Accepted; What it proves: FlowRelay authenticated and durably stored the event before responding; Next safe action: Wait for processing to reach a terminal outcome before replaying or resending.
- State: Queued or processing; What it proves: FlowRelay is still working toward a terminal handoff result; Next safe action: Wait; do not replay or ask the sender to resend while processing is still active.
- State: Delivered; What it proves: FlowRelay handed the trigger to Shopify Flow; Next safe action: Inspect Shopify Flow separately if a branch or downstream action did not behave as expected.
- State: Waiting to retry; What it proves: FlowRelay is retrying the Shopify Flow handoff on its own schedule; Next safe action: Wait; no operator action is required yet.
- State: No workflow; What it proves: FlowRelay could not find a matching enabled Shopify Flow workflow; Next safe action: Enable the matching Shopify Flow trigger, then preview replay if the event is retained.
- State: Duplicate suppressed; What it proves: FlowRelay identified a repeated external event ID for the same endpoint inside the dedupe window; Next safe action: Open the linked first receipt and confirm whether the repeated send was expected.
- State: Manual review; What it proves: FlowRelay paused automatic recovery because Shopify Flow may already have received the handoff; Next safe action: Review diagnostics and the replay preview before approving any second handoff.
- State: Replayed; What it proves: A deliberate second attempt was made from retained event material; Next safe action: Inspect the linked replay attempt; the original receipt outcome is not rewritten.

## Manual review
Manual review means FlowRelay paused automatic recovery because Shopify Flow may already have received the handoff, so a duplicate Shopify Flow action could run. Use diagnostics and the replay preview before approving any second handoff.


## Retry and reconciliation
FlowRelay may reconcile accepted events that have not reached a terminal outcome. It does not expose merchant-configurable retry schedules or retry policy controls.


## Use the receipt for recovery
The receipt gives the support code, replay availability, diagnostics state, and safe next action for the event's current lifecycle state.


## Operating guidance
Apply the concept through the receipt before changing setup, resending, or replaying.
- Start with the receipt outcome: Accepted, Delivered, Failed, No workflow, Duplicate suppressed, or Rejected.
- Read the timeline to see whether FlowRelay stored the event, queued processing, evaluated duplicate suppression, attempted the Shopify Flow handoff, or recorded a terminal result.
- If the receipt says FlowRelay is waiting to retry, let FlowRelay make the next automatic handoff attempt instead of replaying or asking the sender to resend.
- Delivered means FlowRelay handed the trigger to Shopify Flow. It does not mean downstream Shopify Flow branches, app calls, fulfillment changes, emails, or later systems completed.
- Treat No workflow as a setup/readiness problem: enable the matching Shopify Flow trigger, then preview replay while retained.
- Treat Duplicate suppressed as a sender retry or repeated external event ID that FlowRelay blocked from a second automatic handoff.
- Treat Manual review as a side-effect caution: review diagnostics and the replay preview before approving a second handoff.
- Use the recovery code and safe next action before replaying, resending, or changing endpoint configuration.

## Handoff Boundary
Delivered means FlowRelay handed the trigger to Shopify Flow. It does not mean downstream Shopify Flow branches, app calls, fulfillment changes, emails, or later systems completed.

## Related
- [Read receipts](https://docs.flowrelay.app/operate/receipts.md)
- [Event history](https://docs.flowrelay.app/operate/event-history.md)
- [Support codes](https://docs.flowrelay.app/recover/error-codes.md)

## Safety Boundary
Do not share endpoint secrets, authentication headers, HMAC values, tokens, raw event bodies, customer records, Shopify sessions, store passwords, or database URLs in public examples.