Work with Grok Bot
Team Bots
A Team Bot is one Bot that your whole team talks to. Its owner sets it up once, with the plugins, secrets, skills, and files it needs, and publishes it to the team. Every teammate can then chat with it in the Grok Bot app or in Slack without starting from scratch.
Why use Team Bots?
A Bot becomes useful as you teach it: the tools it can reach, the way your team works, and the details it keeps getting wrong. On a personal Bot, that work helps one person. A Team Bot shares it:
- You set it up once, and everyone uses it. The plugins, secrets, skills, and files the owner adds are available in every teammate's conversation.
- It learns from the team. When someone tells the Bot something the whole team should know, it saves it to team memory, which every teammate's conversation reads.
- Every conversation stays private. Each teammate gets their own chat. The owner can't read teammates' chats, and teammates can't read the owner's.
- It acts as the person asking. A plugin that needs a sign-in uses the account of whoever is talking to the Bot. A Team Bot never lends one person's access to another.
- It can have its own Slack app. Teammates DM it or @mention it, and it posts as itself.
Team Bots suit one shared job, such as answering metrics questions from your data warehouse, keeping docs current as PRs ship, triaging requests posted in a Slack channel, or answering internal helpdesk questions from a knowledge base. For an everyday assistant that works from your own accounts and memories, keep a personal Bot.
Team Bots, personal Bots, and public templates
| Personal Bot | Public template | Team Bot | |
|---|---|---|---|
| Who talks to it | Only you | Each person who adds it talks to their own copy | Everyone on your team, each in their own chat |
| Who maintains it | You | Each copy's new owner, separately | The owner, and changes reach everyone |
| Memory | Yours | Starts from what the template shares, then separate per copy | Team memory, plus private notes with each person |
How to access
Team Bots are available to members of a team. Create, set up, and publish them in the Grok Bot desktop app. Teammates can use a published Team Bot from the desktop app, the mobile app, and Slack.
If your account can't use Team Bots, opening a Team Bot link shows Team Bots Not Available.
Create a Team Bot
- Choose New chat in the sidebar or press
Cmd/Ctrl+N. - In New chat, choose Create new Team Bot.
- The Bot opens its own chat, asks what the team needs it for, and walks you through plugins, secrets, skills, and files.
- Give it a concrete job and try it on real tasks. Correct it as you go.
Until you publish it, only you can see the Team Bot. Each teammate who opens it later gets their own chat. That chat starts without this conversation and includes the plugins, secrets, skills, files, and memory you saved for the team.
Start from a Bot you already have
If a personal Bot already does work the team would share, make a team copy of it:
- Open the Bot's Share menu and choose Publish to Team.
- In How should your Team Bot start?, choose one:
- Copy Bot name to start with the Bot's chat and memories. Your personal Bot stays private and keeps working for you.
- Start fresh to create a new Team Bot without the chat or its memories.
- Work through the setup cards. For each one, choose what the team copy gets: plugins, secrets, memories, skills, files, and routines. Memories you don't pick stay private; choose Keep private to share none.
- For routines, choose whether each one moves to the team copy or stays on your personal Bot. Either way, a routine only runs for you, and teammates never see it.
If most of what a Bot knows is about you personally, a copy won't do much for your team. Create a new Team Bot instead.
Set up what the Bot needs
The Bot's info pane shows a Setup section with Plugins, Secrets, Skills, and Files. Choose Add on any row, or ask the Bot in chat. Only the owner can change this setup, and every change reaches all teammates.
Plugins
Plugins you add to a Team Bot are shared: the Bot can use them in every conversation, including Slack channels and group chats, without asking anyone first. Each teammate still uses their own account where a plugin needs one, so how a plugin signs in decides whose access the Bot uses:
| Plugin | Whose access the Bot uses | Required setup for teammates |
|---|---|---|
| Signs in with an account (OAuth) | The person talking to the Bot | Each teammate connects their own account the first time they need it |
| Configured with a key or token | The Bot's own credential, the same for everyone | None |
| Custom MCP server, Remote HTTPS | The Bot's own credential, or each person's sign-in if the server uses OAuth | None, or a one-time sign-in |
| Custom MCP server, Command | Runs on the computer each conversation uses | None. A command that needs secrets works only in the owner's own chat |
For example, a Bot that reads Datadog alerts and files Linear tickets could use a Datadog plugin configured with a read-only key, so nobody signs in, and a Linear plugin that each teammate connects, so tickets are created by the person who asked.
A Command server runs on whichever computer the conversation uses; see Where the work runs. Teammates can use the shell on those computers and read the server's command and arguments, so never put a credential in either. A Command server that needs environment variables, or whose arguments look like a credential, runs only in your own chat. For a custom server that needs secrets, choose Remote HTTPS.
Teammates can also bring their own connectors. A teammate who needs a service the Bot doesn't have can add it as a personal plugin from their own chat, and the Bot's shared plugins don't change. The Bot uses a person's own connectors in their 1:1 chat, in the app or a Slack DM, without asking. In a shared conversation, such as a Slack thread or a group chat, it asks that person first; see Personal connectors and approvals.
Your team's connector policy applies to Team Bots the same way it applies to other Bots.
Secrets
Add a secret when a plugin or a script the Bot runs needs a key that has no
plugin sign-in. Each secret has a name, description, and value. Names use
uppercase letters, digits, and underscores and start with a letter, such as
DATADOG_API_KEY.
- Values are encrypted when stored, and the app shows only each secret's name and description. Teammates never see a value.
- The Bot can't see a value either. It uses a secret by name, and the value is
replaced with
[REDACTED]in the output of the commands it runs, the files it reads, and its plugin calls. - The Bot can use every secret in any teammate's conversation, so treat a secret as access you are giving the whole team.
- Use scoped, read-only service-account keys instead of personal credentials.
- A Team Bot holds up to 25 secrets. Each value is at least 8 characters, so it can be redacted reliably, and at most 4,096 bytes.
When the Bot needs a key it doesn't have, it asks the owner with a secret request in the owner's chat. A teammate who needs one hears that the owner adds it.
Skills and files
Skills are the team's repeatable how-tos: how to qualify a lead, how to triage an alert, how your team writes release notes. Add them from your skill library or write new ones. Each team skill applies in every teammate's conversation.
Files give the Bot shared reference material, such as playbooks, FAQs, or schemas. Choose Add on the Files row, then choose Upload file or drag files in. Supported formats are .txt, .md, .markdown, .csv, .json, .yaml, and .yml, up to 256,000 characters per file.
Only the owner saves a team skill. When a teammate teaches the Bot a new process in their own chat, the Bot keeps it in its notes with that person and tells them the owner can make it a team how-to.
Memory
A Team Bot keeps two kinds of memory:
- Team memory is read by every teammate's conversation. The Bot saves a fact there only when someone says the whole team should have it, and it tells you when it does.
- Notes with each person are private to that person. They hold that person's preferences and context and follow them across their app chat and Slack DMs with the Bot. No other teammate's conversation reads them.
To see what the Bot has saved for the team, ask it in chat. To correct or remove something, tell it.
Publish a Team Bot
When setup is done, the sidebar shows You built a Bot. Now your whole team gets a teammate. Choose Publish to team, or ask the Bot to publish.
After you publish:
- Teammates find the Bot under New chat → Team Bots.
- Choose Copy link to send it to someone directly.
- You can add it to Slack.
To take the Bot away from teammates for a while, choose Unpublish in its details. Teammates lose access until you publish it again. Their chats and routines come back when you do.
To change the Bot's Name or Description, edit them in the Bot's details. The description is up to 140 characters and is what teammates read when they find the Bot, so write it in the Bot's own voice: “I answer questions about our Datadog alerts.”
Use a Team Bot
- Choose New chat, then Team Bots at the bottom of it.
- Find the Bot. In the desktop app, type at least three characters in Search Team Bots to search Bots you haven't added.
- Choose Add, then Start a chat.
You can also open a link a teammate sends you. A Team Bot shows its owner's name next to its own.
Your chat with a Team Bot is yours alone and starts fresh. The Bot knows what is saved on it for the team and what it has learned about you, not what other teammates said to it.
As a teammate, you can pin a Team Bot, hide it from your sidebar, and set up your own routines with it. You can't change its setup or delete it. Ask the owner for changes to shared plugins, secrets, skills, or files.
Routines on a Team Bot
Routines are personal. A routine belongs to whoever set it up with the Bot, in their own chat. It runs as them, reports in their chat, and only they can see or change it. No routine runs for the whole team at once.
To give the whole team the output of a routine, have the routine post its result somewhere shared, such as a Slack channel. See Skills, routines, and automations.
Where the work runs
A Team Bot works on a Grok Bot computer, like any Bot. Which computer depends on the conversation:
| Conversation | Computer |
|---|---|
| The owner's own chat | The owner's computer |
| A teammate's chat in the app, or their 1:1 Slack DM with the Bot | That teammate's own computer |
| Slack channels, group DMs, and threads | One shared computer for that Bot, separate from the owner's and every teammate's |
Files you upload in your own chat land on your computer, not the owner's. Because Slack channel conversations share one computer, don't share anything in a channel thread that shouldn't be visible to everyone in that channel.
Personal connectors and approvals
In a shared conversation, such as a Slack thread or a group chat, a Team Bot asks before it uses one of your own connectors. Plugins on the Bot don't need this, and neither does your 1:1 chat with the Bot. The card reads Allow and the plugin's name, and says which account it will use:
- Allow once lets the Bot use it for this reply.
- Always allow for this Bot remembers your answer for this Team Bot.
- Always allow for all Team Bots remembers your answer for every Team Bot on your team.
- Skip leaves the plugin unused for this reply.
If you haven't connected the plugin yet, the Bot asks you to sign in. In Slack, it sends you a sign-in link.
To undo remembered answers, go to Settings → General → Team Bots and choose Clear. Team Bots ask again the next time they need one of your connectors.
The rest of the approval model, including Auto-review, applies to Team Bots as it does to every Bot, with one difference. In a conversation where nobody can answer an approval card, the Bot runs without Auto-review and stays within the permissions it was set up with, unless your team requires Auto-review. See Approvals, security, and privacy.
Add a Team Bot to Slack
A published Team Bot can have its own Slack app, named after the Bot and using its avatar. Teammates can DM it or @mention it in channels, and it answers with the same plugins, context, and memories it has in the Grok Bot app. It posts as itself, not as the owner.
Only the owner adds a Team Bot to Slack, and the Bot must be published first.
- In the Bot's details, choose Bring to your team's Slack.
- Choose Connect Slack workspace and approve Cursor in the Slack page that opens.
- Pick the workspace and choose Connect. Pick a workspace you can install apps in.
- Grok Bot creates the Slack app and installs it. The Bot sends you a welcome DM in Slack when it is ready.
- Invite the Bot to the channels where it should work, for example with
/invite @BotName.
Each Team Bot is its own Slack app, separate from the Cursor app in Slack.
Slack admin approval
If your Slack workspace requires approval for new apps, the setup shows Awaiting admin approval. Choose Send request in Slack to file the request, then Check approval once an admin approves. Cancel setup before you send the request, or Cancel request after, stops the install.
Slack admins can approve Team Bots automatically with Slack's app-approval automations. See How to set it up.
If Slack asks an admin to approve Cursor itself, the admin approves it, and then you connect again.
How the Bot behaves in Slack
- Direct messages: the Bot answers every message. A DM is one conversation.
- Channels and group DMs: the Bot answers when someone @mentions it in a conversation it has been added to. After that, it follows the thread, so later replies wake it without another mention. Each thread is its own conversation.
- Other channel messages: the Bot ignores top-level messages that don't mention it. Use a Slack channel listener routine to have it respond to every message in a channel.
Link your Slack account
The Bot answers only people who have linked their Slack account to Cursor, so it knows who is asking and whose accounts to use. Posts from Slack workflows and other apps are the exception; see Usage. Each teammate links once under Settings → General → Team Bots. When someone who hasn't linked messages the Bot, it shows them a private Link Account button and posts a short reminder in the thread pointing to it.
If a linked account isn't on the Bot's Cursor team, the Bot tells that person privately and doesn't answer.
Unlinking stops Team Bots, and Cloud Agents started from Slack, from answering you there until you link again.
Remove a Team Bot from Slack
In the Bot's details, choose Remove from Slack. This deletes the app from the Slack workspace, and teammates can't reach the Bot from Slack until you add it again. The Team Bot keeps working in the Grok Bot app.
Usage
When a teammate talks to a Team Bot, in the app or in Slack, the usage counts against that teammate's own Grok Bot allowance, not the owner's. A routine counts against the allowance of the person who set it up. Messages in Slack that don't come from a linked teammate, such as posts from a Slack workflow, count against the owner.
If a teammate is out of usage, the Bot tells them in the chat or Slack thread instead of using the owner's. See Plans and billing.
For admins
Team Bots follow the same team controls as every Bot, including your connector policy, Team Rules, and Auto-review settings. See Grok Bot for teams and enterprises.
Add Team Bots for members by default
On the Grok Bot page of the Cursor dashboard, under Bot Capabilities, choose Manage Team Bots. For each Team Bot, choose who gets it in their sidebar automatically: All team, None, or specific groups. Groups come from the Members & Groups page.
Members who get a Team Bot this way see Required by your admin. You can't turn this off.
Admins choose who gets a Team Bot by default. Only the Bot's owner changes its plugins, secrets, skills, and files.
Audit logs
On Enterprise, audit logs record Team Bot events, including when a Bot is created, published, unpublished, or deleted, changes to its skills, and Slack account links.
Delete a Team Bot
Only the owner can delete a Team Bot. Deleting it removes the Bot for your whole team: teammates lose it, along with their chats and routines on it. This can't be undone.
If you may need the Bot again, choose Unpublish instead.
Related pages
Last updated: September 29, 2026