
YouTube CommentTrigger
CertifiedTrigger flow on new YouTube comments
YouTube CommentTrigger
Trigger flow on new YouTube comments
Polls one or more video IDs for comments newer than the last interval (default PT30M). Uses an OAuth2 bearer token, honors YouTube's 1–100 maxResults limit (default 20), and fetches comments ordered by time or relevance.
type: io.kestra.plugin.youtube.CommentTriggerExamples
Monitor video for new comments
id: youtube_comment_monitor
namespace: company.team
tasks:
- id: notify_slack
type: io.kestra.plugin.slack.notifications.SlackIncomingWebhook
url: "{{ secret('SLACK_WEBHOOK_URL') }}"
messageText: "New comment from {{ trigger.authorDisplayName }}: {{ trigger.textDisplay }}"
triggers:
- id: new_comment_trigger
type: io.kestra.plugin.youtube.CommentTrigger
accessToken: "{{ secret('YOUTUBE_ACCESS_TOKEN') }}"
videoIds:
- "dQw4w9WgXcQ"
interval: PT30M
maxResults: 20
Monitor multiple videos for comments
id: youtube_multi_video_comments
namespace: company.team
triggers:
- id: multi_video_comments
type: io.kestra.plugin.youtube.CommentTrigger
accessToken: "{{ secret('YOUTUBE_ACCESS_TOKEN') }}"
videoIds:
- "dQw4w9WgXcQ"
- "9bZkp7q19f0"
interval: PT15M
Properties
accessToken *Requiredstring
Access token
OAuth2 bearer token used to call the YouTube Data API
videoIds *Requiredarray
Video IDs
YouTube video IDs to monitor for new comments
allowConcurrent Non-dynamicboolean
falseSpecifies whether a trigger is allowed to start a new execution even if a previous run is still in progress.
applicationName string
kestra-yt-pluginApplication name
Application name sent to YouTube API; defaults to kestra-yt-plugin
interval Non-dynamicstring
PT30MdurationPolling interval
How often to check for new comments; defaults to PT30M
maxResults integerstring
20Maximum results per video
How many recent comments to fetch per video (1-100, default 20)
order string
timeOrder
Order of comments to retrieve: time or relevance; defaults to time
stopAfter Non-dynamicarray
CREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTEDList of execution states after which a trigger should be stopped (a.k.a. disabled).
when string
trueA condition that determines whether the trigger should run.
A Pebble expression evaluated at trigger time. The trigger fires only when the expression evaluates to a truthy value (true, a non-empty string, a non-zero number). Use this to gate trigger execution on dynamic runtime values such as execution labels, flow variables, or environment conditions.
Outputs
allNewComments array
All new comments detected
io.kestra.plugin.youtube.CommentTrigger-CommentData
date-timecommentId string
Comment ID
newCommentsCount integer
Number of new comments detected
publishedAt string
date-timeTime the comment was published
textDisplay string
Comment text
videoId string
ID of the video the comment belongs to