Skip to content

Integrations

Shopify local delivery: connect your store's orders to Porch Routes

A Shopify order becomes a Porch Routes delivery the moment it's placed, changed or cancelled — no app install, just a private webhook link pasted into Shopify's own webhook settings. Porch Routes reads the shipping address, items and a delivery-date app's attributes, plans the order onto a route, and can write what happened back to the order as a tag and a note.

Last updated By Porch Routes

How a Shopify order becomes a delivery

Porch Routes reads a Shopify store's own order webhooks — no app install, no polling. Placing an order (orders/create), changing one (orders/updated) and cancelling one (orders/cancelled) each reach Porch Routes within moments, over a private link you paste into Shopify's webhook settings. Every request is checked against a signing secret before anything happens to it — Shopify's own X-Shopify-Hmac-Sha256 header, verified against the exact bytes of the request — so nothing unsigned is ever accepted.

An order becomes a delivery when it has a shipping address and at least one line item that needs shipping. A pickup order, a digital order, or a checkout where the customer chose pickup or store shipping — read from the Checkout-Method attribute a delivery-date app like Zapiet writes — is left out, with the reason shown on the connector. You can narrow it further to orders carrying a specific tag, or a shipping method whose name contains text you choose, so a store selling both local delivery and nationwide shipping only imports the local orders.

What Porch Routes reads from the order

The connector maps a Shopify order onto a delivery field by field, without asking you to re-enter anything:

What Porch Routes reads from a Shopify order
Delivery detailWhere it comes from in Shopify
CustomerThe shipping name, else the company name, else the customer's or billing name
AddressThe shipping address, with Shopify's own latitude and longitude when the order carries them, so nothing needs geocoding
ItemsLine items that need shipping, with the quantity after any edits, and each item's weight converted from grams
InstructionsThe order note
Delivery date & windowThe order attribute you name in the connector's settings — Delivery-Date and Delivery-Time by default, matching the Zapiet Pickup + Delivery app
TemperatureOne setting on the connector — every order from this store is planned on a vehicle that can carry it

Connect your store

Setup happens once, in about five minutes, split between the two systems:

  1. Add a store connector

    In Porch Routes, go to Integrations → Store connectors and choose “Connect a store”. Pick Shopify, give it a name you'll recognize, and choose “Connect store” — Porch Routes creates a private webhook link for it.

  2. Add three webhooks in Shopify

    In Shopify admin, go to Settings → Notifications → Webhooks and choose “Create webhook” three times, once each for Order creation, Order update and Order cancellation. Set Format to JSON and paste in the link from step one.

  3. Paste the signing secret

    Shopify shows the key your webhooks are signed with above the webhook list. Copy it, paste it into the connector's Signing secret field, and choose “Save secret” — nothing is imported until this is saved, and every webhook is checked against it.

  4. Tell Porch Routes what to expect

    Optionally limit the connector to orders with a tag or a shipping-method name, set the order attribute your delivery-date app writes, and choose what temperature these orders need.

  5. Turn on write-back, if you want it

    Create a custom app in Shopify admin (Settings → Apps and sales channels → Develop apps) with the write_orders and write_fulfillments scopes, install it, and paste its Admin API access token into the connector with your store's myshopify.com address. Switch “Write outcomes to the store” on.

Planning and running the route

Once an order arrives, it waits with every other open order for its delivery date, ready to be built into a route the same way as an order added by hand, imported from a spreadsheet or sent through the API — the same solver, the same vehicle and temperature rules, the same driver app and customer texts. Updates keep the office's work: a later store update only applies what actually changed in Shopify, so a day the office re-planned or a pin it corrected survives, and a delivered, failed or cancelled order is never changed by a later store update.

A missing or unreadable delivery date doesn't stall the order — it's planned for the next open day in its zone, or the soonest open day in any zone, or tomorrow, whichever applies, and noted on the connector so the office can move it. Set the connector to skip those orders instead if you'd rather hold them back.

What gets written back to Shopify

Turn write-back on and Porch Routes updates the Shopify order once a delivery's outcome is released — the same moment the business's undo window closes and the customer's own notice goes out, checked about once a minute:

  • Tag — porch-route-delivered or porch-route-delivery-failed, added the moment the outcome is released; the opposite tag is removed, so a redelivery reads right.
  • Note line — one line appended to the order's notes: when it was delivered or attempted, who delivered it, and any driver note or failure reason.
  • Fulfillment event — optional. Turn on “Also post fulfillment events” and each of the order's fulfillments also gets a delivered or failure event, visible on the customer's own order status page in Shopify.

Tag and note work on every order; a fulfillment event only exists once the store has fulfilled the order. Only outcomes released in the last seven days are ever written, a refused access token pauses the connector for an hour with the reason shown in Integrations, and Shopify rate limits are respected rather than fought.

A Porch Routes connector, not a Shopify app

There's no Porch Routes listing in the Shopify App Store to install. You connect the store from Porch Routes's side — Integrations → Store connectors — and, if you want status written back, create your own private custom app inside your Shopify admin to generate the access token. Nothing about your theme, checkout or other apps changes.

Questions

Does this need a Shopify app from the App Store?

No. It's a private connector you set up from Porch Routes — Integrations → Store connectors — using a webhook link and a signing secret Shopify already provides. Writing status back to Shopify uses a custom app you create yourself in your own Shopify admin, not a listed app.

Which Shopify orders become deliveries?

Orders with a shipping address and at least one item that needs shipping. You can further limit the connector to orders with a specific tag or a shipping method whose name contains text you choose, so nationwide-shipping orders never arrive as deliveries.

Where does the delivery date come from?

An order attribute you name in the connector's settings — Delivery-Date and Delivery-Time by default, matching the Zapiet Pickup + Delivery app. If your delivery-date app names its attributes differently, type those names instead; the connector reads dates and time windows written in most common formats.

Does Porch Routes update the order in Shopify once it's delivered?

Only if you turn write-back on. It's optional, needs its own Admin API access token from a custom app you create in Shopify, and adds a tag and a note line to every order, plus a fulfillment event if you choose to post one.

What if an order has no shipping address?

It's left out — a pickup or digital order isn't a delivery, and Porch Routes never invents an address. The reason shows on the connector's recent webhooks so you can see what was skipped and why.

Shopify is a trademark of Shopify Inc. Porch Routes isn't affiliated with or endorsed by Shopify.

Plan your next delivery day in a few minutes.

Add your vehicles and a day of orders — by hand, from a CSV or over the API — and build your first routes.

Free up to 150 orders a month · No credit card