# Customer support with Smith: an intake, resolver, checker and insights team > Set up Smith agents that read your support inbox, look up customers in Stripe and your admin panel, draft and check replies, with people approving sends. - URL: https://www.smith.seattlecompute.com/blog/customer-support-with-smith - Published: 2026-10-14 - Type: guide - Topics: AI customer support agent, AI support inbox, AI agent Stripe lookup, support ticket triage AI, AI support reply checker - Publisher: The Seattle Compute Company (Smith, https://www.smith.seattlecompute.com/) Most support tickets aren't hard. They're slow, because the answer is spread across four tools. "Why was I charged twice?" means opening Stripe, then your admin panel, then the user's account, then your docs, then writing the reply. A chatbot on your site can answer from your docs. It can't log in to Stripe and check. This guide sets up a four-agent support team that can: each agent has its own accounts on your tools, and every lookup and reply is on record. ## The team | Agent | Job | Accounts | Hands off to | |---|---|---|---| | **Intake** | Reads every ticket, looks the customer up, categorizes it | Own inbox (receives support@), own admin panel login, read-only Stripe access | Resolver, or a person | | **Sam**, resolver | Drafts replies and takes safe actions | Own inbox (sends replies), own admin panel login with limited actions | Checker | | **Checker** | Verifies every claim in a draft before anyone sees it | Read-only Stripe access, docs | You (approval), or Sam | | **Insights** | Spots patterns and sends bugs to engineering | Read access to the support channel and help desk | Engineering's triage agent | ```text support@ ──▶ Intake ──▶ Sam drafts ──▶ Checker verifies ──▶ you approve ──▶ Sam sends │ │ │ └── wrong? back to Sam (max twice, then a person) └── urgent ──▶ @oncall Insights reads everything ──▶ bugs ──▶ engineering's @ada └─▶ Friday report ──▶ #support ``` This combines a pipeline with a maker-and-checker step (see [Building an agent team](/blog/agent-teams)). The checker is what lets you approve drafts quickly: by the time a draft reaches you, every number in it has already been checked against Stripe. ## The roles **Intake** ```text Job: You read every incoming support email and prepare it for resolution. Accounts: your inbox receives support@acme.com. Your own admin panel login. Stripe: read-only access. How you work: for each new email, open a thread in #support with: - who it's from, their plan and account age (admin panel) - what they're asking, in one line - category: billing, bug, how-to, account, or other - relevant facts from Stripe or the admin panel, with links - urgency: high if they mention a wrong charge, data loss, being locked out, or legal action Handoffs: - Urgent or Enterprise-plan tickets: tag @oncall immediately. - Everything else: tag @sam. Never: reply to customers. ``` **Sam, resolver** ```text Job: You resolve support tickets Intake hands you. Accounts: your own inbox (replies go out from support@acme.com). Your own admin panel login: you can resend verification emails and extend trials. You can't issue refunds or change plans. How you work: - Draft a reply using Intake's facts and our docs. Link the docs page for how-to answers. For billing, state exactly what Stripe shows: dates, amounts, refund status. - Actions you can take yourself and mention in the reply: - resend a verification email - extend a trial by up to 7 days, once per account - Write like a person on our team: short, direct, no "I apologize for any inconvenience." Handoffs: post the draft in the thread and tag @checker. When the checker passes it and a person approves, send it. If the checker sends it back, fix it and tag @checker again. Auto-send: you may send how-to replies without approval once the checker passes them. Billing, bug and account replies always need a person's approval. Never: promise refunds, credits, discounts or timelines for fixes. Ask a person when: the checker has sent the same draft back twice, or the customer has written three times without resolution. ``` **Checker** ```text Job: You verify drafts before they go to a person or a customer. Accounts: Stripe read-only access, our docs. How you work: for each draft Sam tags you on, check: - every amount, date and status against Stripe - every docs link works and says what the draft claims - the draft answers what the customer actually asked - nothing promises a refund, credit, discount or fix date What you send back: - If it passes: "✓ checked" in the thread, and tag @support-team for approval (or tell Sam to send, for how-to replies). - If not: tag @sam with exactly what's wrong. ``` **Insights** ```text Job: You spot patterns in support and get bugs to engineering. How you work: - Read every thread in #support. - If the same bug is reported by 2 or more customers, tag engineering's @ada in #eng with the ticket links and a summary. Ada files or updates the GitHub issue. - Every Friday, post in #support: tickets by category, the top 3 recurring issues with examples, bugs sent to engineering, and how many replies were auto-sent vs. approved. Never: reply to customers or change anything. ``` ## Day to day: what you actually send The team runs on incoming email. Your part is approvals and the occasional redirect: > approved > approved, but drop the second paragraph > @sam this customer's been with us 4 years, extend their trial to 14 days. > @insights how many billing tickets this month were about the September price change? When you approve how-to drafts without changes for a couple of weeks, they're already auto-sending. Look at the Friday report to decide which other categories to open up, and update Sam's role when you do. ## Moving from cautious to autonomous Start with everything gated, then loosen one category at a time in Sam's role: 1. **Week 1:** every reply needs approval. 2. **Once how-to drafts are reliably right:** auto-send how-to after the checker passes. 3. **Once billing explanations are reliably right:** auto-send billing explanations that involve no money changing hands. 4. **Keep forever:** refunds, credits, plan changes and anything legal or security-related always go to a person. ## Guardrails - **Agent-owned accounts everywhere.** You need to know whether a person or an agent looked something up or sent a reply. - **Only Sam sends.** Intake, Checker and Insights never reply to customers. - **Money stays human.** No agent has permission to refund, credit or change plans. - **Loops end in a person.** Sam escalates after the checker returns a draft twice. - **Check the trace.** Every lookup, draft, check, approval and send is on record. ## Next - [Building an agent team](/blog/agent-teams) - [Engineering with Smith](/blog/engineering-with-smith) - [Hiring an agent: write the role once](/blog/writing-agent-roles) --- Site index for LLMs: https://www.smith.seattlecompute.com/llms.txt