Dograh

AI Voice Agents for Waste Management Companies and Haulers

AI Voice Agents for Waste Management Companies and Haulers
GuideNovember 5, 2026·11 min read

AI Voice Agents for Waste Management Companies and Haulers

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.

AI voice agents for waste management companies answer the calls every hauler gets, such as missed pickups, bulk item requests, holiday schedule changes and billing questions, without a queue. The agent verifies the caller, reads the route and account from the hauler's own systems, logs a service request and sends disputes or quotes to a person.

Key Takeaways

  • Every caller reaches the agent at once, up to your concurrency limit.
  • The agent reads routes, holidays and balances from the hauler's own systems.
  • Billing disputes and credits go to a person, never the agent.

Below, we go through the calls a hauler's line gets, from missed pickups and bulk items to holiday changes, billing, roll-offs and outbound notices, and show how each part works in Dograh, the open-source AI voice agent platform we build. You can self-host it or run it on Dograh Cloud.

The calls every hauler gets

A hauler's phone line hears the same handful of questions every week. Callers ask whether their bin was skipped, whether the truck will take a couch, whether pickup moves for the holiday and why the bill went up. Each answer already sits in the hauler's route or billing system.

The volume is real. New York City's 311 service logged 42,977 missed-collection requests for the city's Department of Sanitation in 2025, according to New York City's 311 service request data. Trash made up 12,492 of them, compost 11,679 and bulky trash 4,264. That is one city's public service, and a private hauler's line carries the same kinds of calls for its own customers.

Some deployments treat a voice bot as a filter, there to keep routine calls away from staff. We think the better goal is to answer every routine call fully, from the same data your staff would read, and send the calls that need judgement to a person with the details already logged.

The sections below take the calls one at a time: missed pickups, bulk items, holidays, billing, roll-offs and new service. After that come the systems the agent connects to, outbound notices and where the call data sits.

Answered at once, with no queue

Each caller reaches the agent as soon as the call connects, so nobody waits in a queue to start. Self-hosted Dograh runs 10 concurrent calls by default, adjustable with DEFAULT_ORG_CONCURRENCY_LIMIT, and your servers and phone provider set the practical ceiling. Dograh Cloud's pay-as-you-go plan includes 10 concurrent calls, with more available on request.

Lookups take a moment, and silence on a call feels longer than it is. Each lookup tool can play a short line as it starts, typed or recorded, and a second update if your system is slow to reply. "Let me pull up your route" fills the gap the way a person would.

Hold music still has one place. When the agent transfers a caller to a person, the caller hears hold music while that person's phone rings. That is the only wait, and it happens after the agent has already logged why the person called.

Snow days and storm weeks bring spikes. Plan concurrency for your busiest morning, and keep a short recorded message ready for route-wide delays so the agent says the same thing to everyone.

Missed pickups: verify, check the route, log it

A missed-pickup call ends with a service request and a date the system has confirmed. Start with Pre-Call Data Fetch set to Inbound calls only. When the call connects, it sends the caller's number to your system and loads the matching account and route. The caller hears ringing while that fetch runs, and the greeting plays once it is done.

A phone number finds the account. It does not prove who is calling. So the agent greets the caller, asks for the last four digits of the account number, and only then names the service address or the account. Greet, verify, then share.

Next, an HTTP API tool reads the route status for that address. The record shows whether the truck passed the street today and whether the driver flagged the cart as not out, blocked or overweight. The agent tells the caller what the record says and nothing more.

If the stop was missed, a second tool writes a service request to your system, and the agent reads back the date your system returns. If the driver flagged the cart, the agent explains the flag and the next collection day. Either way, the agent promises only what the system returns. A Webhook node after the call sends the outcome and the recording link to your customer service team.

Three steps: a resident at the curb beside a full bin calls and the AI agent checks the last four digits of the account number. The agent reads the route status record, which shows the truck did not pass and the cart was not flagged. A service request is logged with a date from the hauler's system, which the agent reads back.
A phone number finds the account but does not prove who is calling, so the address stays unsaid until the caller is verified. If the driver flagged the cart, the agent explains the flag and the next collection day instead of logging a missed stop.
Dograh

Open Source Alternative to Vapi / Retell

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

dograh-hq/dograh

Star on GitHub

Bulk items and the accepted-items list

Bulk pickups go wrong at booking, so the agent works from the hauler's own list of what it takes. Upload that accepted-items list, with per-pickup limits and fees, to the Knowledge Base as a PDF, DOCX, DOC, TXT or JSON file of up to 5 MB, and select it on the agent's node.

When a caller asks about a mattress, a fridge or a pile of tyres, the agent answers from that list. Items with special rules, such as appliances with refrigerant, batteries, propane tanks, paint or medical sharps, get the list's own answer word for word. If an item is not on the list, the agent says so and offers a person. It never gives disposal advice of its own.

Fees come only from the hauler's price list. If a fee depends on weight or volume, the agent records the details and hands the quote to staff.

Booking the pickup, the reminder the day before and route change notices each have their own steps. Our deep dive on AI pickup scheduling and service reminder calls covers them.

Holiday and schedule changes

