Slack
Set up Slack as an integration recipient for incident notifications.
Send Xyte incident notifications straight to a Slack channel. Setup is a short wizard — Connect → Channel → Messages → Filtering → Enable — where Messages (tailoring the notification text and incident threading) and Filtering (a minimum incident priority) are optional, followed by optional per-space routing.
Each stage saves itselfEvery stage has its own button — Update on Channel, Save templates on Messages, Save filtering on Filtering, Activate on Enable. The Prev / Next buttons at the bottom of the wizard only move between stages; they do not save anything. If you leave a stage without clicking its own button, your selection is not stored.
Requirements
- Company Slack Administrator access (needed to authorize the Xyte app).
- If your workspace restricts app installations, a Slack admin has to approve the Xyte app for the workspace. Xyte is not listed in the Slack Marketplace, so Slack may warn that the app is not approved and hold the install until an admin allows it.
- Your workspace's Slack URL (for example,
company-workspace.slack.com). - A public Slack channel to receive notifications (for example,
tech_support).
Open the Slack integration
Go to Settings → Integrations to open the Outbound integrations catalog. Under Messaging, click the Slack card.

This opens the Slack settings page on the Messaging Platforms tab, where setup runs as a wizard: Connect → Channel → Messages → Filtering → Enable. Messages lets you customize the notification text and thread incident updates (see the Customize messages tab) and Filtering limits which incidents are reported (see the Filter by priority tab) — both are optional and can be set later.

Step 1 — Connect
On the Connect stage, click Add to Slack.
Slack opens an authorization screen. Select your Workspace, review the permissions the Xyte app requests, and click Allow.

You're returned to Xyte and the wizard advances to the Channel stage.
Step 2 — Channel
Open the Default Channel (Public channels) dropdown and choose the channel that should receive notifications (for example, tech_support), then click Update to save it.

Click Update, not NextUpdate is what saves the channel. Next only moves to the following stage, so if you pick a channel and click Next, the channel is not saved — the Enable stage stays unavailable and saving on the later stages can fail. If in doubt, come back to Channel and confirm the channel you picked is still selected.

Only public channels are listed. To post to a private channel, invite the Xyte app to that channel in Slack first.
Step 3 — Messages and Filtering (optional)
With the channel saved you can go straight to Enable. The two stages in between are optional and can be revisited at any time:
- Messages — customize the opened / closed messages and turn on threaded incident updates. See the Customize messages tab.
- Filtering — report only incidents at or above a chosen priority. See the Filter by priority tab.
Each of these stages saves with its own button (Save templates / Save filtering).
The Messages stage — each incident event has its own template, and the placeholder chips
under a field insert a {token} into it:

The Filtering stage — pick a minimum incident priority and click Save filtering:

Step 4 — Enable
On the Enable stage the integration starts as Disabled. Click Activate.

The status changes to Active and a confirmation message appears. To turn the integration off later, click Disable on this same stage.

Step 5 — Test the integration
Once the integration is Active, confirm everything is wired up by sending a test incident. No real fault is needed — pick any device and use its Report Incident capability to raise one. Xyte posts the test incident to your selected channel exactly like a live one.
Report the incident from the device, then open your Slack channel. You should see a New Incident message with all of its details — ID, Title, Description, Priority, Opened at, Device, Model, and Space:
If the message appears in the channel, the integration is working. If nothing arrives, check that the integration shows Active, that the correct channel is selected, and (for private channels) that the Xyte app has been invited to the channel.

Customize the message (templates)
You control exactly what the Slack messages say. On the Slack settings page, open the Messages stage. There are independent templates per event:
- Incident opened message — sent when an incident is raised.
- Incident closed message — sent when it is resolved.
- Incident updated message — sent while the incident is still open, when Notify on incident updates is on (see below).
Each is free text with {placeholder} tokens that are replaced with the incident's values when the message is sent. Every field starts pre-filled with the default template — the standard message with every field, ending with a link back to this settings page. Edit the text and click Save templates, or click Reset to default to restore the original.
Save templates is what stores your text. Moving on with Next leaves the edits unsaved.
- If every placeholder on a line is empty for a given incident, the whole line is dropped from the message — so a template laid out one field per line never shows empty rows.
- An unrecognized
{token}(a typo, for example) is sent as written, so the mistake is visible in the message. - A very long value (a 1000-character description, say) is truncated with an ellipsis to stay inside the platform's message limit.
- Slack formatting works: wrap text in
*asterisks*for bold, and use<{url}|Open in Xyte>for a labeled link. - Click any placeholder chip below a field to insert it at the end of that template.

