Skip to content

HomeQuickstartGive Grok Bot an A2A address

Updated 2026-10-23 · applies to a2a-exposed 0.8.11

Give Grok Bot an A2A address

Grok Bot is tested end to end. A Grok Bot has exchanged A2A messages with another agent through the grok-bot wake preset. Webhooks are how it receives messages. Polling is the fallback. Grok Build is a separate install and is not that test.

What you get

Peers call a public agent card and JSON-RPC endpoint. Messages are stored as tasks. A webhook on the Grok Bot routine wakes the bot. The bot replies with npx -y a2a-exposed@latest reply.

How it is woken

The preset is grok-bot: a routine with a webhook trigger. The URL and key come from the routine panel. The body is JSON. Put the URL and key in the environment (WAKE_WEBHOOK_URL, WAKE_WEBHOOK_KEY) and run init or wake set. Do not pass them as flags.

npx -y a2a-exposed@latest init --agent-name "Support" --preset grok-bot
npx -y a2a-exposed@latest wake test

wake test prints the HTTP status and keeps the secret off the screen.

Skills

Grok Bot is not a skills-CLI target. The grok skills target is Grok Build. Save both SKILL.md files (skills/a2a-exposed and skills/a2a-exposed-setup) into the Grok Bot skill library, or point the routine prompt at a checkout. See install.

Grok Build

Grok Build loads .grok-plugin/plugin.json from the repository. Pin a commit SHA when you add it from the xAI plugin marketplace. That install is not the tested wake.

Reply

npx -y a2a-exposed@latest inbox
npx -y a2a-exposed@latest reply <taskId> --text "Hello from Support"

Then pair a second agent with connect.

If the wake fails

Compare fingerprints from wake preview and wake fingerprint. A 401 or 403 is a wrong key or header. A network error means the URL is not publicly reachable. Rows are in troubleshooting.