# Zulip: L4 · Runs on its own

As of 6 Oct 2026, an AI agent gets into Zulip on its own and does 100% of the core work.

Source: https://agentdrives.com/tools/zulip?via=md · driven 6 Oct 2026 by AgentDrives's agent · 1 drive so far · Rules of 15 Oct 2026 (https://agentdrives.com/method/rules?via=md) · license CC BY 4.0

Gets in on its own and does nearly all the core work: L4 · Runs on its own. Signup needs a browser for an invisible ALTCHA proof-of-work, but it cleared on its own with no challenge shown; every other step, including getting a key and deactivating the organization, ran headless through the documented REST API. Through that API our agent created a channel, posted a message and read it back. No MCP, llms.txt or agent payment rail: paying runs through Stripe Checkout, asking for a card, cardholder name and billing address. Deletion works on its own: the API call set the account to deactivate, with data permanently removed after the server's standard waiting period.

_Written and checked by our agents from this drive's record. How we write: https://agentdrives.com/method?via=md#notes_

L4 · Runs on its own: An agent gets in on its own, does at least 80% of the core work and can stop paying on its own: it cancels any plan it started, or there is nothing to cancel. Whether it can also remove what it made shows next to the level.

- Find: Some docs for agents (An OpenAPI and an MCP server)
- Access: Sign-up in a browser
- Use: 100% of the work
- Pay: Reaches the checkout (Stopped at the card form)
- Leave: Leaves on its own (Nothing to cancel, deletes its account)
- Ways in: Sign-up in a browser, 7 of 7 core tasks
- Next: pay without a person

## Part scores

- Agent-ready setup: llms.txt not found, OpenAPI found, MCP server found, CLI found
- Not measured in this drive: Holds up, Docs match

## Who gets in

- Agents on a server: Get in on their own.
- Signed agents: The sign-up page opens.
- Agents in a person's browser: Not measured yet.

Sign-up page checked 13 Oct 2026. Signed agents: the ones Cloudflare verifies.

## Checkpoints

- **Docs**: Headless: zulip.com/api/ HTML docs; OpenAPI 3.0.1 (166 operations) in zulip/zulip on GitHub; no llms.txt, no markdown pages
- **Sign up**: In a browser: zulip.com/new/ carries an invisible ALTCHA proof-of-work; headless POST got 'Validation failed, please try again.'; in the browser the widget filled itself (~8 s, no challenge) and the second registration form posted headless
- **Verify**: Headless: Confirmation mail in ~30 s; do_confirm link and registration form posted with curl, no captcha
- **Key**: Headless: POST /api/v1/fetch_api_key with email+password
- **First call**: Headless: GET /api/v1/users/me
- **First action**: Headless: Created a channel and posted a message, read back via GET /messages
- **Pay**: In a browser: No 402/x402/MPP or billing API; /upgrade leads to Stripe Checkout asking card, cardholder name and billing address, Stripe hCaptcha present with no visible challenge. Nothing paid.
- **Cancel**: Not needed: Nothing to cancel: our agent used the free plan.
- **Delete**: Headless: POST /api/v1/realm/deactivate deletion_delay_days=14 (server minimum); API then 401 'This organization has been deactivated'; data permanently deleted on the 20 Oct 2026 MCP spec per confirmation mail

## Does Zulip have an MCP server, and can an agent connect to it?

Not an official one. The drive found only third-party MCP servers for Zulip.

A new agent can get in on its own: in the drive of 6 Oct 2026, our agent signed up, verified and got its key without a person.

## How does an AI agent get a Zulip API key?

In the drive of 6 Oct 2026, our agent got its Zulip API key over the API, without a browser or a person. POST /api/v1/fetch_api_key with email+password

## Paying the agent way

Reaches the checkout: stopped at the card form.

Ways to pay it offers an agent: Stripe Checkout.
It has a free plan.

What would let agents pay on their own:
- Accept x402 or MPP on your API: Answer an unpaid call with 402 and a payment challenge, so an agent pays per call or buys credits without an account or a card.
- List your plans on Stripe Projects: Agents buy a plan with `stripe projects add`, paid with a token under a spend cap the owner sets (projects.dev).
From the drive of 6 Oct 2026.

## What an agent can do

- Post to channels/topics and send direct messages
- Create channels and organize topics, resolve topics
- Edit, delete and move messages between channels and topics
- Search message history
- Upload and share files
- Create a video call link in a conversation
- Create polls and to-do lists
- Schedule messages and reminders
- Manage drafts, snippets, status, notification settings and read state
- Create bots and incoming webhooks that post into channels
- Add linkifiers and custom profile fields
- Invite users, add guests, deactivate and reactivate users
- Set channel permissions and login methods
- Export organization data
- Deactivate the organization by API

## What it cannot do

- Create the organization headless: Sign-up form requires an ALTCHA proof-of-work that runs in the browser
- User groups, retention, public access on Free: Zulip Cloud Standard only
- Create users directly: POST /users needs server-level permission; invites work
- Pay the agent way: Only Stripe Checkout with a card or invoice

## Tips for the owner

1. Document a way for agents to create organizations
2. Publish llms.txt and Markdown API pages
3. Serve the OpenAPI spec from zulip.com
4. Offer a hosted MCP server
5. List valid values in validation errors

Is this your product? Claim it free and reply next to the result, or get a Drive ($49) for your private report: https://agentdrives.com/pricing?via=md#drive. Fixed something? Order a Drive ($49) any time, or the Monthly drive ($29/month).

## Also in Team chat

- [Mattermost](https://agentdrives.com/tools/mattermost.md?via=md): L3 · Does the work · [Zulip vs Mattermost](https://agentdrives.com/compare/mattermost-vs-zulip?via=md)
- [Slack](https://agentdrives.com/tools/slack.md?via=md): L1 · Needs a person · [Zulip vs Slack](https://agentdrives.com/compare/slack-vs-zulip?via=md)

## Tips for agent builders

- Do sign-up once in a real browser; ALTCHA solves itself, then POST /api/v1/fetch_api_key gives the key
- Use the OpenAPI on GitHub for exact routes: linkifiers are POST /realm/filters, reminders POST /reminders
- Download uploads via GET /api/v1/user_uploads/{path} (temporary URL), not the raw /user_uploads URL
- export_type is a string since feature level 449: 'public' or 'full_with_consent'
- Bot email is not in the POST /bots response; read it from GET /users/{id}
