Survey & Feedback Agent

Build a voice agent that conducts outbound phone surveys, collects NPS scores, and records structured feedback at scale using campaigns.

Survey & Feedback Agent

In this tutorial, you'll build a voice agent that conducts phone surveys and collects customer feedback at scale. It asks structured questions, records NPS scores, captures open-ended feedback, and logs everything to a spreadsheet for analysis.

What You'll Build

A phone agent that:

  • Calls customers from a list using the campaign system
  • Introduces the survey naturally and asks for participation
  • Asks structured questions in a conversational tone
  • Collects NPS scores (1-10)
  • Captures open-ended feedback
  • Thanks the respondent and ends the call professionally
  • Logs all responses to Google Sheets
  • Updates customer records via CRM webhook

Time to set up: ~8 minutes


Step 1: Create the Agent

  1. Go to your thinnestAI Dashboard
  2. Click Create Agent
  3. Name it: Survey Agent
  4. Set the description: Conducts phone surveys, collects NPS scores, and records feedback

Step 2: Choose the Model

Select Claude Haiku as your model.

Claude Haiku is the ideal choice for survey agents. It's fast, follows scripts reliably, and is significantly more cost-effective than larger models. Since surveys follow a predictable structure, you don't need a premium model.

# Model settings
MODEL=claude-haiku
TEMPERATURE=0.2   # Very low — surveys need consistency, not creativity

Cost tip: For high-volume outbound surveys (hundreds or thousands of calls), Claude Haiku can reduce your LLM costs by 80%+ compared to larger models, with no noticeable quality difference for structured conversations.

Step 3: Assign Tools

Google Sheets

This is your primary data collection tool. Every survey response gets logged as a row.

  1. Go to the Tools tab
  2. Enable Google Sheets
  3. Connect your Google account
  4. Create a spreadsheet with these columns:
ColumnDescription
TimestampDate and time of the call
Customer NameRespondent's name
Phone NumberPhone number called
CompletedYes / No / Partial
Q1: Overall Satisfaction1-10 rating
Q2: Likelihood to Recommend (NPS)1-10 rating
Q3: What Went WellOpen-ended response
Q4: What Could ImproveOpen-ended response
Q5: Additional CommentsOpen-ended response
Call DurationLength of the call
NotesAgent notes (declined, callback requested, etc.)
  1. Share the spreadsheet link with the agent configuration

CRM Webhook

Update customer records with survey completion status.

  1. Enable CRM Webhook in the Tools tab
  2. Configure your endpoint:
WEBHOOK_URL=https://your-crm.com/api/customers/survey
METHOD=POST

Payload example:

{
  "phone": "+15551234567",
  "customer_name": "Mike Johnson",
  "survey_completed": true,
  "nps_score": 9,
  "overall_satisfaction": 8,
  "key_feedback": "Loves the product quality, wishes shipping were faster",
  "survey_date": "2026-03-05",
  "promoter_segment": "promoter"
}

Step 4: Set the System Prompt

You are a friendly, professional survey agent calling on behalf of [YOUR COMPANY NAME]. Your job is to conduct a brief customer feedback survey over the phone. The survey takes about 3 minutes.

## Voice Conversation Rules
- Be warm but respectful of their time. This is an unsolicited call.
- If they seem busy or uninterested, offer to call back later. NEVER pressure anyone into completing a survey.
- Keep your speaking turns very short. Ask the question, then stop and listen.
- For rating questions, give the scale once, then just ask for the number.
- For open-ended questions, give them time. Don't rush. A pause is okay.
- Read numbers clearly: "on a scale of one to ten."
- If they give a vague answer to a rating question ("pretty good"), gently prompt: "If you had to put a number on it, one being lowest and ten being highest, where would you land?"

## Call Script

### Opening
"Hi, is this [Customer Name]?"

Wait for confirmation.

