Notifications
Adapters
Built-in notification adapters for email, Slack, webhooks, and more.
Adapters are the delivery mechanism for notifications. Each adapter knows how to send a notification to a specific service.
Available adapters
| Adapter | Key | Description |
|---|---|---|
| SendGrid | adapter:email | Email via SendGrid API |
| Slack | adapter:slack | Slack channel messages |
| Webhook | adapter:webhook | HTTP POST to any URL |
| AWS Lambda | adapter:lambda | Invoke Lambda functions |
| AWS SNS | adapter:sns | Publish to SNS topics |
| AWS SQS | adapter:sqs | Send to SQS queues |
| PagerDuty | adapter:pagerduty | Incident alerting |
| Microsoft Teams | adapter:teams | Teams channel messages |
| Datadog | adapter:datadog | Send events to Datadog |
| Splunk | adapter:splunk | Forward to Splunk HEC |
| Elasticsearch | adapter:elasticsearch | Index documents |
Email adapter example
{
"adapter": "adapter:email",
"personalizations": [{
"to": [{ "email": "{{interaction.email}}" }],
"dynamic_template_data": {
"userName": "{{interaction.name}}"
}
}],
"from": { "email": "noreply@example.com" },
"template_id": "d-your-sendgrid-template-id"
}Requires EMS_API_URL and EMS_API_KEY in your environment.
Webhook adapter example
{
"adapter": "adapter:webhook",
"url": "https://your-service.com/webhook",
"method": "POST",
"headers": {
"Authorization": "Bearer your-token"
}
}The full interaction payload is sent as the request body.
Browsing adapters
# List all available adapters
GET /api/adapters
# Get adapter details and schema
GET /api/adapters/emailAdapter settings
Global adapter credentials are managed separately from subscriptions:
# Set global adapter config
POST /api/adapter-settings
{
"adapterType": "adapter:email",
"settings": {
"apiUrl": "https://api.sendgrid.com/v3/mail/send",
"apiKey": "your-sendgrid-key"
},
"isEnabled": true
}Adapter settings API
| Method | Endpoint | Description |
|---|---|---|
GET | /api/adapter-settings | List all |
GET | /api/adapter-settings/:adapterType | Get by adapter type |
POST | /api/adapter-settings | Create |
PUT | /api/adapter-settings/:adapterType | Update |
DELETE | /api/adapter-settings/:adapterType | Delete |