Slack

September 12, 2026 · View on GitHub

The Slack node sends a message to a Slack channel via an Incoming Webhook. Use it for notifications, alerts, and error reporting.

Overview

PropertyValue
Inputs1
Outputs1
OutputPasses through input

Parameters

ParameterTypeDescription
credentialIdUUIDSlack credential (webhook URL) from Credentials
messageexpressionMessage text. Supports expressions.

Setup

  1. Create an Incoming Webhook in your Slack workspace
  2. Add a Slack credential in Credentials tab with the webhook URL
  3. Reference the credential in the node

Example

{
  "type": "slack",
  "data": {
    "label": "notifyTeam",
    "credentialId": "slack-credential-uuid",
    "message": "Workflow completed: $userInput.body.text"
  }
}

Use with Error Handler for failure notifications:

"message": "Error in $errorHandler.errorNode: $errorHandler.error"

Egress Safety

  • The webhook URL stored in the credential must use http:// or https:// and resolve only to public addresses. Loopback, private, link-local, multicast, and cloud-metadata destinations are blocked.
  • Heym validates the resolved addresses and pins the connection target before sending, so a DNS answer cannot move the request onto an internal address after the check. Environment proxies are disabled while the guard is active, and redirects are not followed.
  • Deployments that post to an internal webhook receiver can set HEYM_HTTP_ALLOW_PRIVATE_URLS=true on a trusted self-hosted instance. Keep the default on hosted or multi-tenant deployments.

Upgrade note for v0.0.109: this check is new for Slack. A credential whose webhook URL points at loopback or a private address is refused unless the setting above is enabled.