Twilio SendGrid binding spec

Detailed documentation on the Twilio SendGrid binding component

Component format

To setup Twilio SendGrid binding create a component of type bindings.twilio.sendgrid. See this guide on how to create and apply a binding configuration.

apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
  name: sendgrid
spec:
  type: bindings.twilio.sendgrid
  version: v1
  metadata:
  - name: emailFrom
    value: "testapp@dapr.io" # optional
  - name: emailFromName
    value: "test app" # optional
  - name: emailTo
    value: "dave@dapr.io" # optional
  - name: emailToName
    value: "dave" # optional
  - name: subject
    value: "Hello!" # optional
  - name: emailCc
    value: "jill@dapr.io" # optional
  - name: emailBcc
    value: "bob@dapr.io" # optional
  - name: dynamicTemplateId
    value: "d-123456789" # optional
  - name: dynamicTemplateData
    value: '{"customer":{"name":"John Smith"}}' # optional
  - name: apiKey
    value: "YOUR_API_KEY" # required, this is your SendGrid key

Spec metadata fields

Field Required Binding support Details Example
apiKey Y Output SendGrid API key, this should be considered a secret value "apikey"
emailFrom N Output If set this specifies the ‘from’ email address of the email message. Only a single email address is allowed. Optional field, see below "me@example.com"
emailFromName N Output If set this specifies the ‘from’ name of the email message. Optional field, see below "me"
emailTo N Output If set this specifies the ’to’ email address of the email message. Only a single email address is allowed. Optional field, see below "me@example.com"
emailToName N Output If set this specifies the ’to’ name of the email message. Optional field, see below "me"
emailCc N Output If set this specifies the ‘cc’ email address of the email message. Only a single email address is allowed. Optional field, see below "me@example.com"
emailBcc N Output If set this specifies the ‘bcc’ email address of the email message. Only a single email address is allowed. Optional field, see below "me@example.com"
subject N Output If set this specifies the subject of the email message. Optional field, see below "subject of the email"

Binding support

This component supports output binding with the following operations:

  • create

Example request payload

You can specify any of the optional metadata properties on the output binding request too (e.g. emailFrom, emailTo, subject, etc.)

{
  "operation": "create",
  "metadata": {
    "emailTo": "changeme@example.net",
    "subject": "An email from Dapr SendGrid binding"
  },
  "data": "<h1>Testing Dapr Bindings</h1>This is a test.<br>Bye!"
}

Dynamic templates

If a dynamic template is used, a dynamicTemplateId needs to be provided and then the dynamicTemplateData is used:

{
  "operation": "create",
  "metadata": {
    "emailTo": "changeme@example.net",
    "subject": "An template email from Dapr SendGrid binding",
    "dynamicTemplateId": "d-123456789",
    "dynamicTemplateData": "{\"customer\":{\"name\":\"John Smith\"}}"
  }
}