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.

Deterministic Code
EasyPostShopifySlack BotOperationsNotifications & Alerts
PromptCreate

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

Address check failed on Order #1042 Customer: Jamie Rivera Entered: 200 Maket St, San Francisco, CA 94105, US EasyPost suggests: 200 Market St, San Francisco, CA 94105-1000, US Reason: The address could not be verified as deliverable. Please review and correct before buying a label.

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.

FAQs

Will this slow down my checkout?
No. The check runs right after an order is placed, so shoppers never wait. It just flags problem addresses before you print a label.
What happens if the address is fine?
Nothing. Clean addresses pass through silently. Only orders that fail verification get a tag, a note, and a Slack alert.
Does it fix the address automatically?
No. It flags the order and shares the suggested correction so a person can confirm and update it. That avoids shipping to a wrongly guessed address.
Which countries does address verification cover?
EasyPost verifies US addresses in the most detail and supports international verification for many countries. The level of detail varies by country.
Do I need to be technical to set this up?
No. You connect your Shopify store, EasyPost, and Slack, choose the channel for alerts, and the workflow runs on its own.

Related templates

Chase past-due JobNimbus invoices with escalating emails

Every weekday, find every unpaid JobNimbus invoice, email each customer one reminder that gets firmer as it ages, and post a receivables summary to Slack.

JobNimbus
Gmail
Slack Bot
Agentic Task
Flag at-risk students in Canvas before they fall behind

Every weekday at 7am, your active courses are checked for missing work, silent logins, and slipping grades, with a ranked list sent to your advising channel.

Canvas
Google Sheets
Slack Bot
Agentic Task
Catch Jira service desk tickets before their SLA runs out

Every hour, find the tickets closest to breaching, leave a nudge on each one, and post a ranked at-risk list to your support channel.

Jira Service Management
Slack Bot
Agentic Task
Send Canvas students a kind nudge about missing work

Every weekday afternoon, each student who is behind gets a warm, personal message in their Canvas inbox listing exactly what they owe.

Canvas
Slack Bot
Agentic Task
Weekly Canvas grading backlog report in Slack and Sheets

Every Monday at 8am, see exactly which assignments have work waiting, sorted worst first, posted to Slack and logged to a spreadsheet.

Canvas
Slack Bot
Google Sheets
Deterministic Code
Revoke Bitwarden access when someone leaves in BambooHR

Every weekday morning we compare your password vault against your HR records and suspend access for anyone who has already left.

Bitwarden
BambooHR
Slack Bot
Agentic Task

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.