Holiday weeks shift collection days, and the shift depends on where the customer lives. At WM, holiday changes may vary by location. An agent that answers from memory will give one town's answer to the next town.

So the agent reads the change for the caller's own service area. A small hauler can keep a holiday calendar file in the Knowledge Base, one line per town. A larger one can expose the shifted day per route through an HTTP API tool, so the answer comes from the same system the drivers use. Keep the calendar file current before each holiday week, because an old one gives a confident wrong answer.

Outbound notices are a separate decision. A route-wide change that needs no answer is best sent by the hauler's own system, by text, email or app, with no voice agent involved. Call when the customer must act, such as moving a cart to a new spot or confirming a bulk pickup still stands.

Join the Dograh Community

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

Billing calls carry account details, so verification comes before any number is read. After the check, the agent reads the balance and the charges from your billing system and explains each line in plain words: the base rate, an extra cart, a bulk fee, a late fee.

To pay, the agent asks your own system or payment provider, through an HTTP API tool, to send its secure payment link by text or email. Card numbers are never taken on the call. Utilities handle the same pattern of bill questions and payment links, and our guide to AI voice agents for utilities and energy covers it for that industry.

Disputes and credits need a person's judgement. The agent records what the customer disputes and why, writes it to your system, then uses the Transfer Call tool. Dograh calls the billing desk first and connects the caller only when someone answers. For haulers on Twilio, a short spoken introduction can play to the caller and the billing desk before the connection is made. If nobody answers within the timeout, the caller stays with the agent, which writes a callback request to your system.

Roll-off dumpsters and new service

Roll-off and new-service calls are sales conversations with a lot of fixed facts. The agent can explain the container sizes, rental periods and standard prices you publish, and collect what staff need to quote: the address, the size, the material and the delivery and pickup dates.

Turn on Enable Variable Extraction on that step so each answer lands in its own field, recorded as the caller stated it. Commercial accounts and anything off the price list, such as a permit for street placement, go to a person, with those fields already in your system.

Connecting to your hauler software

Dograh connects to route, billing and customer systems through their own APIs, so any hauler software with an API can sit behind one of four routes. Pre-Call Data Fetch loads the account when an inbound call connects. HTTP API tools read and write during the call, such as route status, service requests and bookings. The Webhook node sends each call's outcome, recording and transcript links after the call, and it retries on its own if your endpoint has a temporary failure. The API Trigger lets your system start an outbound call.

Our guide to integrating voice agents with your stack walks through each route in detail.

Outbound calls to customers carry consent rules, so sort them by purpose before the first campaign. The FCC's ruling on AI-generated voices brings them under the Telephone Consumer Protection Act (TCPA) as artificial voices. Under the FCC's calling rules, a reminder or schedule-change call with an artificial voice to a mobile needs the customer's prior express consent and carries no offer.

A call that sells, such as an upgrade to a bigger cart or a new recycling service, needs prior express written consent. Keep those off the reminder campaign. Every outbound call names the hauler at the start, so put the name in the Greeting Text on the Start Call node and switch off Allow Greeting Interruption, which is on by default, so the full opening plays. Confirm your consent wording with counsel before the first outbound campaign.

Where call data sits and what it costs

Call recordings and transcripts hold names, addresses and account numbers, so decide early where they live. Dograh is open-source, so you can self-host it and keep them on your own servers. Running open-weight speech and language models there too keeps the audio in-house as well. If you bring your own keys for hosted models, the contract that covers the data changes hands, yet the audio still goes to that provider. Our page on self-hosted voice AI for waste haulers brings missed pickup, bulk item, holiday and billing calls together, each answered from the hauler's systems.

The fixed lines on a hauler's calls, the greeting and the holiday notice, can be pre-recorded clips in a real dispatcher's voice, with the model's voice covering the rest. Each call's View Trace button shows what the agent heard and which lookup it ran, and built-in QA reviews calls after they end, so a wrong holiday date is caught on day one. Self-hosted Dograh has no per-minute platform fee, but servers, model keys and phone minutes still cost money. Dograh Cloud charges a 1¢-a-minute platform fee.

Where to start

Start with missed pickups. The answer is already in the route record, and a logged service request is easy to check. Add billing questions once verification works, then holidays and bulk items. Before each new call type goes live, read a sample of the previous one's transcripts with your customer service lead.

Test over a real phone line before launch. Most phone calls still reach the agent as 8 kHz audio, while a browser test runs at 16 kHz, so street names and town names can sound different to the speech model. Add the hard ones to the agent's Dictionary.

Pickup booking and reminders have their own deep dive:

Glossary

Service request
The record a hauler opens for a missed pickup or other job. The agent writes it through an HTTP API tool and reads back only the date the system returns.
Accepted-items list
The hauler's own list of what it collects, with limits and fees. The agent answers bulk and special-item questions from it and offers a person for anything not listed.
Pre-Call Data Fetch
A Start Call setting that sends the caller's number to your system when the call connects and loads the account before the greeting plays.
Concurrency limit
How many calls the agent handles at once. Self-hosted Dograh runs 10 by default, adjustable, and Dograh Cloud's pay-as-you-go plan includes 10.

Frequently Asked Questions

Get started with Dograh

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