SendGrid (Twilio) is an email delivery service for sending, receiving, and tracking emails. Aidbox offers integrations with SendGrid to simplify sending notifications via email.

Create SendGrid account

You can create an account by following SendGrid Documentation .

Add environment variables to the docker-compose.yaml

BOX_MODULE_PROVIDER_SENDGRID_API_KEY: <your_api_key>
BOX_MODULE_PROVIDER_SENDGRID_FROM: Sender's Name <noreply@{{YOUR_DOMAIN}}>
BOX_MODULE_PROVIDER_SENDGRID_DATARESIDENCY: eu

BOX_MODULE_PROVIDER_SENDGRID_DATARESIDENCY specifies the data residency region for the SendGrid API. Set to eu to use the European region. When not set, the default region is used.

You can find more about SendGrid environment variables here.

Creating NotificationTemplate resource

NotificationTemplate is a resource that stores the body of a mail message.

PUT /NotificationTemplate/notification-template-1
content-type: text/yaml
accept: text/yaml

template: <b>Hello world! Mustache value from Notification.providerData.payload - {{foo.bar}}</b>

Creating Notification resource

PUT /Notification/notification-1
content-type: text/yaml
accept: text/yaml

provider: 'sendgrid-provider'            # Provider id
providerData:
  to: recipient@example.com             # Email of recipient
  subject: My subject of the message    # subject of email
  template:                             # Notification template
    id: notification-template-1
    resourceType: NotificationTemplate
  payload:                              # Data that can be used in the template
    foo:
      bar: zaz

Call notify method

POST /Notification/notification-1/$send

Example of email sent from the template above

The recipient will receive an email with the subject "My subject of the message" and the body: Hello world! Mustache value from Notification.providerData.payload - zaz

Last updated: