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

FieldRequiredBinding supportDetailsExample
apiKeyYOutputSendGrid API key, this should be considered a secret value"apikey"
emailFromNOutputIf 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"
emailFromNameNOutputIf set this specifies the ‘from’ name of the email message. Optional field, see below"me"
emailToNOutputIf 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"
emailToNameNOutputIf set this specifies the ’to’ name of the email message. Optional field, see below"me"
emailCcNOutputIf 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"
emailBccNOutputIf 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"
subjectNOutputIf 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\"}}"
  }
}