Slack Workflow Builder

Slack Workflow Builder is Slack's no-code automation tool. Learn its triggers, how the webhook trigger works, its limits, and why Stripe events need extra code.

Updated October 1, 2026

Slack Workflow Builder is the no-code automation tool built into Slack. You pick a trigger, add steps, and Slack runs the workflow, such as a standup form every morning, an approval request, or a welcome message when someone joins a channel. It's available on Slack's paid plans, and by default any member can build a workflow.

Workflow Builder triggers and steps

Every workflow starts with a trigger:

  • A link that someone clicks.
  • A schedule for recurring tasks.
  • A Slack action, such as an emoji reaction, someone joining a channel, or a new channel being created.
  • A webhook, so a service outside Slack can start the workflow.

Steps come after the trigger. A step can send a message, collect answers with a form, branch on a condition, or act in another tool through a connector. Connector steps need you to sign in to the other tool, and admins control which connectors and custom steps members can use.

The Slack workflow webhook trigger

The webhook trigger is how outside data gets into a workflow. Slack gives you a unique request URL that starts with https://hooks.slack.com/triggers/. An outside service sends an HTTP POST to it with a JSON body, and the workflow runs.

You define up to 20 variables, each typed as text, channel ID, user ID, or user email, and use them in later steps. The limits are strict.

  • No nested JSON. Slack says workflow variables can't currently use nested JSON structures. Every value must sit at the top level of the body.
  • Required variables must be present. If a request leaves one out, the workflow fails.
  • One request per second. Slack limits webhook workflows to one request per second.
  • The URL is the only protection. Slack warns that anyone with the link can start the workflow. There's no request signature to check.

A webhook trigger isn't the same as a Slack incoming webhook. An incoming webhook posts one message to one channel. A webhook-triggered workflow can run several steps, including forms and branches, but only reads the flat variables you defined.

Why Workflow Builder can't read Stripe events directly

Stripe events are nested. The payment, invoice, or dispute sits under data.object, amounts arrive in the smallest currency unit such as cents, and the customer is usually an ID like cus_.... Stripe also signs every delivery and expects the receiver to check the Stripe-Signature header. Workflow Builder can't read nested payloads and has no way to verify a signature.

A Stripe to Workflow Builder setup needs a small service in between. It receives the Stripe webhook, verifies the signature, picks the fields you want, converts cents to a readable amount, looks up the customer's name, and posts a flat JSON body to the workflow URL. You host, monitor, and fix that service. When Stripe retries a backlog after an outage, or renewals pile up at the start of the month, the one-request-per-second limit means the service also has to queue its posts.

The question for a founder is who fixes that service when it breaks at 2 a.m. and a new dispute goes unannounced.

What Workflow Builder is good at

Workflow Builder works well for work that starts and ends inside Slack:

  • A form support uses to request a refund, posted into a finance channel where someone issues it in Stripe.
  • A scheduled Monday reminder asking the owner to check open disputes and their evidence deadlines.
  • An emoji reaction workflow that pulls in a teammate when a payment alert needs follow-up.

These pair well with a payment alert feed. The alert reports what happened, and the workflow organizes what happens next.

Workflow Builder vs a Stripe alert tool

If the goal is Stripe activity in Slack, a tool built for Stripe skips the middleware. ChargeBell connects to Stripe with read-only OAuth and posts plain-English alerts with the amount, the customer, what you keep after fees, and the MRR change for subscription events. It routes each alert type to its own channel and supports minimum amounts, quiet hours, and daily digests, with no code. The Free plan includes 50 real-time alerts a month, and Pro is $24 a month with no cap.

See ChargeBell vs Slack Workflow Builder for a side-by-side comparison, the Stripe Slack integration for setup, or how to build a payment incident workflow in Slack for using the two together.

Get alerted in Slack

ChargeBell posts Stripe events to the Slack channel you pick, written in plain English.

Related terms