
Looks Trigger
CertifiedTrigger a flow on new Looker Look rows
Looks Trigger
Trigger a flow on new Looker Look rows
Periodically executes a saved Look in Looker and triggers executions when new rows are detected using namespace KV watermarking. Without watermarkField, a change signature of the result is stored on every poll, including an empty result, so old data returning after an empty Look fires again.
type: io.kestra.plugin.looker.looks.TriggerExamples
Poll a saved Look every 5 minutes and trigger on new rows
id: looker_look_trigger
namespace: company.team
tasks:
- id: log
type: io.kestra.plugin.core.log.Log
message: "Found {{ trigger.size }} new rows"
triggers:
- id: watch_look
type: io.kestra.plugin.looker.looks.Trigger
baseUrl: https://company.cloud.looker.com
clientId: "{{ secret('LOOKER_CLIENT_ID') }}"
clientSecret: "{{ secret('LOOKER_CLIENT_SECRET') }}"
lookId: "42"
watermarkField: "orders.created_at"
interval: PT5M
Installation
Our standard Docker images already include this plugin. If you use a -slim image or another setup, install it with the following command:
kestractl plugins get io.kestra.plugin:plugin-looker --compatible-for $KESTRA_VERSION For kestractl, use your Kestra version with --compatible-for, or specify an exact plugin version.
For Kestra CLI, replace LATEST with a specific version or version range to pin the plugin version.
Properties
baseUrl *string
The base URL of the Looker instance
clientId *string
The Looker API client ID
clientSecret *string
The Looker API client secret
lookId *string
The ID of the Look to execute
allowConcurrent boolean
falseSpecifies whether a trigger is allowed to start a new execution even if a previous run is still in progress.
applyFormatting booleanstring
Whether to apply visualization formatting to the result
interval string
PT1MdurationThe interval between polls
limit string
Row limit to apply to the Look run
stopAfter array
CREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTEDList of execution states after which a trigger should be stopped (a.k.a. disabled).
watermarkField string
Field name in the Look result used as watermark for tracking new rows
Only rows whose value is strictly greater than the last stored watermark fire the trigger, so a later row with the same value as the last one is skipped. Rows without this field (or with a null value) are ignored. Use a unique, strictly increasing field, such as an id or a high-precision timestamp.
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
row object
Map containing the first row of fetched data.
Only populated if using fetchType=FETCH_ONE.
rows array
List containing the fetched data.
Only populated if using fetchType=FETCH.
size integer
The number of fetched rows.
uri string
uriKestra's internal storage URI of the stored data.
Only populated if using fetchType=STORE.