Threaded incident updates
Two switches on the same Messages stage control what happens after the opening message. Slack is the only messaging platform that supports this, because it is the one whose API lets Xyte reply to a specific message.
- Notify on incident updates — off by default. Turn it on to post a follow-up whenever an incident's title, description, priority or assignee changes. The follow-up is posted as a reply under that incident's original Slack message, so everything about one incident stays in a single thread. Turning it on reveals the Incident updated message template.
- Also show replies in the channel — on by default. Follow-ups stay visible to anyone reading the channel; turn it off to keep them inside the thread only.
Click Save templates to store the switches together with the templates.

Available placeholders
| Placeholder | Description | Example | Opened | Updated | Closed |
|---|---|---|---|---|---|
{title} | Incident title | Camera offline | ✅ | ✅ | ✅ |
{space} | Full space path of the device | HQ / Floor 3 / Room 301 | ✅ | ✅ | ✅ |
{description} | Incident description | Device stopped responding | ✅ | ✅ | |
{priority} | Priority — Critical, High, Moderate, Low, or Planning | High | ✅ | ✅ | |
{opened_at} | When the incident opened (device time zone) | 05/06/2026 16:26 UTC | ✅ | ||
{device} | Device name | Front Lobby Camera | ✅ | ✅ | ✅ |
{model} | Vendor / model | Axis / P3245 | ✅ | ||
{incident_id} | Short incident ID | 4821 | ✅ | ✅ | ✅ |
{assignee} | Assigned user | Jane Doe | ✅ | ✅ | ✅ |
{organization} | Organization name | Acme Corp | ✅ | ||
{customer} | Customer (top-level space) name | Acme Retail | ✅ | ||
{opened_by} | Who or what opened the incident | Monitoring | ✅ | ||
{url} | Link to the incident in Xyte | https://app.xyte.io/incident/… | ✅ | ✅ | ✅ |
{closed_reason} | Why the incident closed | Device back online | ✅ | ||
{duration} | How long the incident was open | about 2 hours | ✅ | ||
{closed_by} | Who or what closed the incident | System | ✅ | ||
{closed_method} | How it was closed (for example, manually or automatically) | automatically | ✅ |
A placeholder used outside its scope (for example {closed_reason} in the opened or updated message) simply renders blank.
Example
Opened-message template:
🔴 *{title}*
Priority *{priority}* at {space}
Device: {device} ({model})
<{url}|Open in Xyte>Posts to Slack as:
Camera offlinePriority High at HQ / Floor 3 / Room 301
Device: Front Lobby Camera (Axis / P3245)
Open in Xyte
Report only the incidents that matter
The Filtering stage limits which incidents reach Slack at all. Pick a value under Minimum incident priority to report and click Save filtering:
| Option | Reported to Slack |
|---|---|
-- no filter -- | Every incident (default) |
| Critical | Critical only |
| High | Critical, High |
| Moderate | Critical, High, Moderate |
| Low | Critical, High, Moderate, Low |
| Planning | Every incident |

How it behaves:
- An incident below the threshold is skipped, and stays skipped for its whole lifecycle — even if someone raises its priority later, and even for its closing message.
- An incident that was already reported keeps updating normally, even if its priority is later lowered.
- The filter is per integration, so Slack can be noisier or quieter than your other recipients.
Routing notifications (per space)
Each space's Routing settings control where that space's notifications are sent.
- Inherit events from parent — when enabled, the space uses its parent space's routing, and the recipient cards are read-only.
- For each recipient (Email, Slack), use the Off / On switch to enable it. Turn Inherit settings off to override the inherited configuration, then choose the Channel and click Update.
When Inherit events from parent is on, the Email and Slack cards are locked to the parent's values.

Having trouble with the Slack integration? See the Slack troubleshooting guide.
Updated 5 days ago
