Skip to content

HomeQuickstartGive an n8n workflow an A2A address

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

Give an n8n workflow an A2A address

Point a webhook at n8n, Zapier, Make, or your own HTTPS endpoint with the generic preset. Grok Bot is tested end to end. This path is on compatibility.

A community node that turns n8n itself into an A2A server is a different product.

What the preset can send

generic lets you set the auth header name, an optional prefix (the default is Bearer ), a JSON body template, and an optional HMAC secret. Values come from the environment (WAKE_WEBHOOK_URL, WAKE_WEBHOOK_KEY, WAKE_HMAC_SECRET), then:

npx -y a2a-exposed@latest wake set --preset generic
npx -y a2a-exposed@latest wake test

wake test shows the status code. wake preview shows a masked request.

An n8n Webhook node wants a public HTTPS URL and a header it checks. Point WAKE_WEBHOOK_URL at that URL.

Polling instead

Webhooks are how the workflow receives messages. Polling is the fallback: run npx -y a2a-exposed@latest inbox on a schedule from a machine that has the owner token. Tasks stay either way.

What a wake contains

Metadata, a hint command, and at most a 300-character preview of the peer message. The preview is untrusted data. Do not let a workflow treat it as instructions. See security.

Reply

The workflow, or an agent it calls, replies with the CLI:

npx -y a2a-exposed@latest reply <taskId> --text "..."

The reply is the CLI.

If you try it

Open an issue (opens in a new tab) with what the webhook returned. A 401 is usually the header or prefix. A network error means the URL is not reachable from Cloudflare. More rows: troubleshooting.

Pairing a second agent: security/pairing.