Dograh

AI Voice Agents for Return Pickup Scheduling: Book Pickups in One Call

AI Voice Agents for Return Pickup Scheduling: Book Pickups in One Call
Use CaseOctober 15, 2026·9 min read

AI Voice Agents for Return Pickup Scheduling: Book Pickups in One Call

Pritesh Kumar
Pritesh Kumar·Co-founder, Dograh AI

Building Dograh, the open-source alternative to Vapi. OSS and Voice AI. Exit founder and YC alum.

An AI voice agent for return pickup scheduling verifies the caller, reads the open return, confirms what is going back and how it is packed, then books a pickup window from the carrier's slots through an HTTP API tool. When no window fits, it offers only the drop-off options your system lists, and it writes the booking back by webhook.

Key Takeaways

  • The returns system owns the RMA and refund; the carrier owns the slot.
  • Confirm the item and the packaging before any window is booked.
  • When no window fits, offer only drop-off points your own system lists.

This post is part of our guide to AI voice agents for logistics and delivery. The guide places this call among the customer calls after the delivery: the returns system is the system of record, the carrier slot is read and booked through an HTTP API tool, and the agent offers only the drop-off options your system lists. In Dograh, an open-source, self-hostable voice agent platform, the booking is one flow that reads the carrier's slots during the call and writes the result back to the RMA.

The returns system is the system of record

A return pickup call touches two systems, and the design works only if each one owns one thing. The returns system owns the return merchandise authorisation (RMA): the item, the reason, the refund or exchange, and the state of the return. The carrier owns the pickup slot: which windows exist for that address on which day. The agent reads and writes each through its own HTTP API tool and never lets one system's copy stand in for the other's.

The volume behind it is large. In the 2025 returns study from the National Retail Federation and Happy Returns, retailers estimated that 15.8% of annual sales would be returned in 2025, worth $849.9 billion, and that 19.3% of online sales would come back. The pickup call is one small piece of that process, and the piece most likely to be a phone call, because a pickup is a negotiation about a time and an address.

Verify, then read the RMA

The caller's number finds the return. It does not prove who is calling, and an RMA holds the address, the item and the refund amount. So the agent greets, verifies, then discloses: it asks for the order number or the RMA reference and one detail the caller should know before it reads anything back.

In Dograh, the lookup happens when the call starts. Pre-Call Data Fetch posts the caller's and the agent's numbers to your endpoint and loads the reply, here the open RMAs on that number, into the call's context. The fetch has a 10-second timeout and the call carries on without it if your endpoint is slow, in which case the agent asks for the reference and looks it up with an HTTP API tool instead.

Loading the RMA matters because of who is calling. In Glance's 2026 CX Trends survey of more than 600 US consumers, 44% always try self-service first and another 50% sometimes do. The person on the phone is usually someone the returns portal failed: the slot picker showed nothing or the label would not print. The agent continues that RMA from where it stopped. It does not ask the caller to explain the return again.

Confirm the item and the packaging before you book

A pickup booked for a parcel that is not packed becomes a missed pickup, a second call and a second slot. So before any window is offered, the agent confirms three plain things and records each as the caller stated it. Which item or items are going back, out of the ones on the RMA. Whether the original box is available, or any box of a size the carrier accepts. And whether the caller has printed the label, or the driver should bring one, where the carrier offers that.

The answers are extracted variables, recorded as stated rather than as a verbatim field, with the transcript and recording as the exact record. Two of them change the booking: a label the driver brings is a different service code at some carriers, and an oversize box may need a different slot type. Both are read from your returns system's rules, not guessed by the agent.

One answer ends the booking before it starts. If the caller says the item arrived damaged, that is a claim, not a return, and the agent says so and hands to the intake described in our post on AI voice agents for damaged and lost shipment claims, where the photo link and the carrier's deadlines live.

Dograh

Open Source Alternative to Vapi / Retell

Self-hosted voice agent platform — no per-minute fees

dograh-hq/dograh

Star on GitHub

Book the window from the carrier's slots

The windows come from the carrier, and the prompt never holds one. An HTTP API tool asks the carrier's pickup API, or your dispatch system if you run your own fleet, for the available windows at that postcode over the next few days. The agent offers two, takes the caller's choice, books it through a second call to the same tool, and reads the booking back, the day and window and then the booking reference. Make the booking call idempotent on the RMA reference so a retried request never creates two pickups or two labels for one return.

The slot pattern is the same one the published post on AI Voice Agent for Failed Delivery Rescheduling: The 2-Hour Rule uses in the forward direction, and the mechanics of booking a time inside a call are the subject of Booking Meetings Mid-Call With Calendly Integration. What is specific to returns is the write-back: the chosen window goes to the carrier, and the carrier's confirmation goes to the RMA by webhook after the call, so the returns desk sees one record with both halves.

The label and the confirmation do not need to be spoken. Both go out as texts from your returns system once the webhook has written the booking. The call exists for the part a text cannot do, which is the choice. And where the agent calls the customer rather than the other way round, for example to confirm tomorrow's collection, that outbound call needs consent captured at order or sign-up. Our post on AI voice agents for logistics and delivery in the US covers the rules.

When no window fits: only your approved drop-off options

Not every return wants a pickup, and the data on that is clear. In Asian Trader's report of DHL eCommerce's 2026 E-Commerce Trends Report, 46% of UK shoppers primarily return online purchases through parcel shops or convenience stores, 25% use parcel lockers and 29% arrange home collections, up from 24% a year earlier. Seven in ten said they would abandon an online basket if their preferred delivery or returns option was not available at checkout.

So when none of the offered windows fits, the agent offers a drop-off. The rule for how it does that is the most important sentence in this post. The agent reads the approved drop-off options for the caller's postcode from your own system through an HTTP API tool, your contracted parcel shops, lockers, stores or partner counters, and offers only those. It never suggests a location on its own. A language model knows the names of many shops, and a return handed to the wrong one is a lost parcel and a refund dispute.

The question does a window fit, with a yes branch to a van booked from the carrier's slots and a no branch to three approved drop-off pins read from your system, while the agent's own remembered shop sits in a crossed-out thought bubble
The agent may offer only the drop-off points your own system lists for that postcode. An empty list is a better answer than an invented one, because a return sent to the wrong shop is a lost parcel and a refund dispute.

If your system returns no approved option for that postcode, the agent says that plainly, records the request and offers a callback from the returns desk. The empty list is a better answer than an invented one.

Join the Dograh Community

Dograh is an OSS alternative to Vapi. Join our Slack community for queries, releases, best practices & community interactions.

Write it back and measure the right thing

The booking is complete when the returns system says so, not when the caller hangs up. The webhook node runs after the call and posts the extracted variables, the carrier's booking reference and the recording link to the RMA. A temporary failure (timeout, 5xx, 429) is retried automatically, up to five attempts. A wrong URL or credential is not, so test the endpoint before going live. The confirmation text follows from that record, which keeps the message and the system in agreement.

Measure the call by what it was for. First-time pickup success and reschedules per booking tell you whether the agent is booking well. Call count does not. The stakes are in the same NRF release: 82% of consumers cite free returns as a major purchase consideration, 76% are more likely to choose a return option with an instant refund or exchange, and about 71% are less likely to shop with a retailer again after a poor returns experience, up from 67% in 2024, with four out of five saying they will tell friends and family. A pickup that happens on the first booked day is the quietest way to keep those shoppers.

Run quality assurance (QA) on a sample of booking calls; Dograh scores each step separately, so a mis-confirmed packaging answer shows up on that step. On cost, self-hosted Dograh has no per-minute platform fee; servers and any paid model keys still cost money.

Start with one carrier's pickup API and one region, with the drop-off list for that region loaded in your system before the first call. Add the second carrier once the first hundred bookings have been collected on the day they were booked.

Glossary

return merchandise authorisation (RMA)
The record your returns system opens for one return, holding the item, the reason, the refund or exchange and the state of the return.
system of record
The one system whose copy of a fact wins when two systems disagree; here the returns system for the RMA and the carrier for the slot.
pickup window
The time range the carrier offers for collection at an address, read from the carrier during the call rather than from the prompt.
approved drop-off options
The parcel shops, lockers or stores your system lists for a postcode, the only alternatives the agent may offer when no window fits.

Frequently Asked Questions

Get started with Dograh

Build, deploy, and scale AI agents with Dograh. Join the community of developers building the future.