Looks Trigger

Looks Trigger

Certified

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.

yaml
type: io.kestra.plugin.looker.looks.Trigger

Poll a saved Look every 5 minutes and trigger on new rows

yaml
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

The base URL of the Looker instance

The Looker API client ID

The Looker API client secret

The ID of the Look to execute

Defaultfalse

Specifies whether a trigger is allowed to start a new execution even if a previous run is still in progress.

Whether to apply visualization formatting to the result

DefaultPT1M
Formatduration

The interval between polls

Row limit to apply to the Look run

SubTypestring
Possible Values
CREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTED

List of execution states after which a trigger should be stopped (a.k.a. disabled).

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.

Defaulttrue

A 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.

Map containing the first row of fetched data.

Only populated if using fetchType=FETCH_ONE.

List containing the fetched data.

Only populated if using fetchType=FETCH.

The number of fetched rows.

Formaturi

Kestra's internal storage URI of the stored data.

Only populated if using fetchType=STORE.