--- title: 'Notify' description: 'Send a Slack message or an email to your own team when a workflow reaches this step.' --- # Notify Send a human a heads-up from inside a workflow — the most common "last step" on any automation. Two channels: - **Slack** — post the message to a Slack **Incoming Webhook** URL you paste into the node. No OAuth or Slack app install needed: in Slack, open *api.slack.com → Your Apps → Incoming Webhooks*, create one for the channel you want, and paste the `https://hooks.slack.com/services/…` URL. - **Email** — send the message through the platform's mailer to **one of your own account emails** (you, or an active team member). ## When to use - Alert your team the moment something important happens — a VIP deposit, a risk flag, a failed KYC check. - Close the loop on an automation: "the workflow ran, here's the result". - Get pinged when an approval (Wait for Approval) or long-running flow needs eyes. ## Configuration | Field | Required | What it does | |---|---|---| | `mode` | Yes | `slack` or `email` (default `slack`). | | `webhookUrl` | Slack mode | The Slack Incoming-Webhook URL to post to. Must be `https://`. | | `recipient` | Email mode | Picked from **your account emails only** — your operator email plus active team members. Arbitrary addresses are not allowed. | | `subject` | No | Email subject. Supports `{{...}}` refs. Blank = a default subject. | | `message` | Yes | The message body. Supports `{{...}}` refs, so you can include data from earlier steps. | ## Example ``` [Event Trigger: deposit] → [Condition: amount ≥ 5000] → [Notify] mode: slack message: 💰 VIP deposit: {{trigger.data.player_id}} deposited {{trigger.data.amount}} {{trigger.data.currency}} ``` ## What it outputs ``` { sent: true, mode: "slack" } ``` ## Gotchas - **Email recipients are locked to your own account.** The dropdown only offers your operator email and active team-member emails, and the engine re-checks the stored recipient server-side before every send — a recipient outside your account fails the node. This is deliberate (v1 anti-spam constraint), not a bug. - **The Slack URL is a credential.** Anyone with an incoming-webhook URL can post to that channel — treat it like a token and rotate it in Slack if it leaks. - **Slack failures fail the node.** A deleted/revoked webhook returns `404`/`410` from Slack and the node errors — wrap it in Try / Catch if the notification is best-effort. - **Feature-flagged.** The node runs only when `notify_node_enabled` is on; when it's off the node errors clearly (and it doesn't appear in the Add-Node palette). - **Counts as an Action.** Each successful notification bills one Action, like other action nodes.