Catch bad Shopify addresses before you buy a label
When a new Shopify order arrives, we verify the shipping address and alert your fulfillment team about anything undeliverable before a label gets bought.
This is a deterministic code workflow that validates the shipping address on every new order before a label is bought. Trigger it with a Shopify webhook that fires whenever a new order is created (order created).
When a new order comes in, take the shipping address off the order: the recipient name, street lines, city, state or province, postal code, and country.
Send that address to EasyPost using Create and Verify Address, which creates the address object and runs delivery verification in a single request. Read the verification result it returns, including whether delivery verification succeeded, any verification errors, and the normalized address EasyPost produces.
Branch on the result. If the address verifies cleanly with no errors, stop and do nothing so clean orders pass through silently. If EasyPost flags the address as undeliverable or returns verification errors, continue with the two steps below.
First, use Shopify Update Order to add an "address-check-failed" tag to the order while keeping any existing tags, and append a short note saying EasyPost could not verify the shipping address so the team should review it before buying a label.
Second, post an alert to our fulfillment Slack channel using the Slack Bot Send a Message action. Include the order number, the customer name, the exact address the customer entered, and any suggested correction EasyPost returned (its normalized version of the address). Format it so a fulfillment teammate can spot the problem and fix the order quickly.
The goal is to catch bad addresses before a shipping label is bought, cutting failed deliveries and return fees. Only orders that fail verification should generate a tag, a note, and a Slack alert.
Example output
Additional information
What does this prompt do?
- Checks the shipping address on every new Shopify order the moment it comes in.
- Runs each address through a real deliverability check to catch typos, missing unit numbers, and locations that can't receive mail.
- Flags failed orders with an "address-check-failed" tag and a short note so your team knows to review before shipping.
- Posts an alert to your fulfillment Slack channel with the order number, customer name, the address they entered, and a suggested correction.
- Leaves clean orders untouched, so your team only sees the ones that need attention.
What do I need to use this?
- A Shopify store where you manage orders.
- An EasyPost account for address verification.
- A Slack workspace with a fulfillment channel where alerts should land.
How can I customize it?
- Change which Slack channel gets the alerts, or send them as a direct message instead.
- Rename the tag or reword the note added to flagged orders.
- Adjust what counts as a failure, for example alerting only on undeliverable results versus any verification warning.
Frequently asked questions
Will this slow down my checkout?
What happens if the address is fine?
Does it fix the address automatically?
Which countries does address verification cover?
Do I need to be technical to set this up?
Related templates
Stop shipping to addresses that don't exist.
Catch undeliverable Shopify orders before a label gets bought and save on failed deliveries and return fees.