Skip to main content
Version: 8.3

Usage

Setup Overview

  1. Create a Twilio Notification profile (Services > Alarming > Notification)
  2. Enter the Account SID, the credential (API Key SID + secret, or the Auth Token), the Region, and the Messaging Service SID
  3. Add each recipient's phone number as an SMS contact in E.164 format (see Configuration)
  4. Add a Twilio notification block to an alarm pipeline and set its Message / Throttled Message / Test Mode and roster

Alarm Pipeline

Notification Block Parameters

ParameterTypeDefaultDescription
MessageExpressionSee belowContent of the message to send
Throttled MessageExpressionSee belowMessage when multiple alarm events are batched
Test ModeBooleanfalseLog the message instead of contacting Twilio

Message Templates

Expression Syntax

The Message and Throttled Message fields support Ignition's expression syntax, allowing dynamic content based on alarm properties.

Default Message:

At {eventTime|hh:mm:ss}, alarm "{name}" at "{displayPath}" transitioned to {eventState}.

Default Throttled Message:

{alarmEvents.Count} alarm events have occurred.

Which template is used

SituationTemplate
One alarm event, no custom messageMessage
One alarm event with a CustomTwilioMessageThe per-alarm Custom Message
Several alarm events batched togetherThrottled Message (a custom message is ignored)

SMS Notifications

Each notification is sent through the configured Twilio Messaging Service, one request per SMS contact on the notified user.

Characteristics:

  • The module POSTs to https://<region-host>/2010-04-01/Accounts/<AccountSid>/Messages.json with To, MessagingServiceSid and Body form parameters
  • What recipients see as the sender is determined by the Messaging Service's sender pool, not by the module
  • A user with no SMS contact is skipped and logged at debug level
  • Twilio accepting the message (HTTP 2xx) counts as success; any other status is logged as an error with Twilio's response body
No acknowledgement over SMS

Messages are one-way. Replies to the SMS are not processed, and there is no reply code or keypress acknowledgement — the module registers no inbound endpoint. Acknowledge alarms in Ignition, or see Overview for profiles that do support two-way notification.


Test Mode

Enable Test Mode on the notification block to validate a pipeline without sending anything. The module logs the message it would have sent, at INFO level, including the target number and the Messaging Service SID:

[TEST MODE] Would send SMS via Twilio messaging service 'MG…' to '+33612345678': At 14:03:21, alarm …

Twilio is never contacted, so no message is billed. Auditing still records the notification.


Audit Logging

When an Audit Profile is configured on the profile, one audit record is written per alarm event per notification.

Logged information:

  • Action: Twilio SMS
  • Actor: the Ignition user receiving the notification
  • Actor host: the notification profile name
  • Target: the alarm event path (alarm source extended with the event id)
  • Value: SUCCESS or FAILURE
  • Timestamp and a status code

The record reflects whether Twilio accepted the message, not whether the handset received it. Twilio's own delivery status is not polled back into Ignition — check the Twilio Console for delivery receipts.


Troubleshooting

IssuePossible CauseSolution
No SMS sent, no errorUser has no SMS contactAdd an SMS contact to the user; check the gateway log at debug level
Twilio rejects the message (HTTP 4xx)Number not in E.164 formatStore contacts as +<country code><number> with no separators
Twilio rejects the message (HTTP 401)Credential and region mismatchThe API Key or Auth Token must come from the same region as the Messaging Service
Twilio rejects the message (HTTP 404)Wrong Account SID or Messaging Service SIDRe-check both SIDs in the Twilio Console
Messages accepted but never deliveredMessaging Service sender pool or complianceCheck the Messaging Service's senders and delivery logs in the Twilio Console
Nothing sent and the log says test modeTest Mode left enabledDisable Test Mode on the notification block
Notifications stop entirelyTrial expiredActivate a license — see Licensing

Best Practices

  1. Use an API Key rather than the account Auth Token, so the credential can be revoked independently
  2. Store contacts in E.164 — the module does not normalise numbers, and Twilio rejects anything else
  3. Match the region across the Messaging Service, the credential and the profile's Region field
  4. Keep messages short — long bodies are split into multiple segments and billed per segment
  5. Use Test Mode when building a pipeline, so validation runs cost nothing
  6. Enable an audit profile so every send attempt is recorded alongside the alarm journal
  7. Keep a license current — an expired trial stops notifications silently