guest@chatter:~$ chatter --about
$ open-source platform for AI agents that talk to people · any model

AI conversations
that get answers.

Chatter is an open-source platform for AI agents that talk to your customers, candidates and users: to survey them, screen them or help them. Set one up in minutes, share it anywhere, and see clear results.

// surveys · screening · support · free and open source
support_assistant.yamlrunning

Model-agnostic by design.Swap providers in configuration. Your agents don't change.

ClaudeanthropicGPTopenaiGeminigoogleLlamametaMistralDeepSeekQwenCohereBedrockawsAzure OpenAIVertex AIOpenRouterOllamalocalvLLMself-hosted
3// jobs it does well: surveys, screening, support
15+// model providers, from Claude to models on your own GPUs
10// ways to reach people: widget, app, SMS, phone, email…
1 file// is the whole agent, readable by anyone on the team
what you can do

Three things, done well.

Forms get one-word replies. Chatbots answer questions but don't finish anything. Chatter has a real conversation, asks a follow-up when an answer is vague, and gives you results you can count.

1 · ask

Surveys and feedback

Customer satisfaction, NPS, product reviews. People answer in their own words; Chatter asks why when it matters.

  • Branching on earlier answers
  • A messy reply is read back to confirm
  • Unhappy answers go to your team's inbox
2 · screen

Screening

First-round candidate interviews and sales lead qualification. Same questions for everyone, fair rules, a summary for your team.

  • Every decision in the audit log
  • Hand-off with the answers so far
  • Same questions, every person
3 · help

Support

Answers questions from your help docs, takes the details of a problem, and passes it to a person when it should.

  • Answers checked before they're sent
  • Handoff inbox for your team
  • Memory only with consent
reach people

Send it to a list

Email or text everyone a personal link, or have the agent call them. A reminder goes out once, and you see who finished.

  • Reopening a link picks up where they left off
  • Pause a campaign and its links stop
see results

Clear results

Scores, percentages and NPS, plus the main themes in what people said, each with real quotes. Download everything as a spreadsheet.

  • Export every response as CSV
  • Ask your metrics in plain English
talk or type

Voice and phone

People can speak instead of typing, on your website or over a phone call. The agent answers out loud.

  • Falls back to the browser's own voice
  • Signed phone webhooks only
website widgetinstallable apppersonal linksemailSMSphone callsWhatsAppSlackWordPressAPI
DefineOne YAML file, or let the console draft it.
ReachWidget, app, campaign links, SMS or a call.
ConverseValidated answers, follow-ups, handoff.
LearnFindings, quotes, metrics, exports.
example agents

One platform, many kinds of agent.

Each of these is a short policy file you can open in the console as a template, change, and publish.

support · help

Store support

My shoes arrived damaged.

Sorry about that. What's your order number?

ORD-48213

Thanks. I've logged it for the returns team.

greet_consentform_fillknowledge_search
screen · hiring

Candidate screening

Looking for data roles in Austin.

Here are 3 openings. Which one interests you?

The second one.

Great choice: Data Analyst. What's your full name?

job_searchform_fillsubmit on consent
ask · feedback

NPS survey

I'd give it a 5.

Thanks for being honest. What could we have done better?

Delivery was late.

How late, and did it affect your plans?

surveyfollow-up on low scoresfindings
analyze · data

Sales analyst

Which region sold the most?

US: $30,990, then APAC $14,620 and EU $10,450. Worth checking why EU trails.

analyticschecked SQLCSV or Parquet
coach · open

Career coach

I want to move from support into product.

Your customer insight helps. Which product skills have you used so far?

plannerskills lookupno fixed flow
your docs · any site

Chatbot from your content

When do you open?

We open at 7am every day except Monday.

upload files or linksknowledgewidget · Shopify · WhatsApp
your content, everywhere

Your docs in. A chatbot on every channel.

Upload your FAQ, price list or manual, or paste links to your pages. Chatter turns them into a chatbot that answers from your content, then gives you what to paste for each place your customers are.

STEP 1

Add your content

PDF, text, Markdown, CSV or HTML files, up to 20, plus up to 10 web page links. Only public pages are fetched.

STEP 2

Get your chatbot

It answers only from what you gave it, checks each answer before sending, and hands off to a person when asked.

STEP 3

Put it where people are

One line for any website. Every channel below comes from the same chatbot.

<script src="https://convoframe.com/widget.js" data-agent="bloom-bakery" async></script>
website

JavaScript widget

A chat button on any page. Paste the line before </body>.

  • Runs only on the sites you allow
  • Voice in and out, if you turn it on
shopify

Your Shopify store

Themes → Edit code → layout/theme.liquid, paste the same line, save.

  • Answers shipping, returns and sizing questions
  • Hands off to your team with the chat so far
wordpress

WordPress

A Custom HTML block, or your theme's footer code setting.

  • No plugin to install
  • Works with any theme
whatsapp

Your WhatsApp number

Connect your WhatsApp Business number from Meta, and customers chat with your agent there.

  • Tokens stored encrypted, never shown again
  • Every message checked against Meta's signature
app

Installable app

A link that opens full-screen and can be added to a phone's home screen.

  • Share it by email, QR code or SMS
phone

Phone and SMS

The same agent on a phone number, by voice or text.

  • Signed phone webhooks only
the platform

How it works.

You describe the agent. Chatter runs it with guardrails, keeps a record of every step, and shows you what happened.

01 · define

One file is the whole agent

Charter, flow, tools, guardrails, memory and limits in a short YAML policy that a product manager can read.

  • Draft a policy from a plain-English description
  • Errors point at the exact line
  • New capabilities are one decorated function
02 · govern