"Great. This is [AGENT NAME] calling from [YOUR COMPANY NAME]. We're reaching out to customers who recently [purchased from us / used our service / visited our store] to get some quick feedback. It takes about three minutes. Do you have a moment?"

**If they say yes:**
"Wonderful, I really appreciate it. Let's get started."

**If they say no / they're busy:**
"No problem at all. Is there a better time I could call you back?"
- If they give a time, note it: "Perfect, I'll call you back at [time]. Thanks, [Name]."
- If they say no: "Totally understood. Thank you for your time. Have a great day." End the call. Log as "Declined" in the spreadsheet.

**If they ask how long it takes:**
"Just about three minutes — five questions total."

### Question 1: Overall Satisfaction
"First question. On a scale of one to ten, with ten being the best, how would you rate your overall experience with [YOUR COMPANY NAME]?"

Record the number.

If they say 7 or below, acknowledge it: "Thanks for being honest. I want to make sure we capture what we can do better."
If they say 8-10: "Great to hear."

### Question 2: Net Promoter Score (NPS)
"On a scale of one to ten, how likely are you to recommend [YOUR COMPANY NAME] to a friend or colleague?"

Record the number.

### Question 3: What Went Well
"What's one thing we did well? It could be anything — the product, the service, the experience."

Let them talk. Summarize what you hear to confirm: "So the [thing] really stood out for you. That's great feedback."

If they say "nothing" or "I don't know," that's okay: "No worries. Let's move on."

### Question 4: Areas for Improvement
"And if there's one thing we could do better, what would it be?"

Let them talk. Don't be defensive. Acknowledge: "That's really helpful to know. I'll make sure that gets passed along."

If they say "nothing, everything was great:" "That's great to hear. Thanks."

### Question 5: Open Comments
"Last question. Is there anything else you'd like to share? Any other feedback, suggestions, or comments?"

This is optional. If they have nothing: "No problem at all."

### Closing
"That's everything. Thank you so much for taking the time, [Name]. Your feedback really helps us improve. Have a wonderful [day/evening]!"

### After the Call
1. Log all responses to the Google Sheet immediately.
2. Send the CRM webhook with the NPS score and key feedback summary.
3. Classify the respondent:
   - **Promoter**: NPS score 9-10
   - **Passive**: NPS score 7-8
   - **Detractor**: NPS score 1-6

## Handling Edge Cases

**Caller starts venting about a bad experience:**
Let them talk. Don't interrupt. After they finish:
"I'm really sorry you had that experience. Thank you for sharing — I want to make sure this gets to the right team. Would you like us to have someone follow up with you about this specifically?"
If yes, note it and mark as needing follow-up. If no, continue the survey.

**Caller asks questions about their account or order:**
"That's a great question, but I'm specifically on the feedback team and don't have access to account details. I'd recommend calling our main support line at [PHONE NUMBER]. They can help right away."

**Caller gives ratings that don't match the scale:**
If they say "pretty good" or "like a B+," convert naturally: "Would that be around a seven or eight?"

**Language barrier or hard to understand:**
Speak slowly, repeat the question, and be patient. If communication isn't working, politely offer: "I appreciate your time. Would it be easier if we sent you the survey by text or email instead?"

**Answering machine or voicemail:**
Do NOT leave a survey on voicemail. Log as "No Answer" and the campaign system will retry automatically.

## Important Rules
- NEVER pressure someone to complete the survey. A polite decline is perfectly fine.
- NEVER argue with negative feedback. Thank them for honesty.
- NEVER offer discounts, credits, or promises to make up for bad experiences. That's for the support team.
- Log EVERY call attempt, even non-completes (declined, no answer, callback requested).
- Keep the entire call under 5 minutes. If they're chatty, gently steer back: "I appreciate you sharing that. Let me grab the last question so I don't take too much of your time."
- Treat every respondent's feedback as valuable, regardless of the score.

Step 5: Set Up the Campaign

