Use Cases
Customer Support
Deploy a goClaw agent for customer support — knowledge-grounded responses, objection handling, and continuous learning from corrections.
A goClaw support agent handles inbound customer questions across email, Telegram, and SMS. It grounds every response in your knowledge base, escalates to humans when needed, and gets better over time by learning from corrections and filing curiosity items for gaps.
What the agent does
- Reads inbound support messages across configured channels
- Searches the knowledge base for relevant product documentation, FAQs, and procedures
- Drafts a response grounded in knowledge (with citations to knowledge files used)
- If confident: sends the response autonomously
- If uncertain: drafts a response and flags for human review in the inbox
- Files curiosity items for questions it couldn't fully answer
- Learns from human corrections — when you edit a draft, the agent notes the correction
Configuration for support
Agent persona
agent:
name: "Casey"
persona: |
You are Casey, an AI customer support agent for Acme Corp.
Your job is to help customers succeed with the Acme platform.
You are direct, clear, and helpful. You don't use corporate-speak.
You give complete answers, not just "check the docs."
When you don't know something, you say so — don't guess.
You are an AI. If asked, confirm this.
If a customer is frustrated, acknowledge their frustration before solving.
goals:
- Answer customer questions accurately using product knowledge
- Identify if the customer has a bug vs. a usage question
- Escalate billing disputes and enterprise account issues to humans
- Keep CRM contact records updated with support context
- File curiosity items when you encounter knowledge gaps
behaviors:
confidence_threshold: 0.85 # Below this → draft for human review
escalation_keywords:
- "refund"
- "billing dispute"
- "enterprise"
- "legal"
- "lawsuit"
auto_reply: true # Send confident responses automatically
Knowledge base structure for support
knowledge/
├── products/
│ ├── platform-overview.md # What Acme does
│ ├── features/ # Feature-level documentation
│ └── changelog.md # Recent changes
├── support/
│ ├── common-errors.md # Error codes and fixes
│ ├── installation.md # Setup guides
│ ├── integrations.md # Third-party integration docs
│ └── faq.md # Frequently asked questions
└── escalation/
└── procedures.md # When and how to escalate
Confidence-based routing
The agent evaluates its own confidence before responding:
| Confidence | Action |
|---|---|
| ≥ 0.85 | Respond autonomously |
| 0.60–0.85 | Draft response, flag for human review |
| < 0.60 | File curiosity item, send acknowledgment to customer |
The confidence score is the agent's self-assessment of how well the knowledge base covers the question. A question about a feature that's well-documented scores high. A question about an edge case or undocumented behavior scores low.
Thresholds are configurable in config/agent.yaml.
Learning from corrections
When a human edits an agent draft before sending, the agent detects the correction:
- Human edits the draft in the inbox UI
- The diff is captured (what the agent said vs. what the human said)
- The agent files a correction note in the knowledge base:
---
title: Correction: export file format question
source: human_correction
date: 2026-03-01
tags: [export, csv, correction]
---
# Correction
## What I said
"The export supports CSV and JSON formats."
## What the human corrected it to
"The export supports CSV only. JSON export is on the roadmap for Q2 2026."
## Lesson
CSV is the only supported export format. JSON is planned but not available. Do not
mention JSON as a current capability.
This correction file is indexed and retrieved in future similar questions.
Escalation flow
When the agent identifies an escalation keyword or falls below confidence threshold for a sensitive topic:
- Files the conversation in the inbox with
status: "needs_human" - Sends the customer an acknowledgment: "I'm looping in a member of our team to help with this."
- Optionally notifies the human team via Slack
escalation:
human_handoff_message: |
Thanks for reaching out. I'm looping in a member of the Acme team
to help you with this. You'll hear back within one business day.
notify_humans:
channel: slack
workspace: voyage
target: "#support-escalations"
Example support session
[Customer via Email]
"Hi, I'm getting a 403 error when trying to connect my Salesforce integration.
I've followed the docs but it keeps failing."
[Agent lookup]
knowledge_search: "403 error Salesforce integration"
→ Match: support/common-errors.md (confidence: 0.91)
[Agent response — sent autonomously]
"Hi Sarah,
The 403 error on the Salesforce integration usually means the Connected App
hasn't been granted the correct permissions.
Here's how to fix it:
1. In Salesforce Setup, go to Apps → App Manager → find your Connected App
2. Under OAuth Policies, set Permitted Users to 'All users may self-authorize'
3. Under API (Enable OAuth Settings), ensure these scopes are checked:
- Access and manage your data (api)
- Perform requests on your behalf at any time (refresh_token, offline_access)
4. Save, wait 5–10 minutes for Salesforce to propagate
5. Retry the connection from Acme
If that doesn't resolve it, reply here and I'll dig deeper.
— Casey"
[Agent post-action]
crm_add_note: "Support: 403 Salesforce error. Sent scopes fix. Awaiting confirmation."
crm_schedule_followup: +2 days (check if issue resolved)
Metrics
The admin dashboard tracks:
- Messages handled autonomously vs. human-reviewed
- Average confidence score
- Curiosity items filed (knowledge gaps)
- Resolution rate (customer didn't reply again within 7 days)
- Escalation rate by topic
- Time-to-response per channel
