Set up event notifications
By the end of this guide, you will have at least one event notification configured and delivering alerts to an external service when a gateway event fires.
Event notifications send structured payloads to email, Slack, a webhook, or a streaming platform when selected gateway events occur. All integration types share the same wizard. For background on the event model and supported categories, see Event notifications.
Without notifications, there is no automated alert path for critical gateway events such as connection point changes or user additions. You must poll the dashboard or logs manually to detect them.
Use this guide when:
- You need automated alerts when specific gateway events occur.
- You are routing event data to an external monitoring or communication platform.
Prerequisites
- Dashboard access with Power User or Administrator role.
- Credentials for the target delivery service: SMTP server details, a Slack incoming webhook URL, an HTTPS endpoint, or streaming platform connection details.
Steps
All integration types use the same wizard. In the dashboard sidebar, select Integrations, then select Add Integration, then follow the type-specific steps below.
Add an email integration
Select Email as the integration type.
Select the Event Category this integration should respond to.
Fill in the SMTP configuration:
Field Required Description From address Yes The sender email address. To addresses Yes One or more recipient addresses. SMTP host Yes Your SMTP server hostname. SMTP port Yes Typically 587for STARTTLS or465for TLS.Username No SMTP authentication username, if required. Password No SMTP authentication password, if required. Use TLS No Enable for connections on port 465. Use STARTTLS No Enable for connections on port 587. In the Content section, enter the Subject and Body. Use
${VARIABLE_NAME}syntax to include event data. See Template variables.Select Test to send a sample message and confirm delivery.
Select Save.
Add a Slack integration
- Select Slack as the integration type.
- Select the Event Category.
- Enter the Slack incoming webhook URL in the Webhook URL field.
- In the Content section, enter the message text. Optionally set a Bot name and Icon emoji.
- Select Test to confirm delivery.
- Select Save.
Add a webhook integration
Select Webhook as the integration type.
Select the Event Category.
Fill in the endpoint configuration:
Field Required Description URL Yes The HTTPS endpoint that will receive the event payload. Method No POSTby default.Signing secret No When set, the gateway signs each request with HMAC-SHA256 and includes the signature in a request header so your endpoint can confirm authenticity. Headers No Additional HTTP headers to include on each delivery. In the Content section, enter the JSON payload template.
Select Test to confirm delivery.
Select Save.
Add a stream integration
- Select Stream as the integration type.
- Select the Event Category.
- Select your Platform: Kafka, Kinesis, Pulsar, or Redis Streams.
- Fill in the platform connection fields: brokers or endpoint, topic, region, and credentials.
- Optionally enter a Content template to shape the event payload written to the stream.
- Select Test to confirm connectivity.
- Select Save.
Template variables
Content fields support ${VARIABLE_NAME} syntax. The integration editor surfaces the available variables for the selected event category. Variables not available for the selected category resolve to an empty string.
The following variables are available in every category:
| Variable | Description |
|---|---|
${EVENT_TYPE} | The specific event that fired, for example user.created or gateway.updated. |
${TIMESTAMP} | ISO 8601 timestamp of the event. |
${NEW_STATE} | JSON representation of the entity’s state after the event. Empty for delete events. |
${OLD_STATE} | JSON representation of the entity’s state before the event. Empty for create events. |
Additional variables are available per category:
| Category | Variables |
|---|---|
| User | ${USERNAME}, ${USER_EMAIL}, ${USER_ROLE}, ${USER_STATUS} |
| Gateway | ${GATEWAY_NAME}, ${GATEWAY_DID}, ${GATEWAY_STATUS} |
Confirm
Test 1: integration status shows Active
After saving, open Integrations in the sidebar. The new integration row should show Active in the status column.
Test 2: test notification is delivered
Select Test on the integration row. The gateway sends a sample payload using the saved configuration.
Expected: the test reports a successful delivery, and the notification appears in the target service: inbox, Slack channel, webhook endpoint, or stream.
If the test fails, the error returned by the target service is shown in the test result. Check the configuration fields and confirm network access from the gateway host to the target service.
Delivery failures in production are retried with increasing back-off, so a transient outage at the destination does not drop a notification.
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| Test notification is not received | SMTP credentials are incorrect or the target endpoint is unreachable from the gateway host. | Check the configuration fields and confirm network access from the gateway host to the target service. |
| Webhook receives an empty payload | The content template is empty. | Add content to the body template or include at least one template variable. |
| Stream integration fails to connect | Broker address, topic, or credentials are incorrect. | Check the broker address, topic, region, and authentication settings against your platform configuration. |
| Slack messages stop arriving | The Slack incoming webhook URL has been revoked or the app was removed. | Generate a new incoming webhook URL in Slack and update the integration. |
Next steps
- Connect two gateways: attach the integration to a connection point to receive alerts on connection events.
- Event notifications: full list of event categories and the variables available for each.
Glad to hear it! Please tell us how we can improve more.
Sorry to hear that. Please tell us how we can improve.
Thank you for sharing your feedback so we can improve your experience.