Grok Bot monitoring is experimental, disabled by default, and monitor-only.
Runlayer has verified this installation in a production tenant with a one-member
pilot group: the group’s setup script installed the helper, saved the Team
Secret key, and native tool activity was recorded. Grok Bot still sends empty
Bot IDs, so each tool call appears on its own. Pilot the rollout before relying
on organization-wide coverage.
What is configured centrally
Grok Bot gives each member one cloud computer.
That member’s Bots share it, so install once per member, not once per Bot. AI Watch
or MDM on a member’s laptop does not install these cloud hooks.
Team Setup and Team Secrets require Enterprise and a team administrator. Without
them, repeat the single-user setup for each member.
Availability of Grok Bot on a Teams plan does not imply access to Team Setup.
1. Prepare Runlayer
- In Settings → Organization API Keys, create one key with only the Grok Bot Hooks permission. A Team Secret holds one value for the whole team, so every covered computer uses this key and revoking it stops uploads from all of them. Its name does not identify the member in recorded activity.
- In Settings → Agent session monitoring → Cloud agent hooks, enable Grok Bot and save. Full session scanning APIs must also be enabled. Enabling these switches accepts events; it does not deploy anything.
- Confirm each cloud computer can reach
https://YOUR-TENANT.runlayer.com/api/v1/hooks/grok-bot/events. If Grok network controls restrict destinations, allow your Runlayer tenant.
2. Save the key as a Team Secret
In the Cursor dashboard, open Grok Bot → Team Secrets → Add Secrets. Name the secretRUNLAYER_GROK_BOT_HOOK_KEY and paste the key as its value. Cursor does
not show the value again after you save it.
Team Secrets reach setup scripts as
environment variables only while the script runs, and Bots do not receive them
directly. The installer below therefore saves the key to
~/.grokbot/runlayer_hook.key, readable only by the computer user, and the
helper reads that file.
A computer whose Team Setup comes from more than one team receives no Team
Secrets. The installer then keeps a key it saved earlier. Without one, uploads
stay off until the member saves the single-user RUNLAYER_GROK_BOT_HOOK_KEY
secret described in Create a scoped key.
The helper prefers the key file, so if that file holds a revoked key, delete
~/.grokbot/runlayer_hook.key first; otherwise uploads stop without an error.
3. Build the setup script manifest
On your administrator workstation, save the Python helper from Add the hook helper asrunlayer_hook.py. Replace its COLLECTOR_URL with your tenant’s literal HTTPS
URL. Never embed a key in the helper.
Save the following as build_grok_manifest.py beside that file. It generates
runlayer-grok-team-setup.json for the setup script editor and the same script
as runlayer-grok-setup.sh for review. Neither generated file contains a credential.
The installer preserves unrelated hooks, backs up the original configuration once,
and registers the three native tool events verified by Runlayer. For those
events, it replaces earlier Runlayer registrations, including ones from the
single-user setup, so a tool call is not recorded twice. It can be rerun without
duplicating anything. It leaves other events alone: if the single-user setup
registered lifecycle events for a helper at a different path, remove those
entries before using this installer.
python3 build_grok_manifest.py on your workstation. Review the generated
files: they should contain your tenant URL and the helper source, with no secrets.
The installer requires Python 3 and runs as the member’s cloud-computer user.
It does not install dependencies, download code, or print the key.
4. Pilot on a group
- In Members & Groups → Groups, add a manual group that contains only the pilot members.
- Open the group’s Grok Bot tab. Under Setup Scripts, create a manifest,
switch the editor to JSON, paste the generated
runlayer-grok-team-setup.json, and save. Group setup scripts run after the team’s setup scripts and receive the same Team Secrets. - In Grok Bot → Manage Bot Computers, recreate each pilot member’s computer so the script runs now. Recreating keeps their Bots, files, and logins. Do not use Restart all VMs for a pilot: it restarts every member’s computer.
- Verify each pilot member with step 6.
5. Publish to the team
After the pilot records activity successfully:- In Grok Bot → Team Setup Scripts, create a manifest, switch the editor to
JSON, paste the same
runlayer-grok-team-setup.json, and save. Repeat for other Grok teams in the rollout. - Delete the pilot group’s manifest so one manifest remains to maintain.
6. Verify coverage for every member
Use a fresh Bot after the script runs; existing executors may cache their prior configuration. Have each member ask it to run one harmless command on their cloud computer, replacingROLL_OUT_LABEL with a label unique to that member:
Every computer shares one key and Grok Bot sends no Bot IDs, so a new entry or
the key’s Last used in Settings → Organization API Keys can come from any
member. Only the member’s own label shows that their computer is covered.
These sessions belong to the hook key rather than a member. With Session
privacy enabled, they appear redacted to everyone, so checking a label means
unredacting the entry, which is recorded in the audit log.
When native Bot IDs are empty, expect Grok tool activity — Bot unknown, one
entry per tool call. A successful test proves that member’s tested path works;
it does not establish complete conversation coverage or actor attribution.
The key name and rollout inventory do not fill in missing provider identity.
Use the native verification and troubleshooting steps
for failures. HTTP 200, an explicit allow response, and installed files alone do
not prove that activity was recorded. Monitoring also does not imply tool blocking
or AgentGuard behavioral threat scoring.
Onboarding, updates, and removal
- New member: Team Setup runs when their computer starts. Repeat the coverage checks before marking them covered.
- Helper update: revise the local helper, regenerate the manifest, and test it on a pilot group first. Then update the team manifest and verify a fresh Bot after application; an existing executor can retain old hooks.
- Key rotation: create a replacement key and update the Team Secret’s value.
After computers refresh or are recreated, confirm the new key’s Last used,
then revoke the old key. Rotate between tool calls: in tool-only mode, changing
keys changes the pre/post pairing boundary. Computers in more than one team
keep the old key file; delete
~/.grokbot/runlayer_hook.keyon them and use the single-user secret. - Member leaves: files already on their computer, including the saved key, stay there. Rotate the key if that computer may keep running.
- Remove monitoring: disable Grok Bot in Runlayer and revoke its hook key. Delete the manifests and the Team Secret to stop reinstalling, then remove only Runlayer’s hook entries on each cloud computer. Removing the manifest alone does not undo installed files. Keep an allow-only helper at its existing path until cached executors no longer invoke it. Preserve unrelated hooks; the initial backup may predate other administrators’ later changes.