I’m using the shopify Payment Schedule flow, to be able to send customers payment reminders when their invoice is due - this is based off the template. I also want to then tag the customers to mark that they are on our stop list - I already have a flow setup for holding orders for stop list customers - however, the payment schedule flow cant access any order / customer data, which i find really weird.
It is correctly sending the customer a reminder for the relevant order, but when it tries to tag said customer it errors and says the field is empty.
Hi, @ab-hewits
The “Payment schedule is due” trigger doesn’t reliably expose the full customer object — that’s likely why tagging fails. If you check the docs, you’ll see this trigger only gives access to the Payment Schedule Graphql API object,
Instead, I recommend creating a separate flow using a different trigger like “Order paid” (or even “Order created” depending on your needs). That trigger gives access to the full order.customer.id, so you can tag reliably.
Best,
Owen
Hello @ab-hewits
The Payment Schedule flow in Shopify can’t access order or customer data, which is why tagging the customer fails.
Solution:
- Tag the order in the Payment Schedule flow (e.g.
payment_reminder_sent).
- Create a second flow triggered by that order tag.
- In the second flow, tag the customer (now the data is available).
This indirect method works around the data limitation.
Kindly reply for further details, Thanks A Bunch.
Hey @ab-hewits,
You’re right — the Payment Schedule Flow is limited in what data it exposes, especially when trying to access customer or order objects directly. This is because it’s built off the “Payment Schedule Due” trigger, which doesn’t include deep customer metadata by default.
Here’s what you can try:
- Workaround using Order ID: Instead of trying to tag the customer directly, use the Order ID (if available in the Flow trigger data) to look up the customer via an additional step using Shopify Flow’s Get Order Data (if that’s part of your plan or available via a connected app like Mechanic or custom API call).
- Custom App Proxy or Webhook Integration: If you’re comfortable with it, you can create a custom webhook or small app that listens to invoice due events, fetches full order data, and tags the customer as needed. I’ve done similar setups for clients dealing with subscription/credit systems.
- Alternative Trigger: You could build a second Flow that triggers on the order status or tag change, where you can access the customer directly — and use that as the moment to apply your “stop list” logic.
If you’d like help setting this up properly with a mix of Shopify Flow and lightweight automation tools, feel free to reach out. I’ve worked on similar setups and can help you save a lot of time and frustration.
— EXperttechy
(Shopify Automation & Marketing Expert)
Hi,
Its unfortunately not possible to create a flow based on an order being tagged, and there is not update to the order if it has not been paid, so this wouldnt work either.
I’ve attempted trying to get Get Order Data to work, to no avail. What would i use for the query?
If you don’t mind using third-party applications, Flow Companion allows you to trigger a workflow when an order tags change. The trigger passes information about the order and the tags that were added or removed into the workflow. To use the triggers, you need to enable them in the app settings.
Alternatively, you can start a custom workflow for the selected order:
And within that custom workflow, add a tag to the customer:
Hi @ab-hewits
You’ve run into one of the quirks of the Payment Schedule flow template — it doesn’t actually pass through order or customer objects the way the usual “Order created / Customer created” triggers do. That’s why when you try to add a tag, Flow sees the field as empty and errors out.
A couple of workarounds you might consider:
-
Use the order/customer ID from the payment reminder trigger
-
Check if the flow event payload includes a reference (like order_id or customer_id).
-
If it does, you can call an action to update the customer using that ID, rather than relying on the missing object data.
-
Chain flows together with a tag or metafield
-
Keep your current payment reminder flow as-is.
-
Add an intermediate step (for example, write a flag to an order metafield or tag the order).
-
Then trigger a second flow on “Order tagged” or “Order updated,” which has full access to customer data and can apply the stop-list tag properly.
-
Consider Mechanic or API call
- If you need it all in one place, an app like Mechanic (or a small API script) can grab the right customer from the invoice/order data and apply the tag without the Flow limitations.
So in short: the reminder template works for messaging, but because it’s a different event type, it doesn’t surface customer data to Flow. You’ll need either a chained-flow approach or an external helper to apply the stop-list tag.