Support Playbook
How to handle customer support tickets, troubleshoot issues, and escalate problems.
This document is your guide to handling support requests efficiently and professionally.
Ticket Workflow
Workflow States
- Unassigned: New ticket, no one claimed it
- Assigned: Someone is working on it (you)
- In Progress: Evidence of work (replied, investigating)
- Waiting on Customer: We replied, waiting for their response
- Resolved: Issue is fixed or properly explained
- Closed: Ticket archived, won't reopen
SLA (Service Level Agreement)
Your response time targets:
| Priority | First Response | Resolution Target | When |
|---|---|---|---|
| Critical (outage) | 1 hour | 4 hours | Service is down |
| High (loss of use) | 4 hours | 24 hours | Feature broken, can't use account |
| Normal | 24 hours | 72 hours | General issues |
| Low | 72 hours | 1 week | Questions, clarifications |
Ticket Priority Guide
Critical (P1)
- Service is down for user
- Billing error preventing payment
- Account lockout with no recovery
- Data loss or corruption reported
- Security breach or suspicious activity
→ Respond immediately, escalate to dev team if needed
High (P2)
- Upload failing for all users
- Can't log in due to broken auth
- Files disappearing or inaccessible
- Storage quota wrong (charged incorrectly)
- Subscriptions not working
→ Respond within 4 hours
Normal (P3)
- General troubleshooting questions
- Feature clarifications
- Billing questions
- Account management questions
- Feedback or suggestions
→ Respond within 24 hours
Low (P4)
- Thank you emails
- Feature requests
- Compliments
- Newsletter signups
→ Respond within 72 hours if at all
First Response Template
Subject: RE: [Original Subject] - We're here to help
Common Issues & Solutions
Login Issues
Problem: "Can't log in"
Ask:
- What error message do you see?
- Which login method (email, Google, Discord, GitHub)?
- Can you reset your password?
- Do you have 2FA enabled?
Troubleshooting:
-
Wrong password → Send password reset link
-
2FA locked out
-
Account doesn't exist → Check email used, suggest signup
-
OAuth failed (Google/Discord/GitHub) → Suggest:
- Clear browser cache
- Try different browser
- Try email/password login instead
- Check if OAuth connection is set up on their account
Upload Issues
Problem: "Upload failing" or "Upload won't complete"
Ask:
- What file size?
- What file type?
- What's the error message?
- What browser/app?
Troubleshooting:
-
File too large → Check their plan's upload limit
Solution: Upgrade plan or split into smaller files
-
File type blocked → We automatically scan with 71+ antivirus engines
-
Storage quota exceeded → Check user's used storage
-
Network timeout → Suggest:
- Retry upload
- Try different network (WiFi/ethernet)
- Try on different device
- Contact us if still failing
-
Quota error but shows space → Might be cache issue
Billing Issues
Problem: "Charged wrong amount" or "Subscription issues"
Ask:
- What date were you charged?
- What plan are you on?
- Do you have any active coupons or discounts?
- Is this a renewal or new purchase?
Troubleshooting:
-
Duplicate charges → Check Stripe transactions
-
Billed after cancellation → Check subscription status
-
Wrong amount → Check:
- Plan pricing (plans-overview.mdx)
- Coupons applied
- Tax if applicable
- Billing cycle (monthly vs. annual)
Common: User bought annual ($119/yr) and thought it was monthly ($9.99/mo) → Explain difference, offer cancellation with refund if within 30 days
-
Card declined → Explain: "Your card was declined. Please update your payment method in your dashboard and retry."
If they update and it still fails: Escalate to billing team
Storage/Quota Issues
Problem: "Storage showing wrong" or "Can't upload because storage full"
Diagnostic:
Solutions:
-
Actually out of space → They need to delete files or upgrade
- "You're using 98% of your quota. Delete unused files or upgrade for more storage."
-
Shows full but dashboard shows space → Cache issue
- Refresh dashboard
- Clear browser cache
- Try different browser
- Wait 15 min (might be calculation delay)
-
Used storage shows wrong → Might be:
- Files being compressed (OCR creates thumbnails)
- Deleted files still in recycle bin
- System error calculating total
Action: Check Prisma for user's files:
If result differs from API, escalate to dev team
Custom Domain Issues
Problem: "My custom domain doesn't work" or "SSL errors"
Ask:
- What's the domain?
- What error do you see?
- Did you update DNS records?
- How long ago did you set it up?
Troubleshooting:
-
DNS not updated yet
-
Domain registered but DNS not changed → They need to:
- Go to their domain registrar (GoDaddy, Namecheap, etc)
- Find DNS settings
- Add the CNAME record
- Wait 24 hours
-
SSL certificate not issued → Might be:
- CNAME not set up correctly (verify with dig/nslookup)
- DNS takes 24+ hours before cert auto-generates
- Tell them to wait 24 hours and try again
-
Domain appears to work but is slow → Check:
If yes, might just be slow → Check their content size
Commands to help troubleshoot:
OCR and Image Processing
Problem: "OCR isn't working" or "Images showing placeholder"
Ask:
- What file format?
- What size?
- Can you see the image?
- Are text results not showing?
Info to share:
- OCR is available on all plans (Spark through Enterprise)
- Works on PNG, JPG, PDF
- Processes automatically when file is uploaded
- Takes 5-30 seconds depending on file complexity
Troubleshooting:
-
Image uploads but takes time → Normal, might be:
- Large file needs processing time
- System busy with other files
- Ask them to wait 5 minutes
-
Text not appearing → Explain: "OCR extracts text from images. If no text appears, the image might be too blurry, too small, or not contain readable text."
Ask them to:
- Check image is legible
- Re-upload clearer version
- Check settings in dashboard
-
Specific language not working → Check:
- OCR supports 100+ languages
- If text is handwritten, accuracy is lower
- Fonts must be reasonably standard
Solution: Re-upload or try different image
Two-Factor Authentication (2FA)
Problem: "Lost 2FA device" or "Can't access backup codes"
Troubleshooting:
-
Still have backup codes
-
Lost backup codes and device
-
Code keeps showing wrong
Escalation Process
When to escalate a ticket:
To Development Team
- Technical bug (file won't upload, quota calculation wrong)
- API issue (returns wrong data, crashes)
- Database issue (data corruption, missing files)
- Performance issue (whole system slow)
Email template:
To Billing Team
- Refund requests
- Subscription management issues
- Coupon/discount problems
- Tax or legal billing issues
To Moderation Team
- Account security concerns
- Potential abuse or TOS violation
- Reports of malicious behavior
To Executive/Management
- Expensive customer (enterprise) with serious issue
- Legal threat or PR risk
- Multiple customers with same critical issue
- Demand for CEO response
Response Templates
Generic Good Outcome
Explaining Limitation
Escalation Explanation
Rejection (Refund Request Outside Policy)
Metrics & Tracking
Daily Check-in
- How many unassigned tickets are there?
- What's the average age of unassigned tickets?
- Who has the most open tickets?
Weekly Report
- Tickets handled: [N]
- Average response time: [X hours]
- Customer satisfaction: [N%]
- Escalations: [N]
Track In Dashboard
Use the support ticket system to:
- Log all tickets
- Add time spent per ticket
- Document resolutions
- Log escalations
Tips for Great Support
-
Be Empathetic — User is frustrated, acknowledge that
- "I understand how frustrating that must be"
-
Be Clear — Avoid jargon
- Bad: "Your quota calculation failed due to cache invalidation"
- Good: "Your storage number was outdated. Let me refresh it for you."
-
Be Complete — Answer the question fully
- Don't leave them guessing
- Explain the why, not just the what
-
Be Quick — Respond fast, even if just to say "I'm looking into this"
-
Be Professional — Don't make promises you can't keep
- "I'll have this fixed immediately" - risky
- "I'll investigate and get back to you within 4 hours" - good
-
Document Everything — Log your findings
- Future support staff will thank you
- Helps track patterns
Common Mistakes
Avoid: Promise a feature fix without confirmation
- You don't know if dev team can do it
Do this instead: "I've escalated this to engineering. They'll assess and get back to us."
Avoid: Tell customer to delete important data
- They might regret it
Do this instead: "You could delete old files to free space. Want help identifying which ones?"
Avoid: Process refund without checking company policy
- You might be giving away money
Do this instead: "Let me check our refund policy and get back to you."
Avoid: Get frustrated or sarcastic with customer
- They're paying you
Do this instead: Take a break, come back with fresh perspective
Support FAQ
Q: What if they're asking about a feature we don't have? A: Explain what we do have. Suggest workarounds. Log as feature request.
Q: What if they want a refund but policy says no? A: Politely explain policy. Offer to troubleshoot instead.
Q: What if they're abusive? A: You can close the ticket and escalate to moderation team.
Q: How long should I spend on one ticket? A: Start with 15 min. If not close to resolution, escalate.
Q: Should I give special treatment to enterprise customers? A: Yes. Prioritize their tickets. Escalate faster. Get manager involved sooner.
Resources
- Plans Overview — Feature limits
- Feature Matrix — What's in each plan
- FAQ — Common questions
- Admin API Reference — Tools to investigate issues
- Stripe Dashboard — Check billing
- Database — Check raw data when needed