How Supercycle triggers and actions fit together in Shopify Flow.
- 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.
Available triggers
Supercycle includes several triggers you can use to start an automation. Every trigger payload also includes acustomer reference (the Shopify customer) you can use in conditions and downstream actions.
Return created
Return created
Runs when a return is created inside Supercycle.
Return updated
Return updated
Runs when a return is updated inside Supercycle.Payload is identical to Return created.
Cycle created
Cycle created
Runs when a cycle is created inside Supercycle.
Cycle updated
Cycle updated
Runs when a cycle is updated inside Supercycle.Payload is identical to Cycle created.
Cycle canceled
Cycle canceled
Runs when a cycle is canceled inside Supercycle.Payload is identical to Cycle created.
Membership created
Membership created
Runs when a membership is created inside Supercycle.
Membership updated
Membership updated
Runs when a membership is updated inside Supercycle.Payload is identical to Membership created.
Membership canceled
Membership canceled
Runs when a membership is canceled inside Supercycle.Payload is identical to Membership created.
Contract status updated
Contract status updated
Runs when a contract’s status changes inside Supercycle (for example, when a customer signs an unsigned contract).
Identity verification status updated
Identity verification status updated
Runs when an identity verification’s status changes inside Supercycle, including when a verification is first uploaded.
Charge failed
Charge failed
Runs when a single charge payment attempt fails. Use this to react to individual payment failures (for example, on a damage charge).
Payment collection failed
Payment collection failed
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:Item
Item
Available on
rental.item (Cycle triggers) and on each entry in returnOrder.rentals[].item.Customer
Customer
Available as
customer on every trigger.Available actions
Supercycle provides the following actions for use in Shopify Flow workflows.Create charge
Create charge
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 subscription
Update subscription
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 membership
Update membership
Update the status of a membership.
Get cycle data
Get cycle data
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 cycles
Get cycles
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 cycle
Update cycle
Update properties of a cycle.
Only
rentalId is required. Provide any combination of the other fields to update.Update item
Update item
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).Create payment attempt
Create payment attempt
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 item
Re-allocate item
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.Related documentation
Create a workflow
Build a workflow from a Supercycle trigger, with worked examples.
Shopify Flow
Read Shopify’s guide to building and managing workflows.