diff --git a/docs/automation/gmail-pubsub.md b/docs/automation/gmail-pubsub.md index 4a79930b7..f3cf30a4c 100644 --- a/docs/automation/gmail-pubsub.md +++ b/docs/automation/gmail-pubsub.md @@ -31,7 +31,37 @@ Example hook config (enable Gmail preset mapping): } ``` -To customize payload handling, add `hooks.mappings` or a JS/TS transform module +To deliver the Gmail summary to a chat surface, override the preset with a mapping +that sets `deliver` + optional `provider`/`to`: + +```json5 +{ + hooks: { + enabled: true, + token: "CLAWDBOT_HOOK_TOKEN", + presets: ["gmail"], + mappings: [ + { + match: { path: "gmail" }, + action: "agent", + wakeMode: "now", + name: "Gmail", + sessionKey: "hook:gmail:{{messages[0].id}}", + messageTemplate: + "New email from {{messages[0].from}}\nSubject: {{messages[0].subject}}\n{{messages[0].snippet}}\n{{messages[0].body}}", + deliver: true, + provider: "last" + // to: "+15551234567" + } + ] + } +} +``` + +If you want a fixed channel, set `provider` + `to`. Otherwise `provider: "last"` +uses the last delivery route (falls back to WhatsApp). + +To customize payload handling further, add `hooks.mappings` or a JS/TS transform module under `hooks.transformsDir` (see [`docs/webhook.md`](https://docs.clawd.bot/automation/webhook)). ## Wizard (recommended) diff --git a/docs/automation/webhook.md b/docs/automation/webhook.md index b235dd824..680e505f0 100644 --- a/docs/automation/webhook.md +++ b/docs/automation/webhook.md @@ -92,6 +92,8 @@ Mapping options (summary): - `hooks.transformsDir` + `transform.module` loads a JS/TS module for custom logic. - Use `match.source` to keep a generic ingest endpoint (payload-driven routing). - TS transforms require a TS loader (e.g. `bun` or `tsx`) or precompiled `.js` at runtime. +- Set `deliver: true` + `provider`/`to` on mappings to route replies to a chat surface + (`provider` defaults to `last` and falls back to WhatsApp). - `clawdbot hooks gmail setup` writes `hooks.gmail` config for `clawdbot hooks gmail run`. See [`docs/gmail-pubsub.md`](https://docs.clawd.bot/automation/gmail-pubsub) for the full Gmail watch flow. diff --git a/docs/gateway/configuration.md b/docs/gateway/configuration.md index 7209d2967..4109dead0 100644 --- a/docs/gateway/configuration.md +++ b/docs/gateway/configuration.md @@ -1589,6 +1589,8 @@ Defaults: sessionKey: "hook:gmail:{{messages[0].id}}", messageTemplate: "From: {{messages[0].from}}\nSubject: {{messages[0].subject}}\n{{messages[0].snippet}}", + deliver: true, + provider: "last", }, ], } @@ -1612,6 +1614,8 @@ Mapping notes: - `match.source` matches a payload field (e.g. `{ source: "gmail" }`) so you can use a generic `/hooks/ingest` path. - Templates like `{{messages[0].subject}}` read from the payload. - `transform` can point to a JS/TS module that returns a hook action. +- `deliver: true` sends the final reply to a provider; `provider` defaults to `last` (falls back to WhatsApp). +- If there is no prior delivery route, set `provider` + `to` explicitly (required for Telegram/Discord/Slack/Signal/iMessage). Gmail helper config (used by `clawdbot hooks gmail setup` / `run`):