Integrations / Shopify
Shopify AI voice agents that answer where's my order
The caller gives an order number and email, and the agent reads back fulfillment status and tracking from Shopify's Admin API through your service.
Order status agent
Answers where's my order calls.
Instructions
Ask for the order number and the email used at checkout, and spell the email back. Look up the order and say its status in plain words. If it has shipped, give the carrier and tracking number. If the lookup finds nothing, ask once more, then offer a transfer to support.
- Handoff
- Support team
Connected tools
- Look up orderWebhook
- Transfer to supportTransfer
What a Shopify AI voice agent can do
Open one to watch a call. The grey lines are the tools the agent calls mid-sentence.
The agent says whether the order is unfulfilled, partly shipped or fulfilled, from the status merchants see in the admin.
For shipped orders it reads out the carrier and tracking number that your service returns from the fulfillment.
Your service returns the order only when the caller's email matches the one on it, so an order number alone reveals nothing.
Tool definitions
Webhook tools go to POST /v1/agents/tools. Transfers are a system tool on the agent. Replace the placeholder values in capitals with your own.
Look up order
Returns status and tracking for one order.
Show the JSON definition
Transfer to support
Cold transfer to the support line.
Show the JSON definition
Set it up
No native connector and no Shopify app listing. The tool calls a service of yours, which holds a Shopify access token and queries the Admin GraphQL API. Vendor details read in November 2026.
Create an app with read_orders
In the Shopify Dev Dashboard, create an app for your store with the
read_ordersscope, install it, and copy the client ID and secret into your service. Addread_all_ordersif callers ask about orders older than 60 days.Run the lookup endpoint
Your service sends the orders query to
https:/with the/ {shop}.myshopify.com/ admin/ api/ 2026-10/ graphql.json X-Shopify-Access-Tokenheader, filtering on the order name, and compares the order's email to the one the caller gave.Return a small answer
Send back
displayFulfillmentStatusand, for each fulfillment,trackingInfo's company and number. Leave out addresses and line items the agent does not need to say.Add the tool and test
Point the tool at your service with a bearer secret, then call about a test order in each state.
Before you build
Why a service in the middle
Tokens from Shopify's client credentials grant expire after 24 hours. Your service fetches a new token before the old one lapses.
The grant needs one organization
The client credentials grant only works when the app and the store belong to the same Shopify organization.
The 60-day window
The read_orders scope covers orders from the last 60 days. Older orders need read_all_orders as well, which does not work on its own.
Keep refunds with people
This tool only reads. Refunds, cancellations and address changes go to your team through the transfer.
Use cases for teams on Shopify
More integrations
Enterprise-grade security
HIPAA compliant

SOC 2 Type 2

GDPR
Shopify AI voice agent FAQs
Can an AI phone agent check Shopify order status?
Yes. The caller gives an order number and email, and a service of yours queries Shopify's Admin GraphQL API and returns the fulfillment status and tracking. The agent reads back whether the order is unfulfilled, partly shipped or fulfilled, with the carrier and tracking number.
Is there a Cartesia app in the Shopify App Store?
No. You create your own app in the Shopify Dev Dashboard with the read_orders scope, install it on your store, and give the client ID and secret to your service. The client credentials grant only works when the app and store belong to the same Shopify organization.
How does the agent check it's talking to the right customer?
Your service returns the order only when the email the caller gives matches the one on the order. An order number alone reveals nothing, and addresses and line items never reach the agent.
Can the agent find Shopify orders older than 60 days?
Yes, with read_all_orders added. The read_orders scope covers orders from the last 60 days, and read_all_orders extends it but doesn't work on its own. Without it, callers asking about older orders get no match, so have the agent transfer them to support.
Can the agent look up an order by the caller's phone number?
Yes, if you add a parameter set from system__caller_id and your service matches it against the order's phone field. That field can be empty, so keep email as the fallback.
Get started today
Talk to an expert.
Connect with a member of our team and learn how Cartesia can help you build world-class voice experiences.
Start building.
Access our models via API and bring a voice agent into production in minutes.