
Google Workspace Send
CertifiedSend an email with Gmail API
Google Workspace Send
Send an email with Gmail API
Sends a message using OAuth Gmail access. Supports text/HTML bodies, CC/BCC, and attachments from kestra:// URIs.
type: io.kestra.plugin.googleworkspace.mail.SendExamples
Send a simple text email
id: send_simple_email
namespace: company.team
tasks:
- id: send_email
type: io.kestra.plugin.googleworkspace.mail.Send
clientId: "{{ secret('GMAIL_CLIENT_ID') }}"
clientSecret: "{{ secret('GMAIL_CLIENT_SECRET') }}"
refreshToken: "{{ secret('GMAIL_REFRESH_TOKEN') }}"
to:
- recipient@example.com
subject: Test Email
textBody: This is a test email from Kestra
Send an HTML email with CC and attachments
id: send_rich_email
namespace: company.team
tasks:
- id: send_rich_email
type: io.kestra.plugin.googleworkspace.mail.Send
clientId: "{{ secret('GMAIL_CLIENT_ID') }}"
clientSecret: "{{ secret('GMAIL_CLIENT_SECRET') }}"
refreshToken: "{{ secret('GMAIL_REFRESH_TOKEN') }}"
to:
- recipient@example.com
cc:
- cc1@example.com
- cc2@example.com
subject: Rich Email
htmlBody: "<h1>Hello</h1><p>This is a <b>rich</b> email!</p>"
attachments:
- /path/to/file.pdf
- /path/to/image.png
Properties
clientId *Requiredstring
OAuth client ID
Google OAuth 2.0 client ID for the Gmail project
clientSecret *Requiredstring
OAuth client secret
Google OAuth 2.0 client secret
refreshToken *Requiredstring
OAuth refresh token
Refresh token obtained via OAuth consent; used to mint access tokens
to *Requiredarray
To recipients
Primary recipient email addresses
accessToken string
OAuth access token
Optional access token; if absent, one is fetched from the refresh token
attachments array
Attachments
List of kestra:// file URIs to attach
bcc array
BCC recipients
Blind carbon copy addresses
cc array
CC recipients
Carbon copy addresses
from string
From address
Sender email; defaults to authenticated Gmail user
htmlBody string
HTML body
HTML content
pluginDefaultsRef Non-dynamicstring
Reference (ref) of the pluginDefaults to apply to this task.
readTimeout integerstring
120The read timeout for the request (in seconds)
scopes array
["https://www.googleapis.com/auth/gmail.modify","https://www.googleapis.com/auth/gmail.readonly","https://www.googleapis.com/auth/gmail.send"]The OAuth scopes to use
List of OAuth 2.0 scopes required for the operation
subject string
Subject
Subject line
textBody string
Plain text body
Plain text content
Outputs
messageId string
Sent message ID
threadId string
Thread ID of sent message