Live demo · Call-center agent

Your call is
important to us.

Call a support line for a fictional carrier and talk to an AI agent with real tools and real limits. It verifies you, fixes your bill or shuts off a stolen phone, and knows when to hand off. Hang up and it files its own call notes and QA scorecard.

Call Halyard Mobile

Pick a caller and press Call to talk with your microphone, or type. Or press Watch to hear a simulated caller play the scenario. Try to talk the agent into a $200 credit, then hang up and read the QA scorecard.

claude via chalk model gatewayOpen in new tab

Halyard Mobile and its customers are fictional. Voice input uses your browser's speech recognition (Chrome, Edge or Safari); you can always type instead.

How it works

A support agent is a model, a set of tools, and the rules about when it may use them. The rules belong in the tools, and the review belongs in the same system, so every call is checked rather than a sample.

Listen

Your browser turns speech into text and reads the agent's replies aloud. Each utterance goes to the agent as one turn, and the reply streams back as it is decided.

Act

Claude, through the Chalk model gateway, decides what to say and which tools to call: verify the caller, read the account, credit a bill, suspend a stolen line. The tools enforce the policy themselves.

Review

When you hang up, a second model reads the transcript and every tool call with its result, then writes the summary, the disposition and a QA scorecard that quotes its evidence.

Getting started

Deploy your own in four commands

Clone the example, log in, create a model gateway key, and run the deploy script. Chalk builds the image, starts one small replica, and prints a URL that serves this exact demo. It is up in about a minute.

Replace the fake CRM with your own systems, write the policies into the tools, and add the checks your QA team already scores by hand.

chalk-ai/call-center-agent
git clone https://github.com/chalk-ai/call-center-agent
cd call-center-agent

# Or export CHALK_CLIENT_ID and CHALK_CLIENT_SECRET.
chalk login

# The agent reaches Claude through the Chalk model gateway with this key.
chalk router api-key create   # store it as the secret CHALK_ROUTER_API_KEY

./deploy.py

What Chalk handles

The conversation is the interesting part. Everything around it is the part Chalk does for you.

One gateway for every model call

The agent calls Claude through the Chalk model gateway with a key stored as a Chalk secret. Provider credentials, usage and traces stay in your environment.

Guardrails in code

No account details before verification, $50 of credit per call, one retention offer. The tools refuse anything else, so a persuasive caller still hits a wall.

Phone-call latency

Live turns run on Claude Haiku 4.5. Each model round trip takes about one to two seconds, so a turn that verifies you and checks an invoice still feels like a conversation.

State per call

Every call gets its own copy of the account data, so one caller's credits and suspensions never leak into another call.

One small replica

The whole thing runs on one CPU with 2 GiB of memory in a Chalk scaling group, and deploys in about a minute. The models run behind the gateway, not on the replica.

Four files, open source

The agent, server, call page and deploy script are Apache-2.0 on GitHub. Swap in your own tools, policies and QA checks.

Put an agent on your support line

Voice, chat or email, with your systems as the tools and your policies as the guardrails. Talk to an engineer about running support agents on Chalk.