NetSuite Inbound Voice Agent for Order Status Lookups
Post 1 was outbound. The system called customers. This one goes the other direction.
The most common support call at most NetSuite shops I've worked with is some version of "where's my order?" Rep opens NetSuite, finds the sales order, reads back the status. Two minutes, every time, all day. I built an inbound voice agent that handles it without the rep.
Customer calls, gives their phone number to verify their account, gives the order number, and hears the status and ship date read back. No hold. No portal login. No human needed.
How it works
The customer dials an inbound number. The AI agent picks up immediately.
First it asks for the phone number on their account. That number has to match what's on file in NetSuite before anything else happens. If it doesn't match, the agent stops there. No order lookup, no status, try again.
Once verified, the agent asks for the order number. Then it queries NetSuite live, mid-call, and reads the result back.
The whole thing takes about 30 seconds.
What's different from post 1
The collections agent did its NetSuite work after the call ended. Call closes, webhook fires, n8n picks it up and writes the activity log. All of that happens while nobody's waiting.
This one can't do that. The customer is on the line. The lookup has to happen during the conversation, not after. The agent fires the query, waits for the response, and speaks it before the caller gives up.
That's the architecture change. Synchronous instead of async. Sounds like a minor detail. It's actually what determines whether this is useful at all.
The stack
Same three tools as post 1, different configuration:
- NetSuite: source of order data, queried live mid-call
- Retell AI: inbound voice agent, synchronous function call for the lookup
- n8n: webhook receiver, NetSuite query, response back to Retell
One thing worth getting right: matching the caller's phone number against the customer record before returning any order data. Without that check, anyone who guesses an order number can pull status on someone else's order.
Demo's on LinkedIn.