# Event types and payloads

Canonical: https://docs.flowrelay.app/setup/event-types-and-payloads/
Markdown: https://docs.flowrelay.app/setup/event-types-and-payloads.md

FlowRelay for Shopify Flow supports a fixed set of trigger variants. Choose the one your workflow needs, then make sure the sender can provide the required JSON fields.

## Steps
Complete these in order.
1. Start with Generic when you only need a custom event to start a Shopify Flow workflow.
2. Choose Order, Customer, or Product when the workflow needs Shopify's native resource reference for that object.
3. Choose Inventory, Fulfillment, Return/refund, or Company/B2B when the workflow needs the related resource lane FlowRelay exposes for that trigger variant.
4. For native or related-resource variants, configure the JSON path where FlowRelay can find the required Shopify ID or GID.
5. Add up to five required payload paths only for fields the sender must always include.
6. Send a synthetic test event and confirm the receipt shows the expected mapping result before enabling production traffic.

## Supported variants
The Shopify Flow edition supports a fixed set of trigger variants. Choose the variant that matches what the workflow needs from the event.


- Variant: Generic; Use when: The workflow only needs a custom external event.; Payload requirement: Valid JSON and any required paths you configure.
- Variant: Order, Customer, or Product; Use when: The workflow needs a native Shopify resource reference.; Payload requirement: A configured JSON path to the relevant Shopify ID or GID.
- Variant: Inventory, Fulfillment, Return/refund, or Company/B2B; Use when: The workflow belongs in one of those exposed Shopify Flow lanes.; Payload requirement: A configured JSON path for the resource identifier FlowRelay resolves.

## Required paths
Use required paths only for fields the sender must always provide. Missing required values fail early with a stable FlowRelay error instead of becoming a vague downstream workflow issue.


## Success check
The test receipt shows the selected event type, mapped identifier when required, validation result, and whether the matching Shopify Flow trigger was ready.


## 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
- [Add the Shopify Flow trigger](https://docs.flowrelay.app/setup/shopify-flow-trigger.md)
- [Error codes](https://docs.flowrelay.app/recover/error-codes.md)
- [Read receipts](https://docs.flowrelay.app/operate/receipts.md)

## Safety Boundary
Do not include raw payloads, endpoint secrets, auth headers, HMAC values, Shopify tokens, Shopify sessions, database URLs, customer data, merchant incidents, or copied private logs in public examples.
