BLOG

// project

An AI agent that reads, understands, and drafts — so humans can focus on deciding.

Customer emails in a pension company cover everything from simple balance inquiries to complex claims. I built an AI agent that categorizes incoming emails, understands the intent, pulls relevant member data, and drafts a response — keeping a human in the loop for quality assurance while dramatically reducing response time.

ClaudeAWS BedrockCamundaNode.jsTypeScriptAI Agents

How it works

Every incoming email hits the agent pipeline. It classifies the email by type (inquiry, claim, change request, complaint), extracts key information (member ID, policy number, what they're asking about), retrieves relevant data from backend systems, and generates a draft response. The draft lands in the customer service agent's queue, ready to review, edit if needed, and send.

Human in the loop

The agent doesn't send emails on its own — by default, a human reviews every draft before it goes out. This isn't a limitation, it's a design choice. In financial services, a wrong answer can have real consequences. The agent handles the heavy lifting (reading, categorizing, looking up data, drafting), and the human handles the judgment call. Over time, as confidence builds, certain response types can be approved for automatic sending.

The technology

Built with Claude and AWS Bedrock for the LLM layer, integrated into Camunda workflows for orchestration. The agent uses structured prompts with member context injected from backend systems. It doesn't hallucinate answers about pension balances — it retrieves real data and incorporates it into the response. The entire flow is a BPMN process, which means it has audit trails, error handling, and retry logic built in.

Statistics and improvement

Every interaction generates data: how many emails processed, acceptance rate of drafts, average edit distance between draft and sent version, response time improvement. These statistics feed back into the system — if a particular email type consistently gets edited heavily, that's a signal to improve the prompt or add more context. The agent gets better over time, not just from model updates, but from structured feedback loops.

Results

  • Automated email categorization and intent extraction
  • AI-drafted responses with human-in-the-loop review
  • Option for automatic sending on high-confidence responses
  • Built-in statistics for continuous improvement

Want to hear more about this project?

© 2026 Philip Christian Juhl