SendGridMailExecution

yaml
type: "io.kestra.plugin.notifications.sendgrid.SendGridMailExecution"

Send an SendGrid email with the execution information

The message will include a link to the execution page in the UI along with the execution ID, namespace, flow name, the start date, duration and the final status of the execution, and (if failed) the task that led to a failure.

Use this notification task only in a flow that has a Flow trigger, as shown in this example. Don't use this notification task in errors tasks. Instead, for errors tasks, use the SendGridMailSend task.

Examples

Send an SendGrid email notification on a failed flow execution

yaml
id: failure_alert
namespace: prod.monitoring

tasks:
  - id: send_alert
    type: io.kestra.plugin.notifications.sendgrid.SendGridMailExecution
    to:
      - hello@kestra.io
    from: hello@kestra.io
    subject: "The workflow execution {{trigger.executionId}} failed for the flow {{trigger.flowId}} in the namespace {{trigger.namespace}}"
    sendgridApiKey: "{{ secret('SENDGRID_API_KEY') }}"
    executionId: "{{ trigger.executionId }}"

triggers:
  - id: failed_prod_workflows
    type: io.kestra.core.models.triggers.types.Flow
    conditions:
      - type: io.kestra.core.models.conditions.types.ExecutionStatusCondition
        in:
          - FAILED
          - WARNING
      - type: io.kestra.core.models.conditions.types.ExecutionNamespaceCondition
        namespace: prod
        prefix: true

Properties

from

  • Type: string
  • Dynamic: ✔️
  • Required: ✔️
  • Min length: 1

The address of the sender of this email

sendgridApiKey

  • Type: string
  • Dynamic: ✔️
  • Required: ✔️
  • Min length: 1

The SendGrid API KEY

to

  • Type: array
  • SubType: string
  • Dynamic: ✔️
  • Required: ✔️
  • Min items: 1

Email address(es) of the recipient(s) Note that each email address must be compliant with the RFC2822 format

attachments

Adds an attachment to the email message The attachment will be shown in the email client as separate files available for download, or displayed inline if the client supports it (for example, most browsers display PDF's in a popup window)

cc

  • Type: array
  • SubType: string
  • Dynamic: ✔️
  • Required:

One or more 'Cc' (carbon copy) optional recipient(s) email address(es) Note that each email address must be compliant with the RFC2822 format

customFields

  • Type: object
  • Dynamic: ✔️
  • Required:

Custom fields to be added on notification

customMessage

  • Type: string
  • Dynamic: ✔️
  • Required:

Custom message to be added on notification

embeddedImages

Adds image data to this email that can be referred to from the email HTML body The provided images are assumed to be of MIME type png, jpg or whatever the email client supports as valid image that can be embedded in HTML content

executionId

  • Type: string
  • Dynamic: ✔️
  • Required:
  • Default: null

The execution id to use Default is the current execution, change it to null if you use this task with a Flow trigger to use the original execution.

htmlContent

  • Type: string
  • Dynamic: ✔️
  • Required:

The optional email message body in HTML Both text and HTML can be provided, which will be offered to the email client as alternative contentEmail clients that support it, will favor HTML over plain text and ignore the text body completely

subject

  • Type: string
  • Dynamic: ✔️
  • Required:

The optional subject of this email

templateRenderMap

  • Type: object
  • Dynamic: ✔️
  • Required:

Map of variables to use for the message template

textContent

  • Type: string
  • Dynamic: ✔️
  • Required:

The optional email message body in text Both text and HTML can be provided, which will be offered to the email client as alternative contentEmail clients that support it, will favor HTML over plain text and ignore the text body completely

Outputs

body

  • Type: string
  • Dynamic:
  • Required:

headers

  • Type: object
  • SubType: string
  • Dynamic:
  • Required:

statusCode

  • Type: integer
  • Dynamic:
  • Required:
  • Default: 0

Definitions

io.kestra.plugin.notifications.sendgrid.SendGridMailSend-Attachment

Properties

contentType
  • Type: string
  • Dynamic: ✔️
  • Required: ✔️
  • Default: application/octet-stream

One or more 'Cc' (carbon copy) optional recipient email address(es). Use semicolon as a delimiter to provide several addresses Note that each email address must be compliant with the RFC2822 format

name
  • Type: string
  • Dynamic: ✔️
  • Required: ✔️

The name of the attachment (eg. 'filename.txt')

uri
  • Type: string
  • Dynamic: ✔️
  • Required: ✔️

An attachment URI from Kestra internal storage