Skip to content

Recipe 01: Slack notification on webhook

Goal: when an external system POSTs to a Flero URL, post a formatted message to a Slack channel.

Difficulty: Beginner · Time: about 10 minutes · Connectors: Slack

The finished Webhook to Slack workflow on the canvas: an API/Webhook Trigger connected to a Slack Send message node.The finished Webhook to Slack workflow on the canvas: an API/Webhook Trigger connected to a Slack Send message node.

Prerequisites

  • A Flero workspace.
  • A Slack credential. Choose Sign in with Slack when you create it. See the connector catalog.
  • A Slack channel the Flero app can post in, for example #flero-test.

Finished workflow

Workflow: API/Webhook Trigger to Send message API/Webhook TriggerTrigger on HTTP Send messageSlack

Step-by-step

1. Create the workflow

  1. On the Workflows page, click Create Workflow.
  2. Name it Webhook to Slack.

2. Add the webhook trigger

  1. Add an API/Webhook Trigger from the Triggers section of the node panel.
  2. In the inspector:
    • HTTP Method: POST
    • Webhook Path: /demo/slack-alert. Paths are shared across your Flero instance, so pick a distinct one.
    • Secret Key: leave empty for now.
    • Response Mode: Immediate
  3. Copy the Webhook URL. It ends in /trigger/demo/slack-alert.

3. Add the Slack node

  1. Add a Slack node from the Integrations section and connect the trigger to it.
  2. In the inspector:
    • Credential: your Slack credential
    • Resource: Message
    • Operation: Send
    • Channel: pick #flero-test from the dropdown
    • Text:
      :bell: New event: *{{ $trigger.payload.title }}*. {{ $trigger.payload.description }}

$trigger.payload holds the JSON body of the request. See Webhook trigger.

4. Save and activate

  1. Save the workflow.
  2. Set it to Active in the editor toolbar's version menu. See Versions and activation.

The webhook URL is now live.


Try it

curl -X POST <your webhook URL> \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Hello, world",
    "description": "First webhook from outside Flero"
  }'

Flero answers 202 with an executionId. In Slack you should see:

:bell: New event: Hello, world. First webhook from outside Flero

Open the run in Logs to confirm both nodes succeeded.


Variations

Require a signed request

Set a Secret Key on the trigger. Every request must then carry a valid HMAC signature in X-Hub-Signature-256 or X-Webhook-Secret. Unsigned requests get 401 Missing webhook signature. See Webhook trigger → Security.

Route by event type

Add an If or Switch node between the trigger and Slack, and send different messages based on {{ $trigger.payload.eventType }}.

Richer layout

Use the Slack node's Message layout field to add headings, images and buttons instead of plain text.


Troubleshooting

Symptom Likely cause Fix
404 Webhook not found The workflow is not active, or the path differs Activate the workflow. Check the path in the URL.
405 Method not allowed You sent a method other than the one set on the trigger Send POST, or change HTTP Method
Slack node fails with channel_not_found The channel does not exist or the app cannot see it Pick the channel from the dropdown. For a private channel, invite the Flero app first.
The message shows empty values The request body lacks the fields Send title and description in a JSON body with Content-Type: application/json

Next


Found something out of date? This page lives in the Flero docs content set.