
Looks Run
CertifiedRun a saved Look in Looker
Looks Run
Run a saved Look in Looker
Executes a saved Look by ID and returns or stores the results. Looker's run-a-Look endpoint has no filter parameter, so when filters is set the task fetches the Look, merges the overrides into its query filters and runs the merged query inline. Overrides replace the entries of the Look's filters map for the same field; other filters of the Look are kept. A filter_expression saved on the Look (used by Looker for "or" and custom filters) is kept as is and still applies. The Look's filter_config is cleared, as Looker requires for a modified query.
type: io.kestra.plugin.looker.looks.RunExamples
Run a saved Look and fetch the rows
id: looker_run_look
namespace: company.team
tasks:
- id: run_look
type: io.kestra.plugin.looker.looks.Run
baseUrl: https://company.cloud.looker.com
clientId: "{{ secret('LOOKER_CLIENT_ID') }}"
clientSecret: "{{ secret('LOOKER_CLIENT_SECRET') }}"
lookId: "42"
filters:
orders.status: shipped
fetchType: FETCH
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 run
applyFormatting booleanstring
Whether to apply visualization formatting to the result
assets
Assets this task consumes as inputs or produces as outputs, for lineage tracking and the asset graph (Enterprise Edition). A flow declaring this property on a task is rejected in the open-source edition.
io.kestra.core.models.assets.AssetsDeclaration
IGNOREFAILWARNAsset failure behavior
Behavior applied to the task state when a declared asset fails to render, emit, or be persisted (e.g. a lock conflict): FAIL escalates it to FAILED, WARN (default) warns it if it would otherwise succeed, IGNORE leaves the state untouched.
Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.
The assets consumed as inputs.
io.kestra.core.models.assets.AssetIdentifier
1The assets produced as outputs.
io.kestra.plugin.ee.assets.Dataset
1150{}1150io.kestra.plugin.ee.assets.File
1150{}1150io.kestra.plugin.ee.assets.Table
1150{}1150io.kestra.plugin.ee.assets.VM
1150{}1150io.kestra.core.models.assets.External
1150{}1150io.kestra.core.models.assets.Custom
11501Custom asset type
{}1150fetchType string
FETCHSTOREFETCHFETCH_ONENONEHow to expose or store the query results
filters object
Filter overrides keyed by Looker field name
Overrides replace the entries of the Look's filters map for the same field. A filter_expression saved on the Look is not replaced and is still ANDed with the overrides. When empty, the saved Look is run as is.
limit string
Row limit to apply to the Look run
resultFormat string
JSONJSONCSVThe format returned by Looker
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.