Dograh

AI Voice Agents for NPS and CSAT Surveys: One Score, One Why

AI Voice Agents for NPS and CSAT Surveys: One Score, One Why
Use CaseOctober 24, 2026·7 min read

AI Voice Agents for NPS and CSAT Surveys: One Score, One Why

Vemu Sandeep
Vemu Sandeep·GTM Engineer, Dograh AI

GTM engineer at Dograh working across voice AI and enterprise AI. IIT (BHU) and IIM Visakhapatnam alumnus.

AI voice agents for NPS and CSAT surveys call customers, ask one score and one open "why", and record the score as the customer said it. NPS asks how likely they are to recommend you, from 0 to 10. CSAT asks how satisfied they were with one interaction. A low score or a live problem goes to a person.

Key Takeaways

  • Pick NPS or CSAT for each call. Ask one score and one "why".
  • Record the customer's own number. Never infer a score from tone.
  • The survey stays a service call only while it offers nothing.

This post is part of our guide to AI voice agents by use case. The guide's section "Outbound service calls: reminders, surveys, renewals" sums this call up: NPS and CSAT surveys ask one score and one "why", the agent records the score as said, and a low score or a problem that is still live goes to a person. Here is that call for any business, run in Dograh, an open-source, self-hostable voice agent platform.

NPS or CSAT: pick one per call

The two scores answer different questions, so choose before you write the script. Net Promoter Score (NPS) asks how likely the customer is to recommend you, on a scale of 0 to 10. It measures the whole relationship, so it suits a periodic call to active customers. Customer satisfaction score (CSAT) asks how satisfied they were with one interaction, often on 1 to 5, so it suits a call soon after a delivery or a support case. Ask one of them per call, in the same words to everyone, then one open question: "What is the main reason for that score?"

Written surveys come back from few customers. Retently's study of more than 25 million survey invitations from 600 e-commerce brands put NPS response at 4.5% and CSAT at 9.76%. A call reaches a smaller sample by voice and hears the reason in the customer's own words. It still has to be answered. In Hiya's State of the Call report, a survey of more than 12,000 consumers, only 14% of unrecognised calls were answered right away. So call from a number your customers already know.

One score, one why, recorded as said

The score is data, so capture it as a field. In the agent node, turn on variable extraction and add two variables. The score is a Number variable. Its range is not enforced, so state 0 to 10, or 1 to 5, in the Extraction Hint and check the value in your own system. The reason is a String variable.

Extraction is an AI step, so the agent records the reason as the customer stated it, and the transcript and recording stay the exact record. Tell the agent in the prompt to read the score back before moving on. Most phone calls still reach the agent as 8 kHz audio, and a number is easy to mishear on a narrow line.

Keep the wording neutral, and tell the agent in the prompt never to suggest a score or ask a customer to reconsider one. After the call, a Webhook node sends both variables to your survey tool or CRM, with the transcript link beside them.

Dograh

Open Source Alternative to Vapi / Retell

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

dograh-hq/dograh

Star on GitHub

The customer's score, not the agent's grade

A survey records what the customer says. It never guesses what they meant from how they sounded. In a preprint on 70,450 support conversations, tone tracked customers' own satisfaction ratings at a correlation of only 0.36. Those were text chats on one fundraising platform rather than calls, but the point still holds. The customer's own number is the data.

Dograh's QA node does a different job. It reviews the agent's calls and scores each step separately, with tags, a 1-10 score, sentiment and a summary. That grades the agent, checking whether it read the question as written or led the customer. Send QA output to whoever maintains the agent, and never map it into the survey answer.

A survey call in three panels: the voice agent asks how likely the customer is to recommend the business from 0 to 10, the customer says eight, and the agent reads it back. The score and reason go to the survey tool. After the call, a QA grade of the agent's steps goes to the team that maintains the agent, never into the survey answer. A crossed mood dial shows no score is read from tone.
A score guessed from tone, or a QA grade copied into the survey, measures the agent rather than the customer, and the survey trend drifts without anyone noticing. Keep the customer's number and the agent's grade in separate places.

Our post on automated QA for voice agents covers the setup, and AI voice agents for call QA and scoring covers grading at contact-center scale.

Low scores and live problems go to a person

A low score, or a problem that is still happening, ends the survey. Tell the agent in the prompt to stop asking questions and offer a person, so a customer with a broken order or a billing error is not left with a survey.

Transfer Call works on Twilio, Telnyx and Asterisk ARI. It passes no summary by default; on Twilio it can play a short spoken introduction to both people. Write the details to your system with an HTTP API tool before the transfer, here the score and the reason. If nobody answers within the 30-second default, the customer stays with the agent; tell it in the prompt to offer a callback.

Tell the agent in the prompt never to offer a discount to change a score. Review requests are a separate step with their own rule. Ask every respondent in the same words, or ask none. Asking only happy customers is review gating, which Google's review policy bans, as our post on review requests in home services explains.

A survey call you place is an outbound call with an artificial voice, and the FCC's 2024 ruling treats AI-generated voices that way. Under 47 CFR 64.1200, a call to a mobile number generally needs "the prior express consent of the called party". A residential landline call generally needs no consent if it "Is made for a commercial purpose but does not include or introduce an advertisement or constitute telemarketing and the caller makes no more than three calls within any consecutive 30-day period to the residential line and honors the called party's request to opt out".

Retries count toward that limit. Survey calls run as Campaigns, where retries run from 0 to 10, 2 by default, so one campaign can place up to three calls to a number that does not answer. Campaigns have no per-contact call cap, so your own list decides how often anyone is called.

Keep offers out. A survey that adds a discount or a reward generally "includes or introduces an advertisement" and needs prior express written consent. This is general information, not legal advice; confirm your position with counsel.

Opt-outs live on your list, never in the survey data. Dograh keeps no do-not-call list. When a caller opts out, an HTTP API tool writes it to your own list, and you remove those numbers before the next campaign upload. The do_not_call call tag records the request but never blocks a later call.

Self-hosted Dograh has no per-minute platform fee (servers, model keys and phone minutes still cost); Dograh Cloud has a 1¢-a-minute platform fee. Our page on open-source voice AI for CSAT and NPS survey calls covers running these calls on your own servers.

By industry: surveys timed to each business

Each industry times the survey to its own moment and adds its own rules. These posts cover them:

Join the Dograh Community

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

Glossary

NPS (Net Promoter Score)
A survey score from the question of how likely a customer is to recommend a business, on 0 to 10. It measures the whole relationship, so it suits a periodic call rather than one right after an interaction.
CSAT (customer satisfaction score)
A rating of how satisfied a customer was with one interaction, often on 1 to 5. On a call, the agent records the number the customer says, never a score inferred from tone.
Extraction Hint
The per-variable instruction in Dograh's variable extraction that tells the AI what to capture. For a survey score it states the range, because the Number type does not enforce one.
Review gating
Asking only satisfied customers to post a public review, or steering unhappy ones away. Google's review policy bans it, so a survey that asks for reviews asks every respondent or none.

Frequently Asked Questions

Get started with Dograh

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