Ask in the channel. Get the answer there.
Everyone in the thread sees it, and anyone can pick it up later without starting over.
They answer questions, take on tasks, and use the accounts you give them. Each one has its own handle, memory, connected accounts, and channels.
Everyone in the thread sees it, and anyone can pick it up later without starting over.
Teammates
Each one has its own name, memory, connected accounts, and channels. You set all of that up by asking, in Slack.




Each one is a bundle you can shape, not a prompt. Every teammate carries its own set of these, and you can change any of them by asking in Slack or in Admin.
@supportWhat it does, how it talks, and what it may never do. Plain text you can change any time.
Reusable know-how, imported from a GitHub repo or a skills.sh link.
The accounts it may use, connected to it alone. 35 presets, plus your own APIs.
GitHub repositories it can read and work in, granted through the GitHub App.
What it has learned so far. One memory per teammate, readable and editable by you.
Recurring or one-time work it runs on its own and posts to a channel.
Its own model and provider, pinned per teammate. Cheap and fast, or strong.
Under the hood, every teammate runs on Flue, the open agent framework from the Astro team, now part of Cloudflare. Flue handles the durable sessions, tools, skills, and MCP; Chickpea is the Slack product on top.
Deep Slack integration
We obsess over the Slack experience. Reactions, live status, streaming replies, real tables, task lists, a signed footer: every reply uses what Slack does best, so a teammate feels like part of the workspace.
| Deal | Owner | Amount | Reason |
|---|---|---|---|
| Halvorsen Freight | Marco | $72,000 | Legal review |
| Bluefin Labs | Priya | $48,500 | Legal review |
| Orchard Health | Marco | $39,000 | Went quiet after demo |
Need a wall between two jobs? Make a second teammate. Each one keeps its own accounts and its own channels, so support never sees finance.

Yours, all the way down
Chickpea deploys to your own Cloudflare account and talks to the model provider you choose. Nothing about your team passes through us.
One deploy, into an account you own. State, memory, and credentials stay there.
Pinned per teammate. A cheap fast model for triage, a strong one for the teammate that writes.
No per-seat pricing, no metering. Fork it, run it for your company, sell what you build on it.
All 35 presets. Anything else with an HTTP API or an MCP server works too.
Security
Self-hosted only matters if the thing you are hosting is governable. Three rules hold the whole way down.
Unmentioned messages never reach a model. Nothing is read in the background.
Sending, deleting, publishing, and bulk changes wait for a person, unless you wrote otherwise into its instructions.
The model picks an account by name. The secret is added at the last moment, on the way out.

Three steps, no vendor in between.
One deploy, into an account you own. Nothing of yours passes through anyone else.
Chickpea is requesting access to NorthwindPost messages, read mentions, add reactionsAllowAdd the app to your workspace, choose a provider, and paste one key. The setup link walks you through it.
Describe the job in a sentence. Chickpea creates the teammate, gives it a handle, and publishes it where you say.
Or run it on your own box with Node 22 or newer. Either way, the last step is messaging it in Slack. A real reply is the proof.
Chickpea is Apache 2.0 licensed, with no per-seat pricing and no metering. You pay your model provider directly, and Cloudflare usage lands on your own account under whatever plan you are on.
Anthropic, OpenAI, OpenRouter, or Cloudflare Workers AI, pinned per teammate. Cloudflare deploys can use Workers AI with no API key at all.
No. The Deploy button clones the repository into your account and opens a private setup link. Setup is four steps: connect Slack, choose a provider, choose a model, send a message.
Runtime, model traffic, configuration, memory, and connector credentials stay in the infrastructure you operate. The one exception is opting into managed connectors, which hands OAuth for those accounts to Composio.