---
title: "Customer Support Email Agent Starter"
---

import SupportCTA from "/snippets/support-cta.mdx";

<SupportCTA />

## Summary

This starter turns the customer-support case study into a small local workflow:
read an inbound customer email, read a local support policy document, classify
the case, and draft a safe reply for human review.

## Status

`starter`

Source code: [case-studies/examples/customer-support-email-agent-starter](https://github.com/Prompthon-IO/agent-systems-handbook/tree/main/case-studies/examples/customer-support-email-agent-starter)

## Why It Exists

Customer support is a practical local-agent shape because the useful context is
often already nearby: an email export, a policy document, a refund rule, or an
FAQ file. This starter keeps that boundary visible by requiring explicit local
paths instead of pretending the agent knows the policy from memory.

## Related Lab Pages

- [Customer Support Agents](/case-studies/customer-support-agents)
- [Case Studies Overview](/case-studies)
- [Protocols And Interoperability](/systems/protocols-and-interoperability)

## Folder Structure

```text
customer-support-email-agent-starter/
├── index.mdx
├── skill/
│   └── SKILL.md
└── src/
    ├── email_triage.py
    ├── policy_loader.py
    └── reply_guardrails.py
```

## Quick Start

This is a starter, not a finished helpdesk integration. The code sketch uses
only the Python standard library and focuses on the local-path boundary.

Example:

```python
from reply_guardrails import draft_policy_grounded_reply

result = draft_policy_grounded_reply(
    email_text="Subject: Refund request\nI received the wrong item.",
    policy_path="/Users/example/support/refund-policy.md",
)

print(result.reply_subject)
print(result.reply_body)
print(result.needs_human_review)
```

For a repo-level smoke check, run `python3 scripts/verify_example_projects.py`
from the repository root.

## Included Sample Files

- `skill/SKILL.md`: skill instructions for checking customer email and drafting
  policy-grounded replies from a local document path
- `src/email_triage.py`: lightweight classification and summary helpers
- `src/policy_loader.py`: local policy loading and evidence extraction helpers
- `src/reply_guardrails.py`: draft generation and human-review guardrails

## Constraints

- No mailbox, Gmail, CRM, or helpdesk adapter is implemented.
- The starter reads local text-like policy files only.
- Drafts are intended for human review, not automatic sending.
- Classification is keyword-based and intentionally small.

## Next Steps

- Add a mailbox adapter that writes inbound messages to explicit local paths.
- Add structured policy sections with stronger retrieval.
- Add evaluation fixtures for refunds, billing, complaints, and escalation.
- Add an audit artifact that records policy evidence and reviewer decision.
