How it works

Follow these 8 simple steps to start syncing new customer addresses to Recharge automatically

schedule icon

Schedule: Runs daily

App connector: Schedule • Time to complete: 1 minute
Why this matters: This trigger runs address synchronization on a consistent daily schedule at 8 AM, ensuring new subscription customers who signed up in the past day have accurate shipping addresses before their first subscription order processes.

This scheduled trigger runs once per day at 8 AM. The morning timing provides coverage of the previous day's new customers and processes them before subscription charges typically run later in the day.

Customization: You can adjust the schedule to run at different times or more frequently (like "@hourly" for immediate sync) if new customer address synchronization needs to be more real-time.

Get List of Customers within the past 24 hours

App connector: Loop • Time to complete: 0 minutes (Auto-configured)
Why this matters: Retrieves only recently created customers, creating an efficient sync process that focuses on new signups rather than processing your entire customer database daily.

This step fetches Shopify customers using time-based filtering. The query includes updated_at_min set to 24 hours ago (calculated using date math that subtracts 1 day from current time) and limit of 250 customers. This returns customers created in the past day who may have started subscriptions requiring address synchronization. The 250 limit is Shopify's maximum per request—if you have more than 250 new customers daily, you'd need pagination logic.

Why updated_at_min not created_at_min: The query uses updated_at_min because newly created customers have their updated_at timestamp set to creation time, so this effectively captures new customers while also catching any immediate updates they make.

Filter: Checks if customers have been found

App connector: Filter • Time to complete: 0 minutes (Auto-configured)
Why this matters: Prevents unnecessary processing when no new customers were created, conserving workflow execution credits and avoiding errors from empty data arrays in subsequent steps.

This filter checks if the customer array is not empty. If true (customers exist), the workflow proceeds. If false (no new customers), the workflow stops here. This is especially useful for days with no new signups where running the full workflow would be wasteful.

Loop over each customer

App connector: Loop • Time to complete: 0 minutes (Auto-configured)
Why this matters: Processes each new customer individually through Recharge lookup and address comparison, enabling per-customer address synchronization rather than batch operations that might fail partially.

This loop iterates through each customer in the array from step 2. For every customer, the loop executes the subsequent Recharge lookup, address retrieval, comparison, and update steps. This per-customer processing ensures one customer's sync failure doesn't prevent other customers from updating.

List Customers

App connector: Recharge • Time to complete: 0 minutes (Auto-configured)
Why this matters: Searches Recharge for the customer account using Shopify customer ID, establishing the connection needed to retrieve and update their subscription shipping address.

This step queries Recharge's customer database using the Shopify customer ID as the external_customer_id parameter. It returns matching Recharge customer records with the Recharge customer ID needed for address retrieval. The first result (index 0) contains the customer's Recharge data.

New customer timing: For this workflow to find customers in Recharge, they must have already created a subscription. If a customer signs up in Shopify but hasn't subscribed yet, the Recharge lookup returns empty and the workflow skips them (which is correct behavior).

List Addresses

App connector: Recharge • Time to complete: 0 minutes (Auto-configured)
Why this matters: Retrieves the customer's current address information stored in Recharge, providing the baseline data needed for comparison with Shopify's current address to detect any discrepancies from signup.

This step queries Recharge for addresses belonging to the Recharge customer ID. It returns address records including address1, address2, city, province, zip, country_code, phone, and name fields. The first address (index 0) is used for comparison—this is typically the customer's primary subscription shipping address set during subscription creation.

New subscriber context: When customers create subscriptions, Recharge copies their Shopify address. However, timing issues or manual Recharge entry can create discrepancies this workflow corrects.

Filter: Compare recent Shopify info to Recharge info

App connector: Filter • Time to complete: 0 minutes (Auto-configured)
Why this matters: Detects actual address differences between Shopify and Recharge, ensuring updates only occur when changes exist rather than updating every new customer record unnecessarily.

This filter implements comprehensive address comparison using OR logic. The workflow proceeds if ANY of these fields differ between Recharge and Shopify:

  1. address1: Primary address line (street address, P.O. box)
  2. address2: Secondary address line (apartment, suite, unit)
  3. city: City name
  4. province: State/province
  5. zip: Postal code
  6. country_code: Country code (like US, CA, GB)

OR logic reasoning: If even one field differs, the address needs updating. The OR operator ensures any discrepancy triggers synchronization, catching cases where Recharge didn't capture complete Shopify address data during subscription creation.

recharge logo icon

Update Address

App connector: Recharge • Time to complete: 0 minutes (Auto-configured)
Why this matters: Synchronizes the Recharge address with current Shopify data, ensuring the new subscriber's first subscription order ships to their correct address and preventing costly shipping errors or poor first-impression experiences.

This step updates the Recharge address using the Recharge address ID. The update includes:

  1. address1: Primary address line from Shopify default address
  2. address2: Secondary address line from Shopify default address
  3. city: City from Shopify default address
  4. country: Country code from Shopify default address
  5. customer_id: Recharge customer ID (maintains proper account association)
  6. first_name: Customer's first name
  7. last_name: Customer's last name
  8. phone: Customer's phone from default address (or "No phone number provided" if missing)
  9. zip: Postal code from Shopify default address
  10. province: State/province from Shopify default address

Phone number handling: The workflow includes conditional logic that provides a fallback message if no phone number exists, preventing Recharge API errors from missing required phone fields.

The update ensures new subscribers have complete, accurate address information in Recharge from the start.

Make it your own

Customize this workflow even further:

Add welcome email with address confirmation
Insert email steps after the address update that send new subscribers a welcome message asking them to confirm their shipping address, catching any errors before the first shipment.
Filter by subscription product
Add filters that check which products customers subscribed to and vary address handling (like requiring manual verification for international shipments), creating product-specific address workflows.
Log new subscriber sync activity
Add a Google Sheets or database step that records each new subscriber's address sync with timestamp, customer name, and whether updates were needed for onboarding analytics.
Send team notifications for address mismatches
Add Slack or email steps when addresses differ significantly (like different countries or states) to alert your team to potential signup errors requiring manual review.

Frequently asked questions

Why use updated_at_min instead of created_at_min?
Shopify's API doesn't have a created_at_min filter for customers, but updated_at is set to creation time for new customers, so filtering by updated_at_min effectively captures new customers while also catching any immediate profile updates they make.
What if a customer creates an account but doesn't subscribe immediately?
The Recharge customer lookup (step 5) will return empty results since the customer has no subscription yet. The workflow gracefully skips these customers, which is correct—only customers who actually subscribe need address synchronization.
Can I run this immediately after customer creation instead of daily?
You could change the trigger to "Customer Created" for real-time processing, but you'd need to add a delay step to ensure Recharge has time to create the subscription account (typically takes seconds to minutes after checkout completes).
What is a template?
Templates are pre-made workflows by our team of experts. Instead of building a workflow from scratch, these have all the steps needed to complete the task.
Can I personalize a template?
Yes! Every step can be customized to meet your exact requirements. Additionally, you can even add more steps and make it more sophisticated.
Are templates free?
Yes! Our entire library containing hundreds of templates are free to use and customize to your exact needs.

Ready to start syncing new customer addresses to Recharge automatically?

Join thousands who've automated their work and saved an average of 3.5 hours every week.

Start with this template — It's free
7-day free trial • 8 min setup • Cancel anytime