Provenance
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

AdapterKeyDescription
SendGridadapter:emailEmail via SendGrid API
Slackadapter:slackSlack channel messages
Webhookadapter:webhookHTTP POST to any URL
AWS Lambdaadapter:lambdaInvoke Lambda functions
AWS SNSadapter:snsPublish to SNS topics
AWS SQSadapter:sqsSend to SQS queues
PagerDutyadapter:pagerdutyIncident alerting
Microsoft Teamsadapter:teamsTeams channel messages
Datadogadapter:datadogSend events to Datadog
Splunkadapter:splunkForward to Splunk HEC
Elasticsearchadapter:elasticsearchIndex 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/email

Adapter 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

MethodEndpointDescription
GET/api/adapter-settingsList all
GET/api/adapter-settings/:adapterTypeGet by adapter type
POST/api/adapter-settingsCreate
PUT/api/adapter-settings/:adapterTypeUpdate
DELETE/api/adapter-settings/:adapterTypeDelete