Skip to content

Create an Agent

The three ways to create a Chickpea Agent, what each one saves, and how to prove the new handle answers in Slack.

Updated View as Markdown

Creating an Agent saves one new teammate: a name, a handle, an avatar, and the instructions it follows everywhere it works. Where publishing gives an Agent that already exists reach into a channel, creating one brings the teammate into being with no channels, no connections, and no memory. This page covers the three doors that create an Agent, what each one saves, and how to prove the new handle answers in Slack.

Prerequisites

  • A Chickpea membership. Every role can create an Agent, including Member. Publishing that Agent to a Slack channel also requires that you belong to the channel in Slack.
  • A paid Slack plan and a workspace policy that lets Chickpea create user groups. A handle is a Slack user group with zero members. Without both, the Agent is still saved and only the handle fails.
  • A name and handle that are not “chickpea”. That identity is reserved for the system Agent, and Chickpea refuses any spelling that normalizes to it.

Create from Slack

Ask in the channel where the teammate should work. Chickpea creates one base Agent immediately, with no proposal and no second confirmation.

  1. Mention @Chickpea and describe the job.

    @Chickpea make me a support agent that answers billing questions and knows our refund policy

  2. Read the introduction it posts back. The new Agent introduces itself in the thread under its own name, handle, and avatar, and repeats the description you gave it.

  3. Follow the Connect X links if you named a service. Connectors you named in the message become up to three independently authorized Connect X actions in that welcome. The links never grant access on their own; a person completes each one in the browser.

  4. Open View Agent to finish anything else in Admin.

Where you ask decides the reach. A request made in a channel grants that exact channel and nothing more. A request made in a DM creates no channel grant at all, so the Agent is unpublished until you publish it.

Two cases do not apply immediately. An Agent that any workspace member may edit is an authority change, so it comes back as a proposal to confirm first. A name or handle that matches an Agent you can already edit returns a clarification instead: use the existing Agent, or choose a distinct name and handle.

Create in Admin

  1. In Admin → Agents, choose New Agent. The address is /admin/agents/new.
  2. Under Details, enter a Name. It is required and it is the name shown on the Agent’s Slack replies. The optional Description is capped at 500 characters.
  3. Under Destinations → Slack, check the Handle. It is derived from the name: lowercased, with every character outside a-z, 0-9, _, and - replaced by -, and capped at 80 characters. Edit it here if you want something else.
  4. On the Instructions tab, write what the Agent does. Saving without it fails with Agent instructions are required.
  5. Use the other tabs now or later: Skills, Connections, Repositories, Memory, Schedules, and Model.
  6. Choose Create Agent. Chickpea saves the Agent with a generated avatar and an unpublished handle.
  7. Select Choose first channel, pick a channel, then select Attach. Channels are offered only after the Agent exists.

Publishing to a public channel joins the bot automatically. Private channels need someone to /invite @Chickpea first, and the grant stays pending until then.

Create from a coding agent

The management MCP server creates an Agent in one call. Send exactly one create_agent operation in apply_workspace_changes and it applies immediately; propose_workspace_changes rejects Agent creation outright.

{
  "idempotencyKey": "<your-key>",
  "operations": [
    {
      "itemId": "agent",
      "kind": "create_agent",
      "clientRef": "research",
      "agent": {
        "id": "agent_research",
        "name": "Research",
        "description": "Synthesizes research for the team.",
        "requestedHandle": "research",
        "editPolicy": "creator_and_admins",
        "instructions": "Synthesize evidence and cite sources.",
        "enabled": true,
        "model": "<provider>/<model-id>",
        "skills": [],
        "mcpServers": [],
        "apiConnections": [],
        "repositories": []
      }
    }
  ]
}

An MCP request derives no channel reach. Publishing is a separate grant_agent_channel operation that requires confirmation. One apply request accepts at most 25 ordered operations, and the acting membership is recorded as the creator from the authenticated session, never from a tool argument.

Verify

Mention the new handle in a channel it was granted, in a new top-level message. A threaded reply under the Agent’s own name and avatar is the proof; nothing earlier counts.

New configuration is active on the next newly admitted Slack event, including a reply in a thread that is already open. If nothing comes back, check that the Agent holds an active grant for that channel, and that your message actually mentioned the handle: a top-level message that mentions no one is dropped before any model is involved.

Fix a blocked handle

The Agent is saved either way. Chickpea records the reason on the Agent’s page in Admin and offers Retry next to the exact fix.

What Slack returned What it means What to do
Policy denied The workspace lets only Owners and Admins create user groups Have a Slack Owner or Admin open Roles & permissions → Account types at slack.com/admin, choose Edit permission next to Create and edit user groups, add Members, save, then select Retry
Paid plan required Slack user groups need a paid plan Upgrade the Slack workspace, then select Retry
Handle already in use Slack handles are workspace-global across members and user groups Take one of the suggested handles, which append -2, -3, and so on, or enter another, then select Retry
Two-factor required Slack will not manage the group until the acting member completes 2FA Complete two-factor authentication in Slack, then select Retry

Reconnecting Slack does not change a policy denial. It is the fix for one case only: Chickpea no longer holds a valid Slack authorization for the workspace, which shows as Reconnect Slack instead of Retry.

What creation does not do

  • It grants nothing beyond the source channel. No connection, repository, schedule, or extra channel rides inside the creation itself. Each is a separate change with its own policy.
  • It shares nothing with other Agents. A connection authorized for one Agent belongs to that Agent; another Agent starts its own setup even for the same external account.
  • It starts with no memory. An Agent has one durable memory of its own, with no channel or user scope, and creation writes nothing into it.

Next steps

  • Agents: instructions, models, connections, skills, memory, and schedules for the Agent you created.
  • In Slack: handles, channel grants, and what else @Chickpea can do from a message.
  • Admin: who can sign in, what each role may do, and the management MCP behind the third door.
  • How Chickpea works: what happens between a mention and a reply.
Navigation

Type to search…

↑↓ navigate↵ selectEsc close