Reference · Tools

SIGNL4

Send and resolve mobile alerts via the SIGNL4 incident response platform with optional file attachments.

Action (binary) Communication v1 Binary data

The SIGNL4 node sends new mobile alerts to a duty team and resolves existing ones, optionally attaching files and location coordinates. A typical build is raising an alert when a monitored system fails and closing it automatically once the check recovers.

Node type
Action (binary)
Parameters
6
Outputs
Output, Error
Credentials
SIGNL4 Webhook

SIGNL4

Send and resolve mobile alerts via SIGNL4 with optional file attachments

Overview

The SIGNL4 tool sends new alerts and resolves existing alerts via the SIGNL4 webhook API (POST https://connect.signl4.com/webhook/{teamSecret}). The “send” operation creates a new alert with a message, optional title, service category, alerting scenario (single_ack or multi_ack), external correlation ID, location coordinates, keyword filtering, and an optional binary file attachment (PNG, JPG, BMP, GIF, MP3, WAV). The “resolve” operation closes a previously sent alert by its external ID. All requests use multipart/form-data. Authentication uses a team secret embedded in the webhook URL path.

Category: Communication
Tool Name: signl4
Version: 1

Appearance: Icon: lucide-Siren | Color: #0080FF

Node Type

Action (Binary) — handles file/binary data operations

Input / Output

DirectionPort(s)
InputInput
OutputOutput, Error

Credentials

This tool requires SIGNL4 Webhook credentials. See the Credentials Guide for setup instructions.

Resources

ResourceValue
Alertalert

Operations

OperationValueDescription
Alert: SendsendSend a new alert
Alert: ResolveresolveResolve an existing alert

Parameters

Alert: Send

ParameterTypeRequiredDefaultDescription
MessagestringYesA more detailed description for the alert. Supports expressions.
Additional FieldscollectionNo{}Optional fields to send alongside the alert.
— Alerting ScenariooptionsNosingle_ackDetermines how many people need to acknowledge this alert.
Options: single_ack (only one person needs to confirm the alert), multi_ack (all on-duty team members must confirm the alert)
— Attachment (Binary Property)stringNoName of the binary property containing a file to attach to the alert. Supported formats: PNG, JPG, JPEG, BMP, GIF, MP3, WAV. Leave empty for no attachment. Names are case-sensitive — see the upstream node’s Binary Data panel for the exact names to use.
— External IDstringNoIf the event originates from a record in a 3rd party system, pass the unique ID of that record. This ID will be communicated in outbound webhook notifications from SIGNL4. Use the same External ID to resolve the alert later. Supports expressions.
— FilteringbooleanNofalseWhether to apply event filtering. If true, the event only triggers a notification if it contains at least one keyword from your services and system categories (whitelisted).
— LatitudestringNoLatitude for geo-location display. Must be provided together with Longitude. Supports expressions.
— LongitudestringNoLongitude for geo-location display. Must be provided together with Latitude. Supports expressions.
— ServicestringNoAssigns the alert to the service/system category with the specified name. Supports expressions.
— TitlestringNoThe title or subject of this alert. Supports expressions.

Alert: Resolve

ParameterTypeRequiredDefaultDescription
External IDstringYesThe external ID that was used when the alert was originally sent. Must match exactly to resolve the correct alert. Supports expressions.

All Operations

ParameterTypeRequiredDefaultDescription
Max ConcurrencynumberNo5Maximum number of items to process concurrently. Keep low for alerting systems to avoid flooding.

Output Data

One output item is produced per input item, on the Output port, for both send and resolve. SIGNL4’s JSON response — its acknowledgement of the alert, which identifies the event it recorded — is merged onto the item JSON at the top level rather than nested under a wrapper property, so the rest of the incoming item passes through unchanged and response fields are addressed directly by expression. Binary data on the input item is forwarded untouched, including the property you attached to the alert. Neither operation fans out.

A non-2xx reply from the webhook raises an item error carrying the HTTP status and the body SIGNL4 returned. Failures go to the Error port in errorPort mode, carrying _error.

Usage Examples

  • Send a critical alert when server CPU exceeds threshold
  • Resolve an existing alert by its external ID
  • Send an alert with a screenshot image attached
  • Send an alert with geo-location coordinates
  • Send an alert with multi-ack requiring all on-duty team members to confirm

Example Configuration

Raise a plain alert from a monitoring item:

{
  "type": "signl4",
  "parameters": {
    "resource": "alert",
    "operation": "send",
    "message": "Server CPU usage exceeded 90% threshold on {{ $json.host }}"
  }
}

Add a title, route the alert to a service category, and give it a correlation ID you can resolve on later:

{
  "type": "signl4",
  "parameters": {
    "resource": "alert",
    "operation": "send",
    "message": "Database connection pool exhausted - immediate attention required",
    "additionalFields": {
      "title": "Critical Database Alert",
      "service": "database-cluster",
      "externalId": "db-alert-{{ $json.incidentId }}",
      "alertingScenario": "single_ack",
      "filtering": true
    }
  }
}

Attach a screenshot held in the item’s data binary property:

{
  "type": "signl4",
  "parameters": {
    "resource": "alert",
    "operation": "send",
    "message": "Dashboard shows a sustained error spike - screenshot attached",
    "additionalFields": {
      "title": "Error Rate Spike",
      "service": "web-application",
      "binaryPropertyName": "data",
      "externalId": "err-spike-{{ $json.runId }}"
    }
  }
}

Put the alert on the map and require every on-duty responder to acknowledge it:

{
  "type": "signl4",
  "parameters": {
    "resource": "alert",
    "operation": "send",
    "message": "Fire alarm triggered in data center - evacuation protocol initiated",
    "additionalFields": {
      "title": "EMERGENCY: Fire Alarm Activated",
      "service": "facility-management",
      "externalId": "fire-alarm-dc1",
      "latitude": "40.7128",
      "longitude": "-74.0060",
      "alertingScenario": "multi_ack"
    }
  }
}

Close an alert once the underlying condition clears:

{
  "type": "signl4",
  "parameters": {
    "resource": "alert",
    "operation": "resolve",
    "externalId": "{{ $json.externalId }}"
  }
}

Error Handling

ModeBehavior
stopHalts workflow on first error
continueSkips failed items, passes successful ones through
errorPortRoutes failed items to Error output port

Tips

Send new alerts or resolve existing alerts via the SIGNL4 mobile alerting platform, with optional file attachments.

Notes

  • Resolving matches on External ID alone, so an alert can only be closed from a workflow if you set an External ID in Additional Fields when you sent it. Use a value you can reproduce later, such as an ID carried on the item.
  • Latitude and Longitude only take effect as a pair. If either is empty, no location is attached to the alert.
  • The attachment is sent only when the item actually carries a binary property under the name you gave. If it does, the file extension must be one of png, jpg, jpeg, bmp, gif, mp3 or wav — anything else fails the item.
  • Keep Max Concurrency low. Each item is a separate alert, and a burst of them reaches every on-duty phone at once.

Frequently asked questions

How do I resolve an alert I sent earlier?

Resolving matches on External ID alone, so an alert can only be closed from a workflow if you set an External ID in Additional Fields when sending it. Use a value you can reproduce later, such as an ID carried on the item.

Why is my location not showing?

Latitude and Longitude only take effect as a pair. If either is empty, no location is attached at all.

Can it attach files to an alert?

Yes — optional file attachments come from binary data on the incoming item, useful for sending a screenshot or log with the alert.

Which credential does it need?

A SIGNL4 webhook credential for your team.

Build with the SIGNL4 node

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need SIGNL4 Webhook credentials first.

Open BusyBot

Last updated . Spotted something wrong? Tell us.