NPS overview
Net Promoter Score surveys measure customer loyalty after a ticket is resolved. Trigger surveys automatically based on resolution, time delay, or sampling rate. Results are classified as promoters (9-10), passives (7-8), and detractors (0-6).
NPS helps you identify at-risk customers, measure support quality, and track improvements over time. Connect survey responses to Slack, email, or Linear for follow-up workflows.
Trigger conditions
Configure when surveys are sent: immediately after resolution, after a time delay, or at a sampling rate. Use different triggers per queue, per persona, or per issue type to get representative feedback.
Survey trigger configuration:
Trigger: post_resolution
Delay: 0 // minutes, 0 = immediately
Sampling rate: 0.2 // 20% of resolved tickets
Per-queue overrides:
- billing: { trigger: 'post_resolution', delay: 0, sample_rate: 0.3 }
- technical: { trigger: 'time_delayed', delay: 60, sample_rate: 0.5 }
- sales: { trigger: 'post_resolution', delay: 0, sample_rate: 1.0 }
Exclude:
- closed_without_resolution: true
- short_duration_tickets: true // resolved under 2 minutes
- test_tickets: truetrigger: 'time_delayed' sends survey after a specified delay from resolution. Use this for delayed feedback when customers have time to experience the solution.
Token-based flow
Surveys use a secure token flow to prevent duplicate responses and ensure one response per ticket. The survey link is sent via email and renders in an iframe or hosted page. Tokens expire after 7 days.
Survey flow:
1. Ticket resolved → generate unique token
2. Send email: "How likely are you to recommend us?"
Link: /api/nps/tk_abc123xyz
3. Customer opens link → validate token
4. Render survey → collect score and optional comment
5. Store response → classify promoter/passive/detractor
6. Trigger webhook → Slack, email, Linear
Token endpoint: GET /api/nps/:token
Response:
{
"valid": true,
"ticket_id": "550e8400-e29b-41d4-a716-446655440000",
"customer_email": "user@example.com",
"subject": "Refund request",
"persona": "Support",
"language": "en"
}If a token is invalid or expired, the survey page shows an error message. Tokens are single-use and cannot be reused after submission.
Survey rendering
Surveys can render embedded in your email as an iframe, or on a hosted Beamdesk page. Choose rendering mode per channel or customize the survey template with your branding.
Rendering configuration:
Mode: iframe // or 'hosted'
Iframe styling:
- Width: 100%
- Height: 400px
- Border: none
- Custom CSS: enabled
Hosted page:
- Custom header: true
- Logo: your-logo.png
- Color: #6366f1
- Footer: "© 2025 Your Company"
Survey questions:
- Main question: "How likely are you to recommend Beamdesk to a friend or colleague?"
- Scale: 0-10
- Labels: [0] Not at all likely, [10] Extremely likely
- Optional comment: true
- Follow-up for detractors: true
- Follow-up for promoters: falseFollow-up questions ask promoters why they scored high and detractors why they scored low. This qualitative feedback helps you identify strengths and weaknesses.
Score classification
Scores are automatically classified into three categories: promoters (9-10), passives (7-8), and detractors (0-6). Net Promoter Score is calculated as percentage of promoters minus percentage of detractors.
Score classification:
Promoter: 9, 10
- High loyalty, likely to recommend
- Upsell opportunity
- Ask for testimonial or referral
Passive: 7, 8
- Satisfied but not enthusiastic
- At risk of switching
- Target for improvement
Detractor: 0, 1, 2, 3, 4, 5, 6
- Unhappy customer
- High churn risk
- Immediate follow-up required
NPS calculation:
NPS = % promoters - % detractors
Example:
- 100 responses
- 60 promoters (60%)
- 20 passives (20%)
- 20 detractors (20%)
- NPS = 60 - 20 = 40NPS ranges from -100 to +100. Scores above 0 are good, above 50 are excellent. Track NPS weekly to detect trends: declining NPS may indicate quality issues or product problems.
Webhook notifications
Send survey responses to Slack, email, or Linear via webhooks. Configure different webhooks for promoters, passives, and detractors to route responses to the right team. Detractor alerts enable immediate follow-up.
Webhook configuration:
Enabled: true
Endpoints:
- Promoters:
Type: slack
Webhook: https://hooks.slack.com/services/xxx
Channel: #nps-promoters
- Passives:
Type: email
Webhook: nps@yourcompany.com
Subject: "NPS feedback - {{score}}"
- Detractors:
Type: linear
Webhook: https://api.linear.app/xxx
Team: Customer Success
Priority: High
Labels: [nps, detractor, at-risk]
Payload:
{
"token": "tk_abc123xyz",
"ticket_id": "550e8400-e29b-41d4-a716-446655440000",
"customer_email": "user@example.com",
"score": 3,
"classification": "detractor",
"comment": "Wait times are too long and agent didn't understand the issue.",
"timestamp": "2025-05-01T14:30:00Z"
}Analytics and reporting
View NPS analytics in Beamdesk dashboard: trend lines, score distribution, and per-persona breakdown. Filter by queue, time range, or ticket type to identify patterns.
- NPS trend chart: track weekly and monthly changes
- Score distribution: see percentage of promoters, passives, detractors
- Per-persona NPS: identify which personas drive satisfaction
- Comment word cloud: common themes in qualitative feedback
- Correlation analysis: NPS vs resolution time, vs escalation rate
Best practices
- Start with post-resolution surveys for immediate feedback
- Use sampling rate to avoid survey fatigue: 10-30% is typical
- Follow up with detractors within 24 hours
- Ask promoters for testimonials or referrals
- Review NPS weekly and correlate with other metrics
- A/B test survey questions to improve response rate
- Keep surveys short: 1 main question + 1 optional comment