Skip to main content
Monitoring alerts tell your team when something outside Fire spark fails: a payment provider declines, your POS rejects an order, a menu import breaks, or your webhook endpoint stops answering. Fire spark’s own errors never trigger your alerts — our team handles those. Each alert has a channel (Slack, Discord, Microsoft Teams, or email), the failures that trigger it, and optionally who to notify.

What can trigger an alert

Before you start

  • A dashboard role that can manage monitoring alerts.
  • For Slack: permission to add apps to your workspace, and access to the channel that will receive alerts.
  • For Discord: the Manage Webhooks permission on the server.
  • For Microsoft Teams: permission to add connectors or incoming webhooks to the team channel.

Get a webhook URL

Slack, Discord, and Microsoft Teams deliver alerts through an incoming webhook: a private URL that posts messages to one channel. Their screens change from time to time, so follow their official guides for the exact clicks.
  1. Create a Slack app (or reuse one) and turn on Incoming Webhooks.
  2. Click Add New Webhook to Workspace and pick the channel for alerts.
  3. Copy the URL. It starts with https://hooks.slack.com/services/.

Slack: Sending messages using incoming webhooks

Official step-by-step guide from Slack.
To post in a private channel, you must be a member of that channel when you create the webhook.
Anyone with the webhook URL can post to your channel. Don’t share it or commit it to a repository. Fire spark stores it encrypted and only shows a masked version after you save.

Create the alert

1

Open alerts

In the dashboard, go to Monitoring → Notifications and click New alert.
2

Fill in the General tab

  • Name: something your team recognizes, like “POS injection failures”.
  • Destination: pick Slack, Discord, Microsoft Teams, or Email and paste the webhook URL when needed.
  • Triggers: choose which failures fire this alert.
  • Recipients (optional for Slack, Discord, and Teams): roles or members to name in the message. Required for email.
3

Save and send a test

Click Save. On the alert card, use Send test to confirm the message arrives in your channel.
The preview on the right side of the form shows what the message will look like with sample data.

Mention people

Use the Mention field to notify people in Slack or Discord, or to add a short note at the top of Teams messages.
  • @here or @channel notify the channel. Fire spark converts them to Slack’s format for you.
  • To mention one person, use their member ID: <@U0123ABCDE>.
How Slack formats mentions

Log errors alerts

The Log errors trigger watches the error logs your apps send with the SDK. Fire spark groups them by alias, error name, and message. Numbers, IDs, and quoted values are ignored, so Order 123 failed and Order 456 failed land in the same group. Errors that arrive during the cooldown are counted, and the next notification says how many happened since when. With Conditions, Accumulated events counts the errors in the group since its last notification. For example, greater than 10 waits until more than 10 errors have piled up and the cooldown has elapsed. The link in the message opens the Logs tab filtered to that group. Log errors messages can also use {{alias}}, {{count}}, {{since}}, and {{context}} (store, channel, and device).

Advanced options

The Advanced tab covers special cases. The defaults work for most teams. Placeholders you can use in messages:

Troubleshooting

Check that the URL is the full incoming webhook URL and that the webhook still exists in Slack, Discord, or Teams. If someone deleted the webhook or archived the channel, create a new one and paste the new URL in the alert.
The card shows the last delivery error. Hourly alert limit reached for this merchant means Fire spark paused alerts for the rest of the hour to avoid flooding your channels. Raise the cooldown or narrow the alert with conditions.
In Slack, individual people need their member ID (<@U0123ABCDE>), not their display name. In Discord, use <@USER_ID> or <@&ROLE_ID>.