Skip to main content

Shopify

Ideal for abandoned cart recovery and order tracking solutions.

Installation

  1. Deploy or enable the Shopify connector service (Qefro connectors monorepo / your fork).
  2. Configure credentials (below) and QEFRO_API_BASE_URL, QEFRO_TENANT_ID, API token.
  3. Point external webhooks at the connector public URL (not directly at FlowRunner).
  4. In Qefro, declare flows with trigger.event matching emitted names — Event-Driven Triggers.
  5. Sync SDK tools if the connector exposes Backend SDK handlers.

Authentication

Shopify Admin API access token / custom app; store domain.

Store secrets in the connector environment or secret manager — not in flow metadata.

Events

Event nameNotes
shopify.cart.abandonedEmit when source system notifies connector
shopify.order.createdEmit when source system notifies connector
shopify.order.fulfilledEmit when source system notifies connector
shopify.order.cancelledEmit when source system notifies connector

Envelope fields (idempotency, correlation, TTL): Event reference.

Tools

Typical tool surface: lookup order, cancel order, customer lookup.

Implement as Backend SDK tools or REST Business Tools. Keep PII minimization and least privilege scopes.

Webhooks

  1. Receive provider webhook → verify signature.
  2. Normalize payload → EventEmitter.emit({ name: 'shopify.…', payload, idempotencyKey }).
  3. Return 2xx quickly; let Qefro dispatch asynchronously.

Examples

Workflow checklist

Shopify go-live

  1. AuthLeast-privilege credentials in connector env.
  2. WebhooksVerify signatures; map to shopify.* events.
  3. FlowsEnable flows with matching trigger.event.
  4. Test emitIdempotent test event; watch Flow Runs.
  5. ObserveEvent list + tool logs + dead-letter retry.