Trigger Slack alert

Send a Slack message when a trigger condition is met.

Overview

This node sends a Slack message when a trigger condition is met. It can upload a snapshot image and a video clip to Slack, then link to them in the notification.

Inputs & Outputs

  • Inputs : 1, Media Format : Raw Video
  • Outputs : 1, Media Format: Raw Video
  • Output Metadata : None

Properties

PropertyValue
triggerSend the message once this trigger condition is met.
slack_bot_tokenBot token created from your Slack app (starts with xoxb-).
slack_channelsComma-separated list of Slack channel IDs or channel names (e.g. #alerts) to post messages to.
subjectTitle of the Slack message. Supports template variables such as {{ source_name }} and {{ event_name }}.
bodyBody of the message. Supports template variables such as {{ event_description }}.
include_snapshotInclude a snapshot image from the trigger time.
media_nodeUpload the most recent media file from this node (for example, a Save Clip node) and include a link in the message.
livestream_nodeInclude the live stream URL from a Stream WebRTC node.
intervalMin time (seconds) between consecutive notifications.
max_media_wait_timeMaximum time to wait for a media clip to become available.

Template Syntax

The following Template variables are available to use in Subject and Body. The templates can be built using Jinja2 Template Syntax.

Variables available to the template:

VariableDescription
metaFrame metadata. Contains keys like nodes, objects, and other custom metadata inserted by Custom function node.
application_idThe application ID of the deployment that produced this metadata.
application_nameThe application name of the deployment that produced this metadata.
deployment_idThe deployment ID of the deployment that produced this metadata.
deployment_nameThe deployment name of the deployment that produced this metadata.
source_nameThe name of the source that produced this metadata.
livestream_urlThe URL of the livestream.
event_nameName of event(s) contained in this frame.
event_descriptionDescription of events contained in this frame.

Example templates

Static text content:

Text content

Reference specific metadata:

Person detected on {{ source_name }}. View live stream at {{ livestream_url }}

Metadata reinserted as is:

{{ meta | tojson }}

Metadata

Metadata PropertyDescription
NoneNone

Slack App Setup

  1. Create a new Slack app at https://api.slack.com/apps and choose From scratch.
  2. Under OAuth & Permissions, add the following Bot Token Scopes:
    • chat:write
    • files:write
    • channels:read (only needed if you use #channel names instead of IDs for public channels)
    • groups:read (only needed if you use #channel names instead of IDs for private channels)
  3. Install the app to your workspace and copy the Bot User OAuth Token (starts with xoxb-).
  4. Invite the bot to the target channel in Slack (e.g. /invite @Lumeo Alerts).
  5. Paste the bot token into slack_bot_token and the channel name/IDs into slack_channels.

Slack App Manifest

Use this app manifest to quickly configure the Slack app.

_display_information:
  name: Lumeo Alerts
features:
  bot_user:
    display_name: Lumeo Bot
    always_online: true
oauth_config:
  scopes:
    bot:
      - chat:write
      - files:write
      - channels:read
      - groups:read
settings:
  org_deploy_enabled: false
  socket_mode_enabled: false
  token_rotation_enabled: false