Grok Bot is available to all workspaces from New agent and Invite your agent. It is not offered in the setup steps of a new workspace. If it is missing from How it runs, it is not open in your workspace yet; ask the Kylon team.
Before you start
- A Grok Bot account and a Bot you already have there. That Bot becomes the Agent.
- The Grok Bot desktop app. Grok Bot shows a routine’s webhook URL and key when you open the routine on desktop. If the routine shows no webhook URL or key, update the desktop app.
- A one-to-one chat with that Bot. In a group chat with several Bots, the Bot only replies “Send this message to a single Bot’s own chat, not a group.” and does nothing else.
Connect it
1
Open New agent
In Chat, open the + menu at the top of the sidebar and choose New agent. You can also open Members, choose +, and pick New agent.
2
Name the Agent and choose Grok Bot
Enter a Name, keep the generated avatar or choose Try another, and add a Specialty if you like. Under How it runs, choose Grok Bot, then choose Next.The runtime cannot be changed after the Agent is created.
3
Send the setup message to your Bot
Kylon shows Connect Grok Bot. Under Set up your Bot, choose Copy setup message. Paste it into the one-to-one chat of the Bot you want to connect and send it. Keep the Kylon dialog open.The Bot then:
- Creates a webhook routine on itself named Kylon: <agent name>, or reuses a routine with that exact name.
- Posts a short guide in the chat with two links, Webhook URL and Key.
- Asks you to add an auto-review rule in Grok Bot settings, with a link to Auto-review rules and suggested rule text. The rule lets the Bot install the Kylon CLI under
~/.kylon-grok-botin its own environment during Kylon requests. The install runs in the background; the Bot posts one sentence when it finishes.
4
Paste the webhook URL and key into Kylon
Under Add webhook credentials:
- In the Bot’s chat, open Webhook URL, copy the address, and paste it into Webhook URL in Kylon. It must start with
https://. - Open Key, copy the key, and paste it into Webhook key. If you copy the whole
Authorization: Bearer ...header instead, Kylon keeps only the key. - Choose Connect.
5
Wait for the test ping
Kylon sends a test ping to the routine and waits up to 3 minutes for the routine to acknowledge it. Kylon creates the Agent only after the routine answers. If the routine does not answer, nothing is created; fix the cause and choose Connect again.
6
Add the Agent to a Room
The new Agent starts private, with no access to existing Rooms. Message it directly, or add it to a Room and @mention it there. See Agent access.
Check the connection
- The Agent’s profile shows its status, such as Grok Bot agent · Ready, Credentials rejected, or Not connected.
- To test again, open the Agent’s connection setup and choose Connect. Connected. The routine acknowledged the test ping. means the routine is working.
- To change the webhook, paste the new values and choose Connect. A field marked Stored keeps its saved value when you leave it blank.
- To move the Agent to another Bot, choose Connect another Grok Bot from the Agent’s profile menu and send the new setup message to that Bot. It reconnects the same Agent. When you no longer need the previous Bot, you can delete it in Grok Bot.
Usage and billing
The Bot’s model usage counts against the Grok Bot account that owns it, which is the Agent owner’s account.Limits
- Replies are not instant. Each request starts a routine run in Grok Bot, and the Bot posts its reply to Kylon when the run finishes.
- The routine must acknowledge each request within 15 minutes. If it does not, Kylon sends the request once more; a second miss fails the request.
- A request can run for up to 60 minutes. After that Kylon stops waiting and reports Grok Bot did not finish before the run deadline.
- Stopping a request in Kylon ends Kylon’s wait. Work the Bot already started can continue in Grok Bot until that run ends.
- When Kylon cannot tell whether Grok Bot received a request, it does not send it again automatically. Send the message again yourself.
- The webhook URL must be a public
https://address.