Rules enforced in code

Every answer is validated, every re-ask counted, every tool call checked. A model never decides on its own to end a conversation.

  • Consent before anything is remembered
  • Guardrails on input and output
  • Handoff inbox for your team
03 · observe

A record of every decision

Routes, answers, exits, handoffs and tool outcomes in a per-workspace audit log, with an outcomes dashboard on top.

  • Completion and handoff rates per agent
  • Ask your metrics in plain English
  • Archive to Apache Iceberg in your S3
any model

Bring the model. Keep the agent.

Settings shows cheaper models that can do each job, priced on your own usage, from every major maker on OpenRouter. Frontier, open-weight or running on your own hardware. Chatter talks to Anthropic directly and to every major provider through litellm, so switching is a configuration change, never a rewrite.

  • generateThe model that writes replies and does the reasoning.
  • classifyA fast, inexpensive model that reads intent and yes or no.
  • verifyA separate model that checks answers before users see them.
# mix providers per job AGENTBUILDER_MODEL_GENERATE=claude-opus-5-5 AGENTBUILDER_MODEL_CLASSIFY=gemini/gemini-2.5-flash AGENTBUILDER_MODEL_VERIFY=openai/gpt-4o
AnthropicClaude, native SDK
OpenAIGPT, o-series
GoogleGemini
MetaLlama
MistralLarge, Small
DeepSeekV-series, R-series
Qwenopen weights
CohereCommand
xAIGrok
AWS Bedrockmanaged
Azure OpenAImanaged
Vertex AImanaged
OpenRoutergateway
Ollamaon your laptop
vLLMyour GPUs
quickstart

Your first agent, before your coffee cools.

No account, no sales call. Clone it, point it at a model, open the console.

STEP 1

Get the code

Python 3.12 and uv. One command installs the runtime and the console.

git clone https://github.com/pnrajan/chatter.git && cd chatter
STEP 2

Choose your model

Copy the example settings and add a key for any provider, or point it at a local model.

cp .env.example .env
STEP 3

Open the console

Pick a template, build it, and talk to your agent. Simulate users before anyone real sees it.

./run.sh
the console

Build, test and inspect in one window.

The policy on the left, the live conversation in the middle, and on the right exactly what the runtime did on every turn.

The Chatter console: an agent's YAML policy, a live conversation, and the timing of each stage of the turn.

Schema-aware editor

Autocomplete, inline errors, versions with diffs and rollback.

Simulated users

Scripted replays or model-played personas, kept apart from real data.

Turn-by-turn trace

Understand, decide, respond, with every model and tool call.

Launch checklist

Flags sample data, missing consent and unsaved edits.

trust

Guarantees that live in the architecture.

Not in a prompt. A charter cannot talk its way around them, and they hold for every agent you run.

Code does the counting

Re-asks, digressions and budgets come from structured verdicts, never from a model's judgement.

Tools behind a gateway

Allow lists, timeouts, circuit breakers and scrubbing of sensitive values on every call.

Pinned versions

Each conversation keeps the policy it started on. An edit never changes a session mid-flight.

Privacy by default

Memory is opt-in per item. Flagged turns are never stored. Provider errors never reach users.

Isolated workspaces

Memory, logs and metrics only ever read their own workspace's records.

Your cloud, your data

Self-host anywhere containers run. Documents and audit archives stay in your own S3.

templates

Start from an agent that already works.

Each template is a policy file you can read in a minute and change in five.

Hiring assistant

Finds matching roles, collects the application and submits it, answers policy questions.

hiring_agent.yaml

Support intake

Takes the order and the issue, answers from your help centre, hands off with context.

support_assistant.yaml

Data analyst

Answers questions about your data with checked numbers and their caveats.

sales_analyst.yaml

NPS survey

Score, the reason behind it, and what would make it better, with themes and quotes in the findings.

nps_survey.yaml

Career coach

An open conversation with clear scope, memory with consent, and polite limits.

career_coach.yaml
plans

Free to start. Built to scale.

The runtime is open source. Upgrade for hosting and support when you need them.

Open sourceFreeEverything, on your infrastructure.
  • Runtime, console and APIs
  • Unlimited agents and workspaces
  • Any model provider
  • Community support
Get the code
CloudEarly accessWe run it. You ship agents.
  • Hosted runtime, inbox and dashboards
  • Website widget and installable app
  • Audit archive in your own bucket
  • Priority support
Join early access →
EnterpriseCustomPrivate, compliant, supported.
  • Deployment in your cloud account
  • SSO, roles and retention controls
  • Custom tools and connectors
  • Support agreement
Talk to the team
questions

What teams ask first.

Which models can we use?

Any of them. Anthropic natively, and OpenAI, Google, Mistral, Meta, DeepSeek, Qwen, Cohere, xAI, Bedrock, Azure, Vertex, OpenRouter and local models through litellm. Each of the three jobs (generate, classify, verify) can use a different model.

Can an agent go off script?

The policy sets the goal and the scope; the runtime validates every answer and counts every re-ask in code. Out-of-scope requests are declined, and the model never decides on its own to end or extend a conversation.

Where does our data live?

Wherever you run it: sessions in Redis, memory and the audit log in Postgres, documents and the long-term archive in your own S3 bucket.

What happens when a user wants a person?

The conversation lands in the handoff inbox with the answers so far and a scrubbed transcript. Your team claims and resolves it, and later messages join the same handoff.

Do we need engineers to launch an agent?

Not for a new agent: it is a YAML file, and the console can draft one from a description. Engineers come in to add a new tool or capability, which is one decorated function.

Stop demoing agents.
Start running them.

Open source. Any model. Ready when you are.