Skip to main content
Supercycle adds triggers and actions to Shopify Flow, so an event in Supercycle can start a workflow and a workflow can change a cycle, item, membership, or charge. A trigger starts the workflow, conditions decide what happens, and an action does the work.

How Supercycle triggers and actions fit together in Shopify Flow.

What merchants build with it:
  • Pause a subscription when the customer starts a return.
  • Create a charge for a late fee, a damage fee, or a conversion to purchase.
  • Notify the team when a return is approved or received.
  • Re-allocate an item when a cycle has an item conflict.
  • Update an item’s condition, processing status, visibility, serial, or pick location when a cycle completes.
  • Retry payment collection after a failed subscription payment.
To build your first one, see Create a workflow.

Available triggers

Supercycle includes several triggers you can use to start an automation. Every trigger payload also includes a customer reference (the Shopify customer) you can use in conditions and downstream actions.
Runs when a return is created inside Supercycle.
Runs when a return is updated inside Supercycle.Payload is identical to Return created.
Runs when a cycle is created inside Supercycle.
Runs when a cycle is updated inside Supercycle.Payload is identical to Cycle created.
Runs when a cycle is canceled inside Supercycle.Payload is identical to Cycle created.
Runs when a membership is created inside Supercycle.
Runs when a membership is updated inside Supercycle.Payload is identical to Membership created.
Runs when a membership is canceled inside Supercycle.Payload is identical to Membership created.
Runs when a contract’s status changes inside Supercycle (for example, when a customer signs an unsigned contract).
Runs when an identity verification’s status changes inside Supercycle, including when a verification is first uploaded.
Runs when a single charge payment attempt fails. Use this to react to individual payment failures (for example, on a damage charge).
Runs when a payment collection process completes without successfully capturing payment. Use this for dunning-style automations that react to repeated failures over time.

Shared sub-objects

Several triggers expose nested objects you can drill into:
Available on rental.item (Cycle triggers) and on each entry in returnOrder.rentals[].item.
Available as customer on every trigger.

Available actions

Supercycle provides the following actions for use in Shopify Flow workflows.
Create a charge for a chargeable object in Supercycle, such as a cycle or membership.Returns a Charge object you can reference in subsequent steps.Flow charges are always custom lines. To bill against a named charge type, create the charge from the cycle instead.
Update a subscription’s status, recurring price, or billing start date.Only subscriptionId is required. Provide any combination of the other fields to update.
Update the status of a membership.
Get data about a cycle in Supercycle. Use this to retrieve cycle information for use in conditional logic.Returns a Rental object with all cycle properties (see the Cycle created trigger for the full list).To check whether a cycle has a subscription before acting on it, add Get cycle data with Cycle ID set to {{rental.id}}. Later steps can then read:
  • {{getRental.subscriptionId}}, the subscription ID if there is one
  • {{getRental.orderId}}, the Shopify order ID
  • {{getRental.fulfilledAt}}, the fulfillment date
  • {{getRental.receivedAt}}, the received date
Condition
Get the cycles on a Shopify order. Use this when a workflow starts from an order and needs each cycle on it.Returns a Cycles object. Each entry in cycles is a Rental with the same properties as Get cycle data (see the Cycle created trigger for the full list).Add Get cycles with Order ID set to {{order.id}}. Then add a For each loop over getCycles.cycles. Inside the loop, later steps can read:
  • {{cycles.foreachitem.id}}, the cycle ID
  • {{cycles.foreachitem.subscriptionId}}, the subscription ID if there is one
  • {{cycles.foreachitem.fulfillmentStatus}}, the fulfillment status
  • {{cycles.foreachitem.receivalStatus}}, the receival status
Condition
Supercycle adds an order’s cycles after it saves the order. Get cycles returns an empty list until then, and an order with no cycles stays empty.
Update properties of a cycle.Only rentalId is required. Provide any combination of the other fields to update.
Update an item’s condition, processing status, visibility, serial number, or pick location.Only itemId is required. Provide any combination of the other fields to update, and blank optional fields are ignored.Returns an Item object you can reference in subsequent steps (see the Item sub-object for the full list).
Add tags to a cycle.
Trigger a payment attempt on a charge’s payment collector. This mirrors the Retry billing button on the charge detail page and is a natural companion to the Payment collection failed trigger. Use it to retry collection after a delay, or once another system tells you the customer has updated their payment method.Returns a Payment object you can reference in subsequent steps:The action fails (and the workflow step errors) if:
  • The charge cannot be found (404).
  • The charge has no payment collector (400), for example a one-off charge that was never tied to a subscription billing flow.
  • The charge is canceled or already paid in full (400).
Re-allocate an available item to a cycle. Useful when the currently allocated item has a conflict (rental.conflictLevel of item or variant) and you want Supercycle to pick a fresh available item automatically.Returns the updated Rental. Pair this with the Cycle updated trigger and a condition on rental.conflictLevel to automatically resolve item conflicts as soon as they appear.

Create a workflow

Build a workflow from a Supercycle trigger, with worked examples.

Shopify Flow

Read Shopify’s guide to building and managing workflows.