Skip to content

Action Types

Each action has a type and a config JSON object with type-specific settings.

Forwards the payload to an HTTP endpoint via POST.

{
"type": "webhook",
"target_url": "https://example.com/hook",
"is_active": true
}

The request includes the original (or transformed) payload as the body and headers. If a signing_secret is set on the action, the request includes an HMAC-SHA256 signature in the X-Hook-Signature header.

Posts to a Slack channel via an incoming webhook URL.

{
"type": "slack",
"config": {
"webhook_url": "https://hooks.slack.com/services/T.../B.../xxx",
"channel": "#alerts",
"username": "nitrohook"
},
"is_active": true
}
FieldRequiredDescription
webhook_urlYesSlack incoming webhook URL
channelNoOverride the default channel
usernameNoOverride the bot username

Sends an email with the webhook payload as the body.

{
"type": "smtp",
"config": {
"host": "smtp.gmail.com",
"port": 587,
"username": "[email protected]",
"password": "app-password",
"from": "[email protected]",
"subject": "Webhook Alert"
},
"is_active": true
}
FieldRequiredDescription
hostYesSMTP server hostname
portYesSMTP server port
usernameNoSMTP auth username
passwordNoSMTP auth password
fromYesSender email address
toYesRecipient email address
subjectNoEmail subject (defaults to “Webhook delivery {id}“)

Sends an SMS via the Twilio API.

{
"type": "twilio",
"config": {
"account_sid": "ACxxxxxxxx",
"auth_token": "your-auth-token",
"from": "+15551234567",
"to": "+15559876543",
"body_template": "Alert: new event received"
},
"is_active": true
}
FieldRequiredDescription
account_sidYesTwilio Account SID
auth_tokenYesTwilio Auth Token
fromYesSender phone number
toYesRecipient phone number
body_templateNoCustom message body (defaults to payload summary, truncated to 1600 chars)

Runs a process() function in a sandboxed JS runtime. No external request is made — useful for validation, aggregation, or custom logic.

{
"type": "javascript",
"script_body": "function process(event) {\n return { ok: true };\n}",
"is_active": true
}

The return value of process() is stored as the delivery attempt’s response body. See Scripting for details on the runtime.