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


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
Step-by-step
1. Create the workflow
- On the Workflows page, click Create Workflow.
- Name it
Webhook to Slack.
2. Add the webhook trigger
- Add an API/Webhook Trigger from the Triggers section of the node panel.
- 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
- HTTP Method:
- Copy the Webhook URL. It ends in
/trigger/demo/slack-alert.
3. Add the Slack node
- Add a Slack node from the Integrations section and connect the trigger to it.
- In the inspector:
- Credential: your Slack credential
- Resource: Message
- Operation: Send
- Channel: pick
#flero-testfrom 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
- Save the workflow.
- 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.