Case Study

AI agent on AWS delivering instant access to postal-industry knowledge

Driven by results:

  • 100+ employee inquiries handled by the agent in the first week of rollout
  • Replaced manual Confluence + USPS-manual lookups with sub-second answers in Slack
  • Daily-synced knowledge base keeps responses aligned with current postal regulations

Overview

GrayHair Software offers a wide range of products, services, and deep postal-industry expertise. Internally, that expertise was locked behind manuals, Confluence pages, and a handful of senior experts whose calendars filled up fast. Anyone who needed an answer about USPS regulations or GrayHair's own practices either dug through documentation themselves or interrupted someone who knew where to look.

The goal of the engagement was to give every employee instant, natural-language access to that knowledge — and to do it in a way that addressed the team's real concerns about AI: hallucinations, change management, and trust.

ForthClover designed and shipped an AI agent built on Amazon Bedrock, integrated directly into Slack so it lives in the tool the team already uses. The agent is grounded in GrayHair's own documentation through Bedrock Knowledge Bases, refreshed daily, and protected by Bedrock Guardrails.

AWS architecture

The system is split into two stacks: a Slack-bot tier that handles user interaction, and a Bedrock-agent tier that owns the retrieval, reasoning, and safety layers. Each is independently deployable so the team can iterate on one without redeploying the other.

Architecture diagram

GrayHair AWS architecture

GrayHair AWS architecture diagram showing the Slack bot tier on ECS Fargate behind an ALB and WAF, talking to a Bedrock Agent with a Knowledge Base backed by OpenSearch Serverless, S3, and Confluence connectors, with EventBridge-scheduled Lambda for daily content sync.

Two-stack AWS architecture for GrayHair's Slack-integrated AI agent — bot tier on Fargate, agent tier on Bedrock with a daily-synced Knowledge Base.

Stack 1 — Slack bot infrastructure

  • Amazon ECR: private container registry for the bot service image.
  • Amazon ECS on Fargate: serverless container runtime hosting the Java bot service that brokers between Slack and the Bedrock agent.
  • Amazon Route 53: DNS for the public bot endpoint.
  • Application Load Balancer: HTTPS termination and routing in front of the Fargate service.
  • AWS WAF Web ACL: baseline rule set guarding the public endpoint against common abuse patterns.
  • Amazon CloudWatch Logs: structured logging for every Slack interaction, used both for debugging and for usage analytics.

Stack 2 — Bedrock agent & knowledge base

  • Bedrock Agent: the orchestration layer with built-in conversation memory, tool calls, and a tunable system prompt for the postal-industry assistant persona.
  • Bedrock Knowledge Base: retrieval-augmented generation backed by S3 and Confluence connectors, so answers are grounded in GrayHair's actual content.
  • OpenSearch Serverless: the vector store powering the Knowledge Base's similarity search.
  • Bedrock Guardrails: content-safety and denied-topic filters applied to every request and response.
  • AWS Lambda + EventBridge: scheduled daily sync that pulls fresh content from S3 and Confluence into the Knowledge Base.
  • AWS Secrets Manager: encrypted store for Confluence credentials and other integration secrets.

Benefits

The agent went from prototype to production-ready inside a single quarter. The benefits broke down across four dimensions.

Operational impact

  • Self-service knowledge: employees ask questions like "does the USPS allow punctuation in an address block?" and get a sourced answer in seconds.
  • Reduced expert load: senior staff spend less time fielding repetitive lookups and more time on the work only they can do.
  • 100+ inquiries handled by the agent in the first week of rollout.
  • Zero training required: the agent lives inside Slack, so adoption is friction-free.

Trust & safety

  • Sourced answers: responses cite the specific documentation passages they were drawn from, so users can verify before acting.
  • Daily-fresh data: the scheduled sync keeps the Knowledge Base aligned with the latest USPS regulations and internal practices.
  • Bedrock Guardrails: denied-topic and content filters reduce the risk of off-policy responses.
  • No fine-tuning needed: the system stays in sync with content updates without retraining cycles.

Architectural fit

  • AWS-native: every component is a managed AWS service, so the GrayHair platform team owns no novel infrastructure.
  • Serverless throughout: Fargate, Lambda, and Bedrock all scale to zero, so quiet hours cost nothing.
  • Observable: CloudWatch logs every Slack turn, every Bedrock call, and every guardrail trigger.
  • Compartmentalised: the bot tier and the agent tier deploy independently, keeping change risk small.

Developer experience

  • Infrastructure as code: the entire stack is described in Terraform and version-controlled.
  • Familiar surface: users interact through Slack, the same tool they use for everything else.
  • Fast iteration: prompt and Knowledge Base changes ship without bot-tier redeploys.
  • Clear ownership: the postal-knowledge team owns the documentation; ForthClover and platform engineering own the agent. Lines of responsibility are obvious.

The AI agent now lets every GrayHair employee tap directly into the company's collective postal expertise. Manual search through Confluence and ad-hoc "quick questions" to the experts have largely been replaced by sub-second answers in Slack. Just as importantly, the daily sync ensures that as USPS rules and internal practices evolve, the agent evolves with them — without any model retraining required. ForthClover was thankful to partner with GrayHair to ship something that actually helps their staff get work done faster.