Slack

Send messages, manage channels, and pause workflows for human approval in Slack.

Overview

Send messages and manage Slack from your workflows via the Slack Web API. Pick a resource and operation, and the node surfaces only the fields that operation needs. Text and channel fields support {{variables}}.

Operations

  • Message — Send, Send and Wait for Response, Update, Delete, Get Permalink, Search
  • Channel — Create, Get, Get Many, History, Invite, Archive
  • User — Get, Get Many, Lookup by Email
  • Reaction — Add, Remove

Human-in-the-Loop: Send and Wait for Response

Send and Wait for Response posts an interactive message and then pauses the entire workflow until a person responds in Slack. The execution is parked in a durable WAITING state (its in-flight context is snapshotted to the database, so it can wait minutes, hours, or days without holding a worker), then resumes down the branch matching the human’s choice. Use it to put a human checkpoint in front of any consequential step.

Response types

  • Approval — Approve / Disapprove buttons (labels configurable; the Disapprove button is optional). Routes to the Approved or Disapproved output.
  • Free Text — a Respond button opens a modal with a single text box. The entered text lands in the output under text; routes to Submitted.
  • Custom Form — a Respond button opens a modal built from your fields (short text, long text, or dropdown; each optional or required). Submitted values land in the output under submitted; routes to Submitted.

Output handles

The node shows a labeled output for each path so you can branch on the canvas: Approved, Disapproved, Submitted, and (when a wait timeout is set) Timeout. The chosen response is also written to the node’s output variable.

Wait timeout

Set Wait Timeout (minutes) to bound how long the workflow waits. 0 waits indefinitely. After the timeout, the workflow continues down the Timeout output so you can escalate, retry, or proceed with a default.

Required Slack app setup

Send and Wait relies on Slack’s interactive components, which use a separate Request URL from the Events API. In your Slack app under Interactivity & Shortcuts, enable Interactivity and set the Request URL to https://www.falconbuilder.dev/api/webhooks/slack/interactivity. The app’s Signing Secret must be on the Slack credential (the same one the Slack Trigger uses) so Falcon can verify button and modal callbacks.

Configuration

  • Credential — select a Slack credential (Bot User OAuth token)
  • Channel — channel ID (e.g. C0123456789) for message, history, invite, archive, and reaction operations
  • Message Text — message body for Send/Update/Send and Wait (supports {{variables}})
  • Blocks — optional Slack Block Kit JSON array for rich layouts (Send and Wait builds its own interactive blocks)
  • Response Type / labels / form fields / wait timeout — shown only for Send and Wait for Response (see above)
  • Output Variable — name to store the Slack API response (or the human response) under

Example

  • Resource: Message · Operation: Send
  • Channel: C0123456789
  • Text: New patient intake from {{$json.name}} — review in the portal.

Example: approval gate

  • Resource: Message · Operation: Send and Wait for Response
  • Channel: C0123456789
  • Text: Send this outreach email to {{$json.email}}? Draft: {{agent_result.response}}
  • Response Type: Approval · Wait Timeout: 60
  • Wire the Approved output to the “send email” step, Disapproved to a logging/notify step, and Timeout to a reminder.

Common Use Cases

  • Approval gates — require a human Approve before an irreversible step (publish content, send outreach, issue a refund, close an account)
  • Review & edit — collect free-text feedback or structured form input to steer the next step
  • Team alerts — notify a channel when a workflow needs human attention
  • Status reactions — add a ✅ reaction once a downstream step completes

Notes

  • The Slack app must be a member of any channel it posts to or reads from.
  • Search requires a user token rather than a bot token; bot-only installs return a Slack permissions error.
  • Send and Wait requires Interactivity enabled on the Slack app (Request URL /api/webhooks/slack/interactivity) and the Signing Secret on the credential. Without it, button and modal responses can’t reach Falcon and the run stays parked until its timeout.
  • A Send and Wait node parks its execution in a WAITING state (shown on the executions list) until someone responds or the wait times out. Test Node shows a preview without actually posting or pausing.