
MailReceivedTrigger
MailReceivedTrigger
yaml
type: "io.kestra.plugin.googleworkspace.mail.MailReceivedTrigger"Examples
yaml
id: gmail_new_messages
namespace: company.team
tasks:
- id: process_email
type: io.kestra.plugin.core.log.Log
message: "New email from {{ trigger.from }}: {{ trigger.subject }}"
triggers:
- id: watch_inbox
type: io.kestra.plugin.googleworkspace.mail.MailReceivedTrigger
clientId: "{{ secret('GMAIL_CLIENT_ID') }}"
clientSecret: "{{ secret('GMAIL_CLIENT_SECRET') }}"
refreshToken: "{{ secret('GMAIL_REFRESH_TOKEN') }}"
interval: PT5M
yaml
id: gmail_urgent_messages
namespace: company.team
tasks:
- id: notify_urgent
type: io.kestra.plugin.notifications.slack.SlackIncomingWebhook
url: "{{ secret('SLACK_WEBHOOK') }}"
payload: |
{
"text": "Urgent email: {{ trigger.subject }} from {{ trigger.from }}"
}
triggers:
- id: watch_urgent
type: io.kestra.plugin.googleworkspace.mail.MailReceivedTrigger
clientId: "{{ secret('GMAIL_CLIENT_ID') }}"
clientSecret: "{{ secret('GMAIL_CLIENT_SECRET') }}"
refreshToken: "{{ secret('GMAIL_REFRESH_TOKEN') }}"
query: "is:unread label:urgent"
labelIds:
- INBOX
- URGENT
interval: PT2M
Properties
clientId*Requiredstring
clientSecret*Requiredstring
refreshToken*Requiredstring
accessTokenstring
allowConcurrentNon-dynamicboolean
Default
falseconditionsNon-dynamic
Definitions
Condition to allow events between two specific datetime values.
type*Requiredobject
afterstring
Format
date-timebeforestring
Format
date-timedatestring
Default
{{ trigger.date }}Condition to allow events on a particular day of the week.
dayOfWeek*Requiredstring
Possible Values
MONDAYTUESDAYWEDNESDAYTHURSDAYFRIDAYSATURDAYSUNDAYtype*Requiredobject
datestring
Default
{{ trigger.date }}Condition to execute tasks on a specific day of the week relative to the current month (first, last, ...)
dayInMonth*Requiredstring
Possible Values
FIRSTLASTSECONDTHIRDFOURTHdayOfWeek*Requiredstring
Possible Values
MONDAYTUESDAYWEDNESDAYTHURSDAYFRIDAYSATURDAYSUNDAYtype*Requiredobject
datestring
Default
{{ trigger.date }}Condition for a specific flow of an execution.
flowId*Requiredstring
namespace*Requiredstring
type*Requiredobject
Condition that checks labels of an execution.
labels*Requiredarrayobject
type*Requiredobject
Condition for an execution namespace.
namespace*Requiredstring
type*Requiredobject
comparisonstring
Possible Values
EQUALSPREFIXSUFFIXprefixbooleanstring
Default
falseCondition based on the outputs of an upstream execution.
expression*Requiredbooleanstring
type*Requiredobject
Condition based on execution status.
type*Requiredobject
inarray
SubTypestring
Possible Values
CREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTEDnotInarray
SubTypestring
Possible Values
CREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTEDCondition based on variable expression.
expression*Requiredstring
type*Requiredobject
Condition for a specific flow. Note that this condition is deprecated, use `io.kestra.plugin.core.condition.ExecutionFlow` instead.
flowId*Requiredstring
namespace*Requiredstring
type*Requiredobject
Condition for a flow namespace.
namespace*Requiredstring
type*Requiredobject
prefixboolean
Default
falseCondition that matches if any taskRun has retry attempts.
type*Requiredobject
inarray
SubTypestring
Possible Values
CREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTEDnotInarray
SubTypestring
Possible Values
CREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTEDRun a flow if the list of preconditions is met in a time window.
conditions*Requiredobject
id*Requiredstring
Validation RegExp
^[a-zA-Z0-9][a-zA-Z0-9_-]*Min length
1type*Requiredobject
resetOnSuccessboolean
Default
truetimeWindow
Default
{
"type": "DURATION_WINDOW"
}io.kestra.core.models.triggers.TimeWindow
deadlinestring
Format
partial-timeendTimestring
Format
partial-timestartTimestring
Format
partial-timetypestring
Default
DURATION_WINDOWPossible Values
DAILY_TIME_DEADLINEDAILY_TIME_WINDOWDURATION_WINDOWSLIDING_WINDOWwindowstring
Format
durationwindowAdvancestring
Format
durationwindowDeprecatedstring
Format
durationwindowAdvanceDeprecatedstring
Format
durationCondition to exclude other conditions.
conditions*Required
Min items
1type*Requiredobject
Condition to have at least one condition validated.
conditions*Required
Min items
1type*Requiredobject
Condition to allow events on public holidays.
type*Requiredobject
countrystring
datestring
Default
{{ trigger.date}}subDivisionstring
Condition to allow events between two specific times.
type*Requiredobject
afterstring
Format
timebeforestring
Format
timedatestring
Default
{{ trigger.date }}Condition to allow events on weekend.
type*Requiredobject
datestring
Default
{{ trigger.date }}includeSpamTrashbooleanstring
Default
falseinitialLookbackstring
Format
durationintervalNon-dynamicstring
Default
PT5MFormat
durationlabelIdsarray
SubTypestring
maxMessagesPerPollintegerstring
Default
50querystring
readTimeoutintegerstring
Default
120scopesarray
SubTypestring
Default
["https://www.googleapis.com/auth/gmail.modify","https://www.googleapis.com/auth/gmail.readonly","https://www.googleapis.com/auth/gmail.send"]stopAfterNon-dynamicarray
SubTypestring
Possible Values
CREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTEDOutputs
messagesarray
Definitions
io.kestra.plugin.googleworkspace.mail.models.EmailMetadata
bccarray
SubTypestring
ccarray
SubTypestring
fromstring
headersobject
SubTypestring
historyIdstring
idstring
internalDatestring
Format
date-timelabelIdsarray
SubTypestring
sizeEstimateinteger
snippetstring
subjectstring
threadIdstring
toarray
SubTypestring