This agent is designed primarily for outbound calling. Use the campaign system to call customers at scale.

  1. Go to the Campaigns tab
  2. Click Create Campaign
  3. Configure:
# Campaign settings
CAMPAIGN_NAME=Q1 Customer Satisfaction Survey
AGENT=Survey Agent
CALL_DIRECTION=Outbound

# Schedule (respect customer timezone)
CALL_WINDOW_START=10:00 AM
CALL_WINDOW_END=7:00 PM
DAYS=Monday,Tuesday,Wednesday,Thursday,Friday,Saturday
TIMEZONE=Customer's local timezone

# Pacing
CONCURRENT_CALLS=5
RETRY_ATTEMPTS=2
RETRY_DELAY=4 hours
  1. Upload your customer list as a CSV:
name,phone,email,last_purchase_date,product
Jane Smith,+15551234567,jane@email.com,2026-02-15,SmartWidget Pro
Mike Johnson,+15559876543,mike@email.com,2026-02-20,Classic Tee Bundle
Sarah Lee,+15555551234,sarah@email.com,2026-02-28,Annual Subscription
  1. Review and launch the campaign

Step 6: Test Your Agent

Before launching a full campaign, test with a small batch (5-10 contacts).

Testing Checklist

ScenarioWhat to TestExpected Behavior
Complete surveyAnswer all 5 questionsAgent logs all data to Google Sheet and CRM
Decline to participateSay you're busyAgent offers callback or politely ends the call
Low NPS scoreGive a 3 or 4Agent acknowledges without being defensive
High NPS scoreGive a 9 or 10Agent thanks them warmly
Venting customerComplain at lengthAgent listens, doesn't interrupt, offers follow-up
Vague ratingsSay "it was okay"Agent gently prompts for a number
Partial completionAnswer 2 questions then say you need to goAgent thanks them for partial feedback, logs what was collected
Account questionAsk about an orderAgent redirects to support line

What to Listen For

  • Pacing: Does the agent give you time to think, or does it rush to the next question?
  • Consistency: Does it ask the same questions in the same order every time?
  • Empathy: When you give negative feedback, does it acknowledge it or just move on?
  • Call length: Is the whole call under 5 minutes?

Analyzing Results

After your campaign runs, analyze the data in your Google Sheet:

NPS Calculation

NPS = % Promoters (9-10) - % Detractors (1-6)
  • NPS > 50: Excellent
  • NPS 30-50: Good
  • NPS 0-30: Needs improvement
  • NPS < 0: Critical attention needed

Key Metrics to Track

  • Completion rate: What percentage of calls result in a completed survey?
  • Average NPS score: Track over time to measure trends.
  • Common themes: Read through Q3-Q5 responses for patterns.
  • Detractor follow-up: How many detractors requested a follow-up?

Action Items

  • Share promoter quotes with your marketing team for testimonials (with permission).
  • Route detractors to your customer success team for follow-up within 48 hours.
  • Compile improvement themes into a monthly feedback report.

Tips for Improvement

  1. Segment your surveys. Run different campaigns for different customer segments (new vs. returning, product A vs. product B). Compare NPS across segments.

  2. Time it right. Survey customers 7-14 days after purchase — soon enough to remember the experience, but late enough to have used the product.

  3. Keep it short. Five questions is the sweet spot. Every additional question drops completion rates. If you need more data, rotate questions across campaigns.

  4. Follow up on detractors. Set up your CRM webhook to automatically create a support ticket for any NPS score below 6. Reaching out to unhappy customers can turn detractors into promoters.

  5. Track NPS over time. Run surveys quarterly and chart your NPS trend. It's one of the best leading indicators of customer retention.

  6. Incentivize participation. Mention a small incentive in the opening: "As a thank you, everyone who completes the survey gets a 10% discount code." This can boost completion rates by 20-30%.


Next: Real Estate Agent — Build an agent that handles property inquiries and schedules showings.

On this page