Integrations reference

Field-level reference for event-driven integrations: email, Slack, webhook, and stream.

Integrations fire when system events occur. An integration entry binds an event category to a delivery target (email, Slack, webhook, or stream) with a configurable content template.

Integration types

All integration types share these common fields:

FieldTypeRequiredDescription
CategorystringYesThe event category that triggers this integration. See Event categories.
Integration NamestringYesDisplay name for the integration.
DescriptionstringNoOptional description.

Email

Send notifications via SMTP when events occur.

FieldTypeRequiredDescription
From AddressstringYesSender email address.
Recipient Email(s)stringYesRecipient email addresses. One per line or comma-separated.
SMTP HoststringYesSMTP server hostname.
PortnumberYesSMTP server port. Usually 587 (STARTTLS) or 465 (TLS).
UsernamestringNoSMTP authentication username.
PasswordstringNoSMTP authentication password.
Use TLSboolNoEnable TLS encryption. Use with port 465.
Use STARTTLSboolNoEnable STARTTLS. Use with port 587.
SubjectstringYesEmail subject. Supports runtime variables.
Email FormatstringYesHTML or Plain text.
BodystringYesEmail body. Supports HTML and runtime variables.

Slack

Post messages to Slack channels via incoming webhooks.

FieldTypeRequiredDescription
Webhook URLstringYesSlack incoming webhook URL.
Message TextstringYesMessage body. Supports Slack mrkdwn formatting and runtime variables.
Bot NamestringNoDisplay name for the bot.
Icon EmojistringNoEmoji icon for the bot, for example :bell:.
Channel OverridestringNoOverride the default webhook channel, for example #alerts.

Webhook

Send HTTP POST requests to any endpoint.

FieldTypeRequiredDescription
Webhook URLstringYesTarget HTTP endpoint.
HTTP MethodstringNoPOST, PUT, or PATCH. Defaults to POST.
Signing SecretstringNoHMAC-SHA256 signing key. When set, the gateway sends an X-Webhook-Signature-256: sha256=<hex> header with each delivery. Auto-generated if left blank.
Custom HeadersstringNoAdditional HTTP headers as a JSON map.
Payload TemplatestringYesJSON payload template. Supports runtime variables.

Stream

Stream events to enterprise messaging platforms.

Common stream fields:

FieldTypeRequiredDescription
Streaming PlatformstringYesKafka, Kinesis, Pulsar, or Redis.
Topic/Stream NamestringYesThe topic or stream name to publish events to.
Event Payload TemplatestringYesJSON template for published events. Supports runtime variables.

Kafka and Pulsar additional fields:

FieldTypeRequiredDescription
Broker URLsstringYesComma-separated broker addresses.
Authentication TypestringNoNone or SASL.
SASL UsernamestringNoSASL authentication username.
SASL PasswordstringNoSASL authentication password.

Kinesis additional fields:

FieldTypeRequiredDescription
AWS RegionstringYesAWS region where the Kinesis stream is located.
AWS Access KeystringNoUses IAM role if not provided.
AWS Secret KeystringNoAWS secret access key.

Redis Streams additional fields:

FieldTypeRequiredDescription
Redis URLstringYesRedis connection URL. Supports redis:// and rediss:// schemes.

Event categories

The Category dropdown determines which events trigger an integration.

CategoryEvents triggered
GeneralAll events across all entities.
Useruser.created, user.approved, user.updated, user.deleted, user.login, user.accessed
Gatewaygateway.created, gateway.updated, gateway.deleted, gateway.status_changed, gateway.accessed
Connection Pointconnection_point.created, connection_point.updated, connection_point.deleted, connection_point.connected, connection_point.error
Channelchannel.created, channel.updated, channel.deleted, channel.accessed, channel.error
Identityidentity.created, identity.updated, identity.deleted, identity.appeared, identity.accessed
MCP Proxymcp_proxy.created, mcp_proxy.updated, mcp_proxy.deleted, mcp_proxy.status_changed
MediatorMediator lifecycle events.
Trust RegistryTrust registry lifecycle events.
x402x402 payment events.

Runtime variables

Use ${VARIABLE} syntax in content fields. Variables are resolved when the event fires.

Common variables

VariableDescription
${EVENT_TYPE}Event type identifier (for example, user.created)
${TIMESTAMP}ISO 8601 timestamp
${NEW_STATE}JSON of entity after the event
${OLD_STATE}JSON of entity before the event (empty for creates)
${ENTITY_ID}Generic entity ID
${ENTITY_TYPE}Entity type (user, gateway, etc.)

Entity-specific variables

ScopeVariables
User${USER_ID}, ${USERNAME}, ${USER_EMAIL}, ${USER_ROLE}
Gateway${GATEWAY_ID}, ${GATEWAY_NAME}, ${GATEWAY_DID}, ${GATEWAY_STATUS}
Connection Point${CP_ID}, ${CP_NAME}, ${CP_DID}, ${CP_STATUS}, ${GATEWAY_ID}
Channel${CHANNEL_ID}, ${CHANNEL_NAME}, ${CHANNEL_TYPE}
Identity${IDENTITY_ID}, ${IDENTITY_DID}, ${IDENTITY_TYPE}

Custom variables can be defined with the _ prefix (for example, ${_MY_VAR}).