# Twist L4 · Runs on its own

Twist is a team chat tool built around threads and channels.

**Can an AI agent use Twist? Yes, in a browser.** Our agent got into Twist on its own in 6 minutes and did all 7 of its core tasks.

Category: Team chat · Connects by: MCP, API, CLI, SDK · Agent payments: None found · Driven: 28 Oct 2026

**How to connect**
- Docs page: `https://docs.twist.com/` (tested in our drive). Source: https://docs.twist.com/

**Level 4: Runs on its own.** An agent does the core work and can stop paying on its own.
- Got in by: Email and password (6 minutes, in a browser)
- Got as far as: Pay: reaches the checkout (Stopped at the €8 a month charge)
- To reach L5: Pay without a person.

1 drive, awaiting confirmation

[What the levels mean](https://agentdrives.com/method/levels?via=md)

## From finding it to leaving

What an agent managed without a person, at each step.

1. **Find**: Partly. Docs with gaps: an MCP server; no docs on signing in. (87 doc pages read)
2. **Get in**: On its own. Sign-up in a browser. Sign-in for apps (OAuth, MCP): stopped by a bot check. (6 minutes)
3. **Use**: On its own. Did: create, rename, archive and delete channels; create, edit and delete threads and comments. (7 of 7 core tasks)
4. **Pay**: Reaches the checkout. Stopped at the €8 a month charge.
5. **Leave**: On its own. Nothing to cancel, deletes its account.

## Getting in

2 of 3 ways in worked without a person.

The way that worked: **Email and password**, 6 minutes. Needs an inbox and a browser. No person needed.

- Agent on a server (API, MCP, CLI): No. Stops at sign-up: it works only in a browser.
- Assistant in its own browser (Like ChatGPT agent): Partly. Signs up, confirms its email and does all of the core work. Payment: reaches the checkout, stopped at the €8 a month charge.
- Signed agent (Known to Cloudflare): Yes. The sign-up page opens.

| Way in | What happened |
|---|---|
| Email and password | Worked |
| CLI code login | Worked |
| Sign-in for apps (OAuth, MCP) | Stopped by a bot check |

- Crawlers: **robots.txt asks crawlers to stay off sign-up and the API.** Nothing to fix. It keeps these pages out of search and doesn't stop agents signing up.

## What an agent can do with Twist

All 7 core tasks done, and 13 of 18 others.

- Reliability: core tasks that worked on all 3 runs: 95 of 100
- Handles mistakes: clear errors, retries without duplicates, honest limits: 60 of 100
- Surface tested: documented routes, tools and commands run and checked: 92 of 100
- Docs accuracy: documented operations that behaved as the docs say: 94 of 100
- Docs completeness: how fully the docs describe each operation: 50 of 100

Core tasks:

| Task | Result | Done through |
|---|---|---|
| Create a channel | Done | API, CLI |
| Change a channel's settings | Done | API |
| Create a thread | Done | API, MCP, CLI |
| Comment on a thread | Done | API, MCP, CLI |
| Edit or delete a comment/thread | Done | API, CLI |
| Send a direct message | Done | API |
| Read the inbox of threads needing attention | Done | API, MCP, CLI |

13 of 18 other tasks done:

- React to a message or comment: Done
- Pin or star a thread: Done
- Mute or archive a thread/channel/conversation: Done
- Favorite a channel: Done
- Search chat messages and threads: Done
- Attach a file to a thread or message: Done
- Create a user group: Done
- Add or remove members on a channel: Done
- Configure notification settings: Done
- Connect a third-party integration from the directory: Done
- Set a do-not-disturb / away schedule: Done
- Create or switch between multiple workspaces: Done
- Invite a member to the workspace: Done
- Set up an incoming/outgoing webhook integration: Partly
- Add a guest limited to specific channels: Partly
- Build a bot integration that replies in threads/messages: Blocked
- Work from the mobile or desktop app: Not tried
- Change the subscription plan (Free vs Unlimited): Not tried. The billing page asks for a card; no payment rail or billing API was found.

What it can't do, and why:

- Sign up without a browser: The docs list login but no sign-up call; only the web form was found.
- Use the hosted MCP server: It answered 403 Forbidden to our agent, with or without a token.
- Buy Unlimited on its own: The billing page asks for a card; no payment rail or billing API was found.

**Surface audit:** 340 documented operations, 327 run, 307 passed, 20 not as documented, 8 blocked (sandbox or plan limits), 5 left out to stay safe.

## How an agent connects

MCP, API, CLI and SDK found.

Agent surfaces: API tested · MCP tested · CLI tested · SDK tested · Docs tested · Agent payments none found. Issues found: 22.

- **MCP server**: All tested. Official server. Local server @doist/twist-ai 7.0.0, 19 tools. (11 tools across its docs)
- **API**: All tested. REST v3/v4, 133 documented operations. (135 operations across its docs)
- **OpenAPI**: None found.
- **CLI**: 65 tested. official @doist/twist-cli 3.0.15 (tw) (70 commands across its docs)
- **SDK**: 113 tested. official TypeScript @doist/twist-sdk 3.0.0. (115 methods across its docs)
- **llms.txt**: None found.
- **Agent payments**: None found. The checkout: Reached the card form and stopped: Unlimited, €8 a month; Checkout: a Stripe card form; An invisible bot check loaded at checkout; Wallets: Link.
- **Docs**: Thin. Covers getting started. Errors only mentioned in passing. No auth or code examples. 6 of 7 documented ways to do the core work worked when tried. https://docs.twist.com/ (87 of 91 pages read)

[The standards](https://agentdrives.com/standard)

## Tips for agent builders

- After the web sign-up, get a token without a browser: POST https://api.twist.com/api/v3/users/login with email and password; the user object carries the token.
- Send every call as Authorization: Bearer <token> to https://api.twist.com/api/v3/…; errors come back as JSON with error_code and error_string (error_extra names the bad argument).
- Threads need both title and content; remove a channel only after channels/archive.
- To make a thread show in your own inbox call inbox/unarchive on it; inbox/archive marks it done.
- A password change (users/update_password, set_password) invalidates the token: log in again.
- For MCP run `npx @doist/twist-ai` with TWIST_API_KEY set to the token; it answers initialize at 2025-11-25.
- With the CLI, pass the token as TWIST_API_TOKEN for full scope; `tw auth login` lacks delete scopes. Add --include-private-channels to read private channels.
- conversations/remove_user and remove_users accept POST, not the documented GET.

## How Twist compares

In Team chat: 1st of 3 Team chat products our agent got into on its own.

- **Twist** (this page): L4, Gets in on its own
- [Zulip](https://agentdrives.com/tools/zulip.md?via=md): L4, Gets in on its own
- [Mattermost](https://agentdrives.com/tools/mattermost.md?via=md): L3, Gets in on its own
- [Element](https://agentdrives.com/tools/element.md?via=md): L1, Can't sign up on its own
- [Google Chat](https://agentdrives.com/tools/chat-google.md?via=md): L1, Can't sign up on its own
- [Microsoft Teams](https://agentdrives.com/tools/microsoft.md?via=md): L1, Can't sign up on its own
- [Pumble](https://agentdrives.com/tools/pumble.md?via=md): L1, Can't sign up on its own
- [Rocket.Chat](https://agentdrives.com/tools/rocket.md?via=md): L1, Can't get an API key on its own

[All 9 in Team chat](https://agentdrives.com/categories/team-chat?via=md)

Sorted by level, then work done, then time to the first call. [How we rank](https://agentdrives.com/method?via=md#order)

On our standard (17 criteria: against other team chat products where we measured 5 or more, otherwise against every product we measured):

- [Errors a program can read](https://agentdrives.com/standard#err-02): **Ahead of most** 84 of 104 others (every product) lower, 20 the same.
- [A request id on every answer](https://agentdrives.com/standard#err-07): **In the middle** 2 of 4 others (team chat products) lower, 2 the same.
- [Every way in works for an agent](https://agentdrives.com/standard#in-11): **In the middle** 3 of 6 others (team chat products) lower, 2 the same, 1 higher.
- [Answers sized for an agent](https://agentdrives.com/standard#api-04): **Level with most** 61 of 85 others (every product) the same, 24 lower.
- [Docs an agent can navigate](https://agentdrives.com/standard#docs-11): **In the middle** 2 of 6 others (team chat products) lower, 3 the same, 1 higher.
- [Fast to the first call](https://agentdrives.com/standard#in-03): **Level with most** 71 of 85 others (every product) the same, 14 lower.
- [The best way in is built for agents](https://agentdrives.com/standard#in-12): **Ahead of most** 4 of 7 others (team chat products) lower, 3 higher.
- [Errors say what to do next](https://agentdrives.com/standard#err-03): **Level with most** 56 of 103 others (every product) the same, 24 lower, 23 higher.
- [Sign-in for agents acting for a person](https://agentdrives.com/standard#in-08): **The same as all** 5 others (team chat products).
- [Real status codes](https://agentdrives.com/standard#err-01): **The same as all** 4 others (team chat products).
- [WebMCP tools on the web app](https://agentdrives.com/standard#proto-02): **The same as all** 6 others (team chat products).
- [Pages fit one fetch](https://agentdrives.com/standard#docs-08): **Level with most** 4 of 6 others (team chat products) the same, 2 higher.
- [A path written for agents](https://agentdrives.com/standard#docs-10): **Level with most** 4 of 6 others (team chat products) the same, 2 higher.
- [All validation problems at once](https://agentdrives.com/standard#err-04): **Level with most** 23 of 35 others (every product) the same, 12 higher.
- [Limits known before they hit](https://agentdrives.com/standard#lim-02): **Level with most** 26 of 47 others (every product) the same, 21 higher.
- [Export before leaving](https://agentdrives.com/standard#leave-03): **Behind most** 4 of 6 others (team chat products) higher, 2 the same.
- [Prices an agent can read](https://agentdrives.com/standard#find-06): **Behind most** 81 of 105 others (every product) higher, 14 the same, 10 lower.

[How each criterion is graded](https://agentdrives.com/standard)

## For the team behind Twist

**7 things to fix for agents.**

Agent blockers: 1 found · Agent surfaces: 21 issues found. Safety review: 3 issues found.

Our agent got through Find and Pay only in part. Prove Twist is yours, then see where each issue is, read your safety findings and ask for a free drive after a fix. How to fix each one comes with the Audit.

- Find: Partly
- Get in: Clear
- Use: Clear
- Pay: Partly
- Leave: Clear

[Claim Twist, free](https://agentdrives.com/app/products?add=twist.com&ref=listing) · [What a drive covers](https://agentdrives.com/method?via=md)

## Where Twist fits

- Category: [Work and collaboration](https://agentdrives.com/categories/work?via=md), [Team chat](https://agentdrives.com/categories/team-chat?via=md)
- Tasks: [Invite a member](https://agentdrives.com/tasks/invite-a-member), [Connect a third-party integration](https://agentdrives.com/tasks/connect-a-third-party-integration), [Comment on a task](https://agentdrives.com/tasks/comment-on-a-task), [Create a workspace](https://agentdrives.com/tasks/create-a-workspace), [React to a message](https://agentdrives.com/tasks#react-to-a-message), [Send a chat message](https://agentdrives.com/tasks#send-a-chat-message)
- Standards: [MCP](https://agentdrives.com/standards/mcp) (tools an agent can call)
- Steps: [Find](https://agentdrives.com/access/find), [Get in](https://agentdrives.com/access/get-in), [Use](https://agentdrives.com/access/use), [Pay](https://agentdrives.com/access/pay), [Leave](https://agentdrives.com/access/leave)
- Rivals: [Zulip](https://agentdrives.com/tools/zulip?via=md) (L4), [Mattermost](https://agentdrives.com/tools/mattermost?via=md) (L3), [Element](https://agentdrives.com/tools/element?via=md) (L1)

## Cited in 1 article

- [CLI for AI agents: 11 of 14 databases have one](https://agentdrives.com/research/which-kinds-of-software-give-ai-agents-a-cli-or-mcp-server?via=md)

Data: [JSON](https://agentdrives.com/api/tools/twist.json?via=md) · [Markdown](https://agentdrives.com/tools/twist.md?via=md) · [History](https://agentdrives.com/tools/twist/history?via=md) · [Atom](https://agentdrives.com/feeds/tools/twist.atom) · [JSON Feed](https://agentdrives.com/feeds/tools/twist.json) · licence [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/)

**Found an error?** [Tell us on this page](https://agentdrives.com/tools/twist?via=md#correct) or read [how corrections work](https://agentdrives.com/corrections?via=md).
