Send Automated email to an email segment in specific time by Shopify Flow app

Topic summary

Challenge: Sending automated emails via Shopify Flow to a customer segment exceeding 1,000 members, as the native “Get customer data” action has a 100-customer limit.

Proposed Solutions:

  • Manual batching: Divide the segment into groups of 100 customers and create separate workflows for each batch.

  • Automated batching with tagging: Use a scheduled workflow that processes customers in batches of 100, tagging each as “processed” after sending. The workflow re-triggers itself until all customers are handled. A third-party app (Flow Companion) is needed to support tag removal scheduling and workflow re-triggering, which native Flow doesn’t support.

  • Creative segmentation: Create a new segment with additional conditions (e.g., “no email received in last 7 days”) and trigger on “Customer joined segment” to automate weekly sends. This avoids batch processing but requires careful segment design.

  • Tag rotation strategy: Use temporary tags with scheduled removal (after 7 days) to prevent re-sending, though this requires managing tag timing to avoid conflicts between adding/removing tags.

  • Flow Companion unlimited approach: Use the “Start custom workflow for list of customers” action (no customer limit) to trigger individual workflows for each customer via custom triggers.

Status: Multiple viable workarounds discussed; choice depends on whether third-party apps are acceptable.

Summarized with AI on October 27. AI used: claude-sonnet-4-5-20250929.

Hi Everyone

I want to use shopify flow app to send automated emails to a segment of customers starting from a specific time. The segment has more than 1000 customer therefore get customer data does not work. Any idea how it can be done?

1 Like

Hi. You can divide your 1000+ customer segment into smaller groups of 100 customers each, then create separate Flow workflows for each sub-segment to send your automated emails at your desired time.

You can send emails to 1000+ customers in batches of 100 customers each. Here’s a schematic outline of how this would work:

  1. The workflow is triggered according to a schedule.

  2. The first batch of customers is selected using the filter “tag:required_segment and tag_not:sending_email_processed”.

  3. For each customer in the list:

    3.1. An email is sent

    3.2. The tag “sending_email_processed” is added

    3.3. If this is a recurring campaign, the “sending_email_processed” tag removal is scheduled a few hours later, once the campaign is finished.

  4. If the retrieved customer list is not empty, it means not all customers have been processed yet, so the same workflow is triggered again.

This means the workflow will keep running until all customers have been processed.

Unfortunately, Shopify Flow does not support steps 3.3 and 4 from this list, but you can achieve this using the Flow Companion app.

Let me know if you’re okay with using a third-party app, and I’ll outline the workflow for you step by step.

1 Like

Be more creative with your segments – create another segment with the same conditions and add, say, "and shopify_email.delivered MATCHES (date <= -7d) " – this will target those same customers who also has not received emails in the last 7 days.

Then trigger on “Customer joined segment” for this new segment.

This will become a weekly spam :slightly_smiling_face: routine.

Or follow the @Mivicle suggestion, just schedule your flow for every 10 minutes and delay tag removal for 7days – the flow will do 10 runs sending e-mails, then do nothing (since “get customer data” will return empty because the tag is still there) until tag is removed – for a week, then will do 10 runs again…

1 Like

@tim_1 , how you suggest removing the tags a week later? Also in batches of 100 customers every 10 minutes? In that case, you’ll have two workflows competing with each other — one adding the tag and the other removing it.

You can’t schedule the tag removal in the main workflow because the customer information is lost after the Wait action:

1 Like

Yes, you’re right!

Wait action requires Data Refresh, as they call it: https://help.shopify.com/en/manual/shopify-flow/reference/actions/wait#c (though the reason given is kinda stupid IMO). Frankly, did not know about this.

Still possible I believe, using a temp tag:

Why a 2-step process – it is needed to give time to safely remove original tag, but not yet start assigning it again.

Otherwise there is a risk of removing freshly-assigned tags, as you called it, “competing tasks”.

Of course, yours is a much nicer solution, using creative segmentation is a nicer solution too.

There is another way to run a workflow on a schedule for an unlimited number of customers.

In the Flow Companion app, there is an action called “Start custom workflow for list of customers”. This action has no limit on the number of selected customers. It takes a list of customers and starts a workflow for each customer in the list. This workflow begins with the “Customer: custom trigger triggered” trigger.

The workflow chain works like this:

  1. A workflow runs on a schedule and uses the “Start custom workflow for list of customers” action, with a customer filter in the Query field and a custom value in the Specifier field (for example, “send email”).

  1. Another workflow starts with the “Customer: custom trigger triggered” trigger. It checks if the Specifier matches the value from the first workflow, and if it does, it sends an email.