Slack Notifications
FirmHook can send alerts to Slack when deliveries fail, giving your team immediate visibility without requiring someone to watch the dashboard all day.
This guide covers setup, recommended alert rules, and how to test the integration safely.
Slack notifications are available on paid plans that include alert integrations.
What you will need
Before starting, make sure you have:
- Access to the Slack workspace where alerts should be posted
- Permission to create a Slack app or incoming webhook
- Admin or owner access in the FirmHook organization
Step 1: Create a Slack incoming webhook
Create a Slack app
- 1Visit api.slack.com/apps
- 2Select
Create New App - 3Choose
From scratch - 4Give the app a name such as
FirmHook Alerts - 5Choose the Slack workspace where the messages should appear
Enable incoming webhooks
Inside the new Slack app:
- 1Open
Incoming Webhooks - 2Turn
Activate Incoming Webhookson
Connect it to a channel
- 1Select
Add New Webhook to Workspace - 2Choose a channel such as
#webhook-alerts - 3Approve the installation
Slack will generate a webhook URL similar to this:
texthttps://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXX
Treat this URL as a secret. Anyone with it can post messages into your Slack channel.
Step 2: Add the webhook URL in FirmHook
In the FirmHook dashboard:
- 1Open your organization
- 2Go to
Settings -> Notifications - 3Paste the Slack webhook URL into the Slack webhook field
- 4Save the changes
Once saved, FirmHook can begin sending alert messages to that Slack channel.
Step 3: Choose your alert behavior
FirmHook supports two common failure alert patterns:
| Setting | Recommended default | What it does |
|---|---|---|
notify_on_dead | On | Sends an alert when all retries are exhausted and manual action is likely needed |
notify_on_failure | Off | Sends an alert on every failed delivery attempt |
For most teams, the best starting setup is:
- Keep
notify_on_deadenabled - Keep
notify_on_failuredisabled
This reduces noise and helps your channel stay useful during temporary outages or short-lived retries.
Step 4: Test the integration
The fastest test is to point a temporary endpoint to a URL that returns a failure response.
Example flow:
- 1Create or edit an endpoint and set its destination to
https://httpstat.us/500 - 2Send a test webhook to the FirmHook ingest URL
bashcurl -X POST https://acme-corp.firmhook.com/<endpoint-id> \ -H "X-Webhook-Api-Key: whq_your_api_key_here" \ -H "Content-Type: application/json" \ -d "{\"event\":\"test\"}"
What happens next depends on your settings:
- If
notify_on_failureis enabled, Slack receives an alert after the first failed attempt - If only
notify_on_deadis enabled, Slack receives an alert after all retries are exhausted
Recommended channel setup
To keep alerting useful as your team grows:
- Use a dedicated channel such as
#firmhook-alerts - Keep the channel focused on failures, not general discussion
- Pair Slack alerts with email for owner-level visibility
- Review alert volume monthly to make sure you are not over-notifying
Disable Slack alerts
To stop Slack notifications:
- 1Open
Settings -> Notifications - 2Clear the saved Slack webhook URL
- 3Save the settings
FirmHook stops sending new Slack alerts immediately after the webhook is removed.
Notes and limitations
- Slack and email alerts are independent, so you can use either or both
- A Slack incoming webhook posts to one fixed channel
- To change the Slack destination channel, generate a new webhook in Slack and replace the saved URL in FirmHook
- If no alert email is configured, FirmHook can fall back to organization owners and admins for email delivery
Troubleshooting
If alerts are not arriving:
- Confirm the Slack webhook URL was copied fully
- Make sure the endpoint actually failed and retried
- Check whether your current plan includes Slack notifications
- Re-save the notification settings and run another failure test
If the dashboard shows failed deliveries but Slack stays silent, start by checking whether notify_on_dead or notify_on_failure matches the scenario you are testing.