Blog · Guide

Turning a phone call into a Shopify order with voice AI

How a voice AI agent takes a phone order and creates it directly in Shopify through the GraphQL API, with DTMF confirmation on the numbers that matter.

By Bishal Paul·8 September 2026·8 min read
Bishal Paul, AI automation engineer
Bishal PaulAI Automation Engineer

Founder of Erudience. Head of AI at Absolute Intelligence UK. Ships production n8n and voice AI systems for UK and international teams.

Short answer

A voice AI ordering system queries the store's product catalogue via the Shopify GraphQL API in real time to confirm availability and price, uses DTMF keypad input at key decision points like confirming an order total for accuracy, then creates the order directly in Shopify through a GraphQL mutation so it appears in the merchant's normal order flow exactly like a web order.

A voice AI agent that takes a phone order is only useful if the order it creates is real: in the merchant's actual Shopify backend, with the correct product, price, and stock check, not a note someone re-types later. That distinction, live system versus glorified answering machine, is the entire design brief behind this build.

The short version: the agent talks to a live Shopify catalogue through the GraphQL API on every call, and confirms the numbers that matter by keypad rather than by ear.

Why speech recognition alone is not enough for the numbers

Speech recognition is good, not perfect, and an order total or a delivery date is exactly the kind of value where 'good' still produces expensive mistakes. Key decision points, confirming an order total or choosing a delivery slot, use keypad DTMF input rather than relying purely on the model hearing a number correctly. The conversation stays natural for everything else; only the parts where a misheard digit costs real money get the more rigid input method.

This is a deliberate trade-off between a fully voice-only experience and a reliable one. Customers do not mind pressing a key to confirm a total. They do mind receiving the wrong order because the system misheard '15' as '50'.

Live catalogue lookup, not a cached product list

The agent queries the store's product catalogue via the Shopify GraphQL API in real time during the call to confirm product availability and pricing before finalizing anything. A cached or periodically synced product list would drift from reality within hours on any store with real inventory turnover, and an order confirmed against stale stock data is a customer service problem waiting to happen.

This also means pricing changes, promotions, and stock-outs are reflected instantly in what the agent tells the caller, with no separate sync job to maintain.

Creating a real order, not a lead

Once the order is confirmed, it is created directly in Shopify via a GraphQL mutation, so it appears in the merchant's normal order management flow exactly like a web order: same fulfilment queue, same reporting, same everything. There is no manual re-entry step and no separate 'phone orders' spreadsheet for someone to reconcile at the end of the day.

The customer hears a spoken order summary before the call ends, functioning as a live checkout confirmation, the phone equivalent of the order review screen on a website before you click pay.

Key takeaways
  • ·Speech recognition drives the conversation; DTMF confirms the numbers where a mistake is expensive.
  • ·Product lookups hit the live Shopify catalogue on every call, not a cached list that can drift from real stock and pricing.
  • ·Orders are created as real Shopify orders through the GraphQL API, appearing in the same fulfilment flow as a web order.
  • ·A spoken order summary at the end of the call serves the same purpose as a checkout confirmation screen.

Frequently asked

Does this only work with Shopify?+

The pattern generalises to any e commerce platform with a real time order and catalogue API. Shopify's GraphQL API is what this build used because that is the client's platform, and it is a strong fit for this kind of real time integration.

What happens if a product is out of stock during the call?+

The live catalogue lookup surfaces this before the order is confirmed, so the agent can offer an alternative or take a backorder, rather than creating an order for a product that is not available.

Why not just let customers place orders on a website instead?+

Some customer segments, particularly older or less digitally comfortable ones, still prefer or default to calling. This system captures that demand without a human taking every call.

How accurate is the DTMF step compared to speech for numbers?+

Keypad entry for a confirmed value is effectively exact, since it is a direct digit input rather than an inference from audio. That is precisely why it is used at the points where accuracy matters most.

Further reading and references

Related work on this site, and the tools and profiles referenced above.

Contact me

Get new guides like this one

Whatever I ship next, straight to your inbox. No noise, unsubscribe any time.

Ship it, don't just read about it

Turn this into a live system in weeks.

Thirty minute discovery call. If it isn't a fit, I'll tell you and point you somewhere better.

Write instead
Bishal Paul
Bishal PaulFounder, Erudience · Head of AI, Absolute Intelligence UK
  • 01AI automation systems on n8n, cloud or self hosted
  • 02Voice AI on ElevenLabs plus Twilio, or Vapi
  • 03Applied LLM features for SaaS products
See recent builds