How to make a Super Grok Bot - How I wired bot-to-bot coding handoffs I can start from my phone
This is a setup guide. It starts with no Slack account. It ends with one project channel that can send work to the right bot and bring a result back. Read this first. There are two different Grok
Article
Job breakdowns

This is a setup guide. It starts with no Slack account. It ends with one project channel that can send work to the right bot and bring a result back.
Read this first. There are two different Grok products. Do not mix them up.
Grok Bot is the desktop and iPhone app with its own cloud computer. You connect Slack to it under Plugins. That connection is how a coordinator can watch a channel and post back.
Grok for Slack is a separate Slack app. In a channel it answers as @Grok. Installing that app does not install Grok Bot.
Cursor has its own Slack app. In a channel it answers as @Cursor. That tag goes to Cursor, not to Grok Bot.
That split is the whole design. The tag selects the worker. The listener or plugin lets the coordinator watch the same channel.
What you are building
You will have:
- A Slack workspace.
- One project channel.
- The Cursor Slack app in that channel.
- Grok Bot connected to the same workspace, with a named coordinator Bot.
- GitHub connected so Cursor can open a pull request.
- Optional: ChatGPT in Slack for review.
- Optional: Hermes in Slack for local files and live tests.
A phone message in the channel can then start work. Cursor can open a pull request. After merge, a local test can run. The result can return to the same thread.
What you need before you start
Accounts
An email address you control. A GitHub account with access to the repository you will change. A Cursor account. Cloud Agents from Slack need the Slack app plus a connected repository. An eligible Grok Bot plan if you want the coordinator path. Official docs list SuperGrok Plus, SuperGrok Heavy, Cursor Pro+, Cursor Ultra, or Cursor Teams Standard or Premium. Sign in with the Cursor account. Confirm at https://docs.x.ai/grok-bot/get-started A ChatGPT Plus or higher account if you install ChatGPT in Slack. Hermes installed on a machine that can stay online if you want the local-test desk.
Computer
Grok Bot desktop app: macOS or Windows. There is no Linux desktop app in the current docs. iPhone app is available. Start at https://x.ai/bot or https://cursor.com/bot/onboarding Cursor on your own computer is useful for review. Slack Cloud Agents can still run without you sitting in the IDE.
Slack plan
A Free Slack workspace is enough for a first build if you stay inside the current limits: 90 days of visible history and 10 app integrations. Check the live workspace panel. Limits change.
Permissions
You must be allowed to install apps in the Slack workspace. If app approval is on, a workspace owner must approve each install.
Do not publish tokens, webhook URLs, private repo names, or hostnames in a public article.
Part 1. Create Slack if you do not have it
- Open https://slack.com in a browser.
- Create an account with your email.
- Create a new workspace. Give it a name you will recognize. Example: Project Desk.
- Skip extra invites if this workspace is only for you and the bots.
- Install the Slack app on your phone. Sign in to the same workspace. You will start tasks from this phone later.
- On the computer, open the same workspace in the Slack desktop app or in the browser.
Check. You can send a test message to yourself.
Part 2. Create one project channel
- In Slack, create a channel. Name it for the project, not for a bot. Example: #handoff-lab
- Make it public if you are the only human. Private is fine. If it is private, you must invite each bot after you install it.
- Write a short channel purpose. Example: Requests, handoffs, pull requests, and test results for this repo.
- Pin one message with these rules:
One request = one thread. @Cursor does coding. Grok Bot coordinates. It does not take the @Cursor tag. Merged pull request = coding checkpoint. Local test runs after merge. Status posts are not new tasks.
Check. You can open the channel on the phone and on the computer.
Do not create a second project channel until this one works.
Part 3. Connect GitHub
Cursor needs a repository before Slack coding handoffs are useful.
- Sign in to GitHub.
- Confirm you can push to the target repository, or that you can open pull requests.
- In Cursor, connect GitHub if it is not already connected. Use Cursor Settings or the dashboard integrations page.
- Note the repository in owner/name form. You will set this as a channel default later.
Check. You can open the repository in the browser.
Part 4. Install the Cursor Slack app
This is the coding worker.
- Open https://www.cursor.com/dashboard/integrations
- Select Connect next to Slack. Or open https://cursor.com/api/install-slack-app
- Slack asks you to install the Cursor app into the workspace. Confirm the workspace name before you approve.
- If Slack shows a request-to-install screen, a workspace owner must approve the app.
- Cursor sends you back to finish setup. Connect the repository provider if needed. Pick a default repository. Enable usage-based pricing if Cursor requires it for Cloud Agents. Confirm privacy settings.
- In Slack, open #handoff-lab
- Type /invite @Cursor and send it. For a private channel this step is required.
- In that channel send: @Cursor settings
- Set the channel default repository to the repo from Part 3. Set the default branch if you do not want main.
- Send a first test that cannot damage production: @Cursor list my agents
- Then send this bounded test: @Cursor In repo owner/name, add a one-line comment to README.md that says slack handoff test. Open a pull request. Do not merge.
Check.
Slack shows Cursor as a member of the channel. Cursor replies in a thread. A pull request appears on GitHub.
If @Cursor does nothing, the app is not in the workspace, not invited to the channel, or the install did not finish in the Cursor dashboard.
Docs: https://cursor.com/docs/integrations/slack
Useful commands:
@Cursor help @Cursor settings @Cursor agent [task] starts a new agent in a thread that already has one @Cursor list my agents
Part 5. Install Grok Bot and connect Slack to it
This is the coordinator.
5a. Install Grok Bot
- Open https://x.ai/bot or https://cursor.com/bot/onboarding
- Download the app for your computer. On Mac, pick Apple silicon or Intel. On Windows, pick x64 or Arm64.
- Install and open Grok Bot.
- Sign in with the Cursor account on the eligible plan.
- If Cursor is on Legacy Privacy Mode, change it. Grok Bot needs cloud data storage.
- Finish the first-run setup. Create one Bot. Name it for the job, not for the product. Example: Chief of Staff.
- Give that Bot one job in its profile: watch the project Slack channel, route work, wait for merge, return test results. Tell it not to implement code when @Cursor is the worker.
Optional: install Grok Bot on iPhone so you can approve work away from the desk.
5b. Connect the Slack plugin inside Grok Bot
- In Grok Bot, open Settings, then Plugins. On some builds this is the sidebar item Plugins.
- Find Slack. Add it.
- Add an account. The browser opens Slack authorization.
- Select the same workspace you created in Part 1. Approve.
- Ask the Chief of Staff Bot to post a test message in #handoff-lab
Use this instruction:
Post this exact text in Slack channel #handoff-lab: Grok Bot Slack plugin test. Coordinator is online. Then show me the channel and timestamp you used.
Check. The test message appears in #handoff-lab
If the plugin is missing from the marketplace on your build, stop and confirm you are in Grok Bot, not on grok.com chat. The consumer Grok site is not this product.
5c. Optional: Grok for Slack (@Grok)
Only install this if you also want a mentionable @Grok inside Slack.
- Open https://slack.hooks.x.ai/
- Select Add to Slack.
- Approve the same workspace.
- Invite @Grok to #handoff-lab if you want it in that channel.
This app answers questions in Slack. It is not a replacement for the Grok Bot plugin in step 5b. Count it against the Free-plan 10-app limit if you add it.
5d. Set the channel listener rule
In Grok Bot, tell the Chief of Staff Bot the rules in writing. Save them in the Bot profile or as a skill or routine if your build supports that.
Use this text:
You coordinate #handoff-lab. You do not take work addressed to @Cursor. When a human posts a new request in that channel, note it and watch the thread. If the human tagged @Cursor, Cursor is the worker. If Cursor is silent after the agreed wait, post a short clarification in that thread through the Cursor lane if you can. Do not start a second coding job. Wait for a merged pull request before local tests. When a test finishes, post the result in the same thread. Name who ran the test. Tag the next owner. Ignore bot status posts unless they are a handoff and they tag the next owner. One request, one thread, one current owner.
Set a wait time that matches your work. Example: 15 minutes for a small change.
Check. A human message in #handoff-lab is visible to Grok Bot. An @Cursor tag does not make Grok Bot start coding.
Part 6. Optional: install ChatGPT in Slack
Use this if you want a review desk.
- Confirm a ChatGPT Plus or higher account.
- In Slack, open Apps. Search ChatGPT. Or use the Slack Marketplace.
- Install the app into the same workspace. Approve permissions.
- Connect the Slack app to the ChatGPT account when Slack asks.
- Invite the ChatGPT app to #handoff-lab if you want it in that channel.
OpenAI help: https://help.openai.com/articles/12462158-chatgpt-app-in-slack
Check. You can mention ChatGPT or open its Slack surface and ask it to summarize the project channel.
Do not make ChatGPT the coding worker. Cursor owns code changes.
Part 7. Optional: connect Hermes for local tests
Use this if local repository actions and live tests must run on a machine you control.
Hermes does not install from the Slack Marketplace as a one-click consumer app. You create a Slack app from a Hermes manifest and run a gateway.
- On the Hermes machine, run: hermes slack manifest --agent-view --write
- Open https://api.slack.com/apps
- Create a new app From an app manifest. Paste the generated file.
- Enable Socket Mode if the manifest did not already enable it. Create an app-level token with connections:write. This token starts with xapp-
- Install the app to the workspace. Copy the Bot User OAuth Token. This token starts with xoxb-
- Put both tokens in the Hermes environment file. Also set an allowlist of Slack member IDs. An empty allowlist can accept traffic you do not want.
- Start the Hermes gateway.
- In #handoff-lab, invite the Hermes bot. Mention it once.
Docs: https://github.com/nousresearch/hermes-agent
Check. A mention of Hermes in the channel gets one reply from the machine that is online.
Do not paste tokens into Slack. Do not put tokens in this article.
If you do not need local tests yet, skip this part. GitHub plus Cursor is enough for the first coding loop.
Part 8. Invite every bot to the project channel
Slack apps do not see a private channel until you invite them.
In #handoff-lab send these commands:
/invite @Cursor /invite @Grok
Invite Hermes and ChatGPT by the names Slack shows for those apps.
Check. Each name appears in the channel member list.
Count installed apps. On a Free workspace the current cap is 10. Remove unused apps before you add more.
Part 9. Write the working rules in the channel
Post this in #handoff-lab and pin it.
WORK RULES
- New work starts a new thread.
- Tag the worker. @Cursor = coding. Hermes = local test. ChatGPT = review.
- Grok Bot / Chief of Staff watches. It does not steal the tag.
- Cursor done = open pull request.
- Workflow done for code = merged pull request.
- Tests run after merge unless the task says otherwise.
- Results come back in the same thread.
- Name the runner. Tag the next owner.
- A bot status post is not a new job.
Then send: @Cursor settings
Confirm repo and branch.
Part 10. First full test, from the phone
Do this on the Slack iPhone or Android app.
- Open #handoff-lab
- Start a new message. Do not reply inside an old thread.
- Send: @Cursor Add a harmless README comment phone handoff test. Open a pull request. Do not merge. Reply in this thread with the PR link.
- Watch the thread. Cursor should start a Cloud Agent and post status.
- On GitHub, review the pull request. Merge it only if the change is safe.
- After merge, send in the same thread: Local test after merge. Run the repo test command we agreed. Post pass/fail and the command you ran.
- Tag Hermes if Hermes owns local tests. Tag the Chief of Staff only if that Bot is the one that runs the test on its computer.
- Confirm the result is in the same thread.
Pass criteria
The @Cursor tag reached Cursor, not Grok Bot. Grok Bot could see the thread. The pull request existed before anyone called the work finished. The test result named the runner. No second coding job started from a status post.
If that list is true, the wiring works. Add more workflows after this, not before.
Part 11. How the coordinator should behave
Give the Chief of Staff Bot these jobs only:
Notice a new human request. Identify the tagged worker. Watch the thread. Speak when the worker is silent past the wait time. Wait for merge before final tests. Return a result and tag the next owner.
Do not give it these jobs:
Rewrite the patch while Cursor is the owner. Treat every bot message as a new request. Start a second agent in the same thread without @Cursor agent or a new thread. Print secrets, tokens, or private URLs.
If two coordinators watch the same channel, one of them must be silent. Two chiefs in one thread create a loop.
What each connection is for
Slack workspace and channel. How it joins Slack: you create them. Job: shared log and control surface.
Cursor Slack app. How it joins Slack: Dashboard, Integrations, Slack. Job: coding worker. Mention @Cursor
Grok Bot Slack plugin. How it joins Slack: Grok Bot, Plugins, Slack. Job: coordinator can read and post.
Grok for Slack. How it joins Slack: https://slack.hooks.x.ai/ Job: optional @Grok chat app.
GitHub. How it joins Slack: Cursor / GitHub auth. Job: pull requests and merge record.
ChatGPT Slack app. How it joins Slack: Slack Marketplace. Job: optional review.
Hermes Slack app. How it joins Slack: manifest, tokens, and gateway. Job: optional local tests.
Grok Bot tokens stay on coordination when Cursor, Hermes, and ChatGPT do their own work in their own context.
If it fails
Nobody answers @Cursor. The Cursor Slack app is not installed, not approved, or not invited to the channel. Finish https://www.cursor.com/dashboard/integrations then run /invite @Cursor
Cursor answers in the wrong repo. Run @Cursor settings in the project channel. Set the channel default repository. Put repo=owner/name in the first test message.
Grok Bot cannot see Slack. You installed Grok for Slack (@Grok) and skipped the Grok Bot plugin. Open Grok Bot, Plugins, Slack, and authorize the workspace.
Grok Bot starts coding when you tagged Cursor. The coordinator prompt is wrong. Restate: the tag selects the worker. Grok Bot only watches.
The thread loops. The coordinator is treating status posts as new tasks. Tighten the ignore rule. One owner per step.
Slack refuses a new app. You hit the Free-plan app cap or app approval is on. Remove an unused app or ask the workspace owner.
Hermes is silent. The gateway is down, the Socket Mode token is missing, or your Slack member ID is not on the allowlist.
A test ran on an unmerged branch. The checkpoint rule was skipped. Merge first unless the task says not to.
Limits of this guide
This guide shows how to stand up one channel and connect the official apps that exist today. Product screens change. Use the live dashboard and the live Slack workspace panel when a label does not match.
This guide does not make every request succeed. It does not remove human review of pull requests. It does not make local machine access safe by default. It does not prove that a green status post means the user-facing product works.
The test that matters is the phone message, the tagged worker, the pull request, the merge, and the result in the same thread.
Official links
Slack: https://slack.com Slack Free limits: https://slack.com/help/articles/115002422943-Usage-limits-for-free-workspaces Cursor Slack docs: https://cursor.com/docs/integrations/slack Cursor Slack install: https://cursor.com/api/install-slack-app Grok Bot product: https://x.ai/bot Grok Bot get started: https://docs.x.ai/grok-bot/get-started Grok for Slack (different product): https://slack.hooks.x.ai/ ChatGPT in Slack: https://help.openai.com/articles/12462158-chatgpt-app-in-slack
Published on grokbot.sh. Cite the public log, not a prompt pack.