Skip to content
Scalekit Docs
Talk to an EngineerDashboard

Google Looker connector

OAuth 2.0AnalyticsProductivity

Connect to Google Looker or self-hosted Looker Core. Browse dashboards, run Looks, query LookML models, and access BI data programmatically.

Google Looker connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Register your Google Looker credentials with Scalekit so it handles the token lifecycle. You do this once per environment.

    Dashboard setup steps

    Register your Scalekit environment with the Google Looker connector so Scalekit handles the OAuth flow and token lifecycle for you. The connection name you create will be used to identify and invoke the connection programmatically.

    1. Create a Google Looker instance

      Google Looker (Google Cloud core) runs as a managed service in your Google Cloud project. You must create an instance before setting up OAuth credentials.

      • Go to Google Cloud Console and select or create a project.

      • In the navigation menu, go to Looker (or search for “Looker” in the search bar).

      • Click Create Instance and follow the setup wizard. Note your instance hostname — it will look like your-company.cloud.looker.com. You will need this when adding connected accounts in Scalekit.

        Google Cloud Looker instance creation page showing setup steps

    2. Create OAuth credentials in Google Cloud Console

      Google Looker uses Google OAuth 2.0. You need OAuth client credentials from the same Google Cloud project that hosts your Looker instance.

      • In Google Cloud Console, go to APIs & Services > Credentials.

      • Click Create Credentials > OAuth client ID.

      • Select Web application as the application type.

      • Copy the redirect URI from Scalekit (see next step) and paste it under Authorized redirect URIs.

      • Click Create. Copy the Client ID and Client Secret.

    3. Add credentials in Scalekit

      • In Scalekit dashboard, go to AgentKit > Connections > Create Connection. Search for Google Looker and click Create.

        Google Looker connector search in Scalekit dashboard

      • Copy the Redirect URI shown on the configuration page. Go back to Google Cloud Console and add this URI to your OAuth client’s authorized redirect URIs.

      • Return to Scalekit and enter your credentials:

        • Client ID (from Google Cloud Console)
        • Client Secret (from Google Cloud Console)

        Google Looker connection configuration in Scalekit

      • Keep Access Type set to Offline to receive a refresh token for long-lived access.

      • Click Save.

    4. Add a connected account

      Each end-user who connects their Looker instance needs a connected account. The Looker Instance Hostname is required — this is the hostname of the Looker instance the user is accessing (without https://), for example your-company.cloud.looker.com.

      Via the Scalekit dashboard (for testing)

      • Go to Connected Accounts > Add Account.
      • Enter the User ID and Looker Instance Hostname, then click Save.
      • Complete the Google OAuth flow in the popup to authorize access.

      Via the SDK (for production)

      Generate an authorization link and redirect your user to it. After the user authorizes, Scalekit stores the token automatically.

      const { link } = await scalekit.actions.getAuthorizationLink({
      connectionName: 'googlelooker',
      identifier: 'user_123',
      state: { instanceUrl: 'your-company.cloud.looker.com' },
      })
      // Redirect the user to `link` to complete OAuth
  4. quickstart.ts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENV_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'googlelooker'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Google Looker:', link)
    process.stdout.write('Press Enter after authorizing...')
    await new Promise(r => process.stdin.once('data', r))
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'googlelooker_get_current_user',
    toolInput: {},
    })
    console.log(result)

Connect this agent connector to let your agent:

  • Update look, folder, dashboard — Update one or more fields on an existing Look by ID: retitle it, move it to a different folder, point it at a different saved query, or soft-delete/restore it via the deleted flag
  • Search looks, dashboards — Search Looks by title or folder instead of listing every Look in the instance
  • Run scheduled plan once, query, look — Immediately run an existing, already-saved Scheduled Plan one time and deliver it to its configured destinations, without waiting for its next scheduled occurrence and without changing that schedule
  • List scheduled plans, models, looks — List Scheduled Plans
  • Get scheduled plan, query, look — Retrieve a single Scheduled Plan by ID: its schedule (crontab/datagroup), destinations, and the dashboard, Look, LookML dashboard, or query it delivers
  • Delete scheduled plan, look, folder — Permanently delete a Scheduled Plan by ID, stopping all future scheduled deliveries
Google OAuth consent screen verification

Before you use your own Google OAuth credentials in production, understand what end users see on Google’s consent screen when they authorize a connected account.

Audience typeConsent screen behaviorWhen to use
InternalShows your App Name and logo from Branding settingsOnly users in your Google Workspace or Cloud Identity organization can authorize the connector
ExternalShows {env_name}.scalekit.dev until Google verifies your appAny user with a Google account can authorize the connector

Why External is required for most AgentKit connectors:

  • Internal restricts authorization to users in your Google Workspace or Cloud Identity organization. Users with @gmail.com or other Google accounts outside your organization cannot complete OAuth.
  • External is required when end users outside your organization authorize tool access through connected accounts.
  • Organization-managed OAuth clients follow the same rules as personal or developer OAuth clients. Switching to an org-owned client does not bypass Google verification.
  • Until Google completes verification of your External app, users see scalekit.dev on the consent screen. After verification, your App Name and logo appear.

During development:

  • Add Test users under APIs & Services → OAuth consent screen while publishing status is Testing.
  • On unverified apps, users can click Advanced → Go to app (unsafe) to proceed during testing.
  • Google Workspace admins may need to allowlist your OAuth client.

For Google’s verification requirements and timeline, refer to Google’s OAuth consent screen verification guide.

Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.

googlelooker_create_dashboard#Create a new, empty Looker dashboard. Requires a title and the ID of the folder it should live in; a dashboard's title must be unique within that destination folder. Add tiles afterward from the Looker UI or the dashboard element APIs.5 params

Create a new, empty Looker dashboard. Requires a title and the ID of the folder it should live in; a dashboard's title must be unique within that destination folder. Add tiles afterward from the Looker UI or the dashboard element APIs.

NameTypeRequiredDescription
folder_idstringrequiredID of the folder this dashboard should be created in
titlestringrequiredTitle for the new dashboard
background_colorstringoptionalBackground color for the dashboard, as a hex string
crossfilter_enabledbooleanoptionalEnable cross-filtering between tiles on this dashboard
descriptionstringoptionalOptional description of the dashboard
googlelooker_create_folder#Create a new folder (space) to organize dashboards and Looks. Provide a parent_id to nest it under an existing folder; omit it to create a root-level folder (permissions permitting). The folder name must be unique among its siblings.2 params

Create a new folder (space) to organize dashboards and Looks. Provide a parent_id to nest it under an existing folder; omit it to create a root-level folder (permissions permitting). The folder name must be unique among its siblings.

NameTypeRequiredDescription
namestringrequiredName for the new folder
parent_idstringoptionalID of the parent folder to nest this folder under
googlelooker_create_look#Save a query as a new Look so it can be revisited, shared, and run with Run Look. Create the underlying query first with Create Query, then pass its query ID here.4 params

Save a query as a new Look so it can be revisited, shared, and run with Run Look. Create the underlying query first with Create Query, then pass its query ID here.

NameTypeRequiredDescription
query_idstringrequiredThe ID of the query this Look should run
titlestringrequiredTitle for the new Look
descriptionstringoptionalOptional description of the Look
folder_idstringoptionalFolder to save the Look into. Defaults to the user's personal folder.
googlelooker_create_query#Define and persist a query against a LookML model and explore, without running it. Returns a query ID (and slug) you can execute repeatedly with Run Query or attach to a new Look with Create Look, instead of resending the full query definition each time.6 params

Define and persist a query against a LookML model and explore, without running it. Returns a query ID (and slug) you can execute repeatedly with Run Query or attach to a new Look with Create Look, instead of resending the full query definition each time.

NameTypeRequiredDescription
fieldsstringrequiredComma-separated list of LookML field names to include (e.g., orders.count,orders.total_revenue)
modelstringrequiredThe LookML model name to query against
viewstringrequiredThe explore (view) name within the model to query
filtersobjectoptionalFilter conditions as a JSON object (field_name: filter_value pairs)
limitintegeroptionalMaximum number of rows the query returns when run
sortsstringoptionalComma-separated list of sort fields with optional direction (e.g., orders.total_revenue desc)
googlelooker_create_scheduled_plan#Create a recurring (or one-shot) Scheduled Plan that runs a dashboard, Look, LookML dashboard, or query and delivers the results to one or more destinations (email, webhook, S3, SFTP, etc). Set exactly one of dashboard_id, look_id, lookml_dashboard_id, or query_id as the content to deliver, and provide a crontab or datagroup to control when it runs.14 params

Create a recurring (or one-shot) Scheduled Plan that runs a dashboard, Look, LookML dashboard, or query and delivers the results to one or more destinations (email, webhook, S3, SFTP, etc). Set exactly one of dashboard_id, look_id, lookml_dashboard_id, or query_id as the content to deliver, and provide a crontab or datagroup to control when it runs.

NameTypeRequiredDescription
namestringrequiredName of this scheduled plan
scheduled_plan_destinationarrayrequiredArray of destination objects describing where and how to deliver the results
crontabstringoptionalVixie-style crontab specifying when this plan runs
dashboard_idstringoptionalID of the dashboard this plan should run and deliver
enabledbooleanoptionalWhether this scheduled plan is enabled
filters_stringstringoptionalQuery string of filter values to run the dashboard or Look with
look_idstringoptionalID of the Look this plan should run and deliver
lookml_dashboard_idstringoptionalID (slug) of the LookML dashboard this plan should run and deliver
query_idstringoptionalID of the saved query this plan should run and deliver
require_changebooleanoptionalOnly deliver when the results changed since the last run
require_no_resultsbooleanoptionalOnly deliver when the dashboard or Look returns no results
require_resultsbooleanoptionalOnly deliver when the dashboard or Look returns results
run_oncebooleanoptionalWhether this plan should run only once and then disable itself
timezonestringoptionalIANA timezone used to interpret the crontab
googlelooker_delete_dashboard#Permanently delete a Looker dashboard by ID. If the dashboard has not already been soft-deleted (trashed via Update Dashboard's deleted flag), your Looker instance may require that step first depending on configuration. This action cannot be undone.1 param

Permanently delete a Looker dashboard by ID. If the dashboard has not already been soft-deleted (trashed via Update Dashboard's deleted flag), your Looker instance may require that step first depending on configuration. This action cannot be undone.

NameTypeRequiredDescription
dashboard_idstringrequiredThe ID of the Looker dashboard to delete
googlelooker_delete_folder#Permanently delete a folder by ID, along with all Looks and dashboards it directly contains. This action cannot be undone — make sure nothing of value remains in the folder before deleting.1 param

Permanently delete a folder by ID, along with all Looks and dashboards it directly contains. This action cannot be undone — make sure nothing of value remains in the folder before deleting.

NameTypeRequiredDescription
folder_idstringrequiredThe ID of the folder to delete
googlelooker_delete_look#Permanently delete a Look by ID. This is a hard delete with no undo — unlike removing a Look from the Looker UI (which soft-deletes it), this call destroys the Look data immediately. To soft-delete instead, use Update Look with deleted set to true.1 param

Permanently delete a Look by ID. This is a hard delete with no undo — unlike removing a Look from the Looker UI (which soft-deletes it), this call destroys the Look data immediately. To soft-delete instead, use Update Look with deleted set to true.

NameTypeRequiredDescription
look_idstringrequiredThe numeric ID of the Look to delete
googlelooker_delete_scheduled_plan#Permanently delete a Scheduled Plan by ID, stopping all future scheduled deliveries. This action cannot be undone.1 param

Permanently delete a Scheduled Plan by ID, stopping all future scheduled deliveries. This action cannot be undone.

NameTypeRequiredDescription
scheduled_plan_idstringrequiredThe ID of the scheduled plan to delete
googlelooker_get_current_user#Retrieve the profile of the currently authenticated Looker user, including their ID, display name, email, and role IDs.1 param

Retrieve the profile of the currently authenticated Looker user, including their ID, display name, email, and role IDs.

NameTypeRequiredDescription
fieldsstringoptionalComma-separated list of user fields to include in the response
googlelooker_get_dashboard#Retrieve the full metadata of a Looker dashboard by its ID, including all tile definitions (charts, tables, text, filters), layout, linked Looks, and underlying queries.2 params

Retrieve the full metadata of a Looker dashboard by its ID, including all tile definitions (charts, tables, text, filters), layout, linked Looks, and underlying queries.

NameTypeRequiredDescription
dashboard_idstringrequiredThe ID of the Looker dashboard to retrieve
fieldsstringoptionalComma-separated list of dashboard fields to include in the response
googlelooker_get_folder#Retrieve a single folder by ID, including its name, parent folder, creator, and content counts. Use List Folders first to find a folder ID.2 params

Retrieve a single folder by ID, including its name, parent folder, creator, and content counts. Use List Folders first to find a folder ID.

NameTypeRequiredDescription
folder_idstringrequiredThe ID of the folder to retrieve
fieldsstringoptionalComma-separated list of folder fields to include in the response
googlelooker_get_look#Retrieve the metadata and definition of a saved Look by its ID: title, description, folder, owner, and underlying query ID. Use Get Look Results or Run Look to execute it and fetch data.2 params

Retrieve the metadata and definition of a saved Look by its ID: title, description, folder, owner, and underlying query ID. Use Get Look Results or Run Look to execute it and fetch data.

NameTypeRequiredDescription
look_idstringrequiredThe numeric ID of the Look to retrieve
fieldsstringoptionalComma-separated list of Look fields to include in the response
googlelooker_get_look_results#Run a saved Look and return results in the specified format. Executes the Look's underlying query against the connected database. Use result_format to control the output: json for structured data, csv for tabular export, xlsx for Excel.14 params

Run a saved Look and return results in the specified format. Executes the Look's underlying query against the connected database. Use result_format to control the output: json for structured data, csv for tabular export, xlsx for Excel.

NameTypeRequiredDescription
look_idstringrequiredThe numeric ID of the Look to fetch results from
result_formatstringrequiredDesired output format for results. Accepted values: json, json_detail, json_bi, csv, txt, html, md, xlsx, sql, png, jpg
apply_formattingbooleanoptionalApply model-specified formatting to each result value
apply_visbooleanoptionalApply visualization options to results
cachebooleanoptionalGet results from cache if available. Set to false to force a fresh database query.
cache_onlybooleanoptionalRetrieve any results from cache even if expired
force_productionbooleanoptionalOverride development mode settings to force use of production models
generate_drill_linksbooleanoptionalGenerate drill links for json_detail format
image_heightintegeroptionalRender height for image formats (png, jpg)
image_widthintegeroptionalRender width for image formats (png, jpg)
limitintegeroptionalMaximum number of rows to return. May override the limit in the saved query.
path_prefixstringoptionalPrefix to use for drill links (URL encoded)
rebuild_pdtsbooleanoptionalRebuild Persistent Derived Tables (PDTs) used in the query
server_table_calcsbooleanoptionalPerform table calculations on query results server-side
googlelooker_get_query#Retrieve the definition of a previously created query by its ID: the model, explore, fields, filters, sorts, and row limit it was defined with. Use Run Query to execute it and fetch data, or Create Look to save it as a Look.2 params

Retrieve the definition of a previously created query by its ID: the model, explore, fields, filters, sorts, and row limit it was defined with. Use Run Query to execute it and fetch data, or Create Look to save it as a Look.

NameTypeRequiredDescription
query_idstringrequiredThe ID of the query to retrieve
fieldsstringoptionalComma-separated list of query fields to include in the response
googlelooker_get_scheduled_plan#Retrieve a single Scheduled Plan by ID: its schedule (crontab/datagroup), destinations, and the dashboard, Look, LookML dashboard, or query it delivers.2 params

Retrieve a single Scheduled Plan by ID: its schedule (crontab/datagroup), destinations, and the dashboard, Look, LookML dashboard, or query it delivers.

NameTypeRequiredDescription
scheduled_plan_idstringrequiredThe ID of the scheduled plan to retrieve
fieldsstringoptionalComma-separated list of scheduled plan fields to include in the response
googlelooker_list_dashboards#List all dashboards in a Looker instance that the caller has access to. Returns dashboard metadata including ID, title, folder, description, and last updated time.1 param

List all dashboards in a Looker instance that the caller has access to. Returns dashboard metadata including ID, title, folder, description, and last updated time.

NameTypeRequiredDescription
fieldsstringoptionalComma-separated list of dashboard fields to include in the response
googlelooker_list_explores#Retrieve a LookML model by name. The response includes an explores array listing all available explores in that model. Use fields=explores to limit the response to just explore metadata.2 params

Retrieve a LookML model by name. The response includes an explores array listing all available explores in that model. Use fields=explores to limit the response to just explore metadata.

NameTypeRequiredDescription
model_namestringrequiredThe LookML model name to retrieve explores for
fieldsstringoptionalComma-separated list of model fields to include in the response
googlelooker_list_folders#List all folders (spaces) in the Looker instance including personal folders. Returns folder ID, name, parent folder, creator, and content counts. Use folder IDs to filter Looks and Dashboards by location.1 param

List all folders (spaces) in the Looker instance including personal folders. Returns folder ID, name, parent folder, creator, and content counts. Use folder IDs to filter Looks and Dashboards by location.

NameTypeRequiredDescription
fieldsstringoptionalComma-separated list of folder fields to include in the response
googlelooker_list_looks#List all Looks the caller has access to. Returns Look metadata including ID, title, folder, owner, and last run time. Soft-deleted Looks are excluded.4 params

List all Looks the caller has access to. Returns Look metadata including ID, title, folder, owner, and last run time. Soft-deleted Looks are excluded.

NameTypeRequiredDescription
fieldsstringoptionalComma-separated list of Look fields to include in the response
limitintegeroptionalMaximum number of Looks to return
offsetintegeroptionalNumber of results to skip before returning any
sortsstringoptionalComma-separated list of fields to sort results by
googlelooker_list_models#List all available LookML models in the Looker instance. Returns each model's name, project, allowed database connections, and explore count. Use this to discover which models and explores are available before running queries.1 param

List all available LookML models in the Looker instance. Returns each model's name, project, allowed database connections, and explore count. Use this to discover which models and explores are available before running queries.

NameTypeRequiredDescription
fieldsstringoptionalComma-separated list of model fields to include in the response
googlelooker_list_scheduled_plans#List Scheduled Plans. By default returns the plans owned by the calling user; set all_users to true (requires admin permission) to list scheduled plans for every user in the instance.3 params

List Scheduled Plans. By default returns the plans owned by the calling user; set all_users to true (requires admin permission) to list scheduled plans for every user in the instance.

NameTypeRequiredDescription
all_usersbooleanoptionalReturn scheduled plans for all users instead of just the caller
fieldsstringoptionalComma-separated list of scheduled plan fields to include in the response
user_idstringoptionalReturn only scheduled plans owned by this user ID
googlelooker_run_inline_query#Execute an ad-hoc query against a LookML model and explore without saving it as a Look. Specify fields, filters, sorts, and a row limit. Useful for one-off analysis and agent-driven data exploration. Complex queries may take longer; 120s timeout applied.7 params

Execute an ad-hoc query against a LookML model and explore without saving it as a Look. Specify fields, filters, sorts, and a row limit. Useful for one-off analysis and agent-driven data exploration. Complex queries may take longer; 120s timeout applied.

NameTypeRequiredDescription
fieldsstringrequiredComma-separated list of LookML field names to include (e.g., orders.count,orders.total_revenue)
modelstringrequiredThe LookML model name to query against
result_formatstringrequiredOutput format for the query results. Accepted values: json, json_detail, json_bi, csv, txt, html, md, xlsx, sql, png, jpg
viewstringrequiredThe explore (view) name within the model to query
filtersobjectoptionalFilter conditions as a JSON object (field_name: filter_value pairs)
limitintegeroptionalMaximum number of rows to return from the query
sortsstringoptionalComma-separated list of sort fields with optional direction (e.g., orders.total_revenue desc)
googlelooker_run_look#Run a saved Look and return the results in the specified format. Executes the Look's underlying query against the connected database and returns the current data.14 params

Run a saved Look and return the results in the specified format. Executes the Look's underlying query against the connected database and returns the current data.

NameTypeRequiredDescription
look_idstringrequiredThe numeric ID of the Look to run
result_formatstringrequiredDesired output format for results. Accepted values: json, json_detail, csv, txt, html, md, xlsx, sql, png, jpg
apply_formattingbooleanoptionalApply model-specified formatting to each result value
apply_visbooleanoptionalApply visualization options to results
cachebooleanoptionalGet results from cache if available. Set to false to force a fresh database query.
cache_onlybooleanoptionalRetrieve any results from cache even if expired
force_productionbooleanoptionalOverride development mode settings to force use of production models
generate_drill_linksbooleanoptionalGenerate drill links for json_detail format
image_heightintegeroptionalRender height for image formats (png, jpg)
image_widthintegeroptionalRender width for image formats (png, jpg)
limitintegeroptionalMaximum number of rows to return. May override the limit in the saved query.
path_prefixstringoptionalPrefix to use for drill links (URL encoded)
rebuild_pdtsbooleanoptionalRebuild Persistent Derived Tables (PDTs) used in the query
server_table_calcsbooleanoptionalPerform table calculations on query results server-side
googlelooker_run_query#Execute a previously saved query (created with Create Query) by its query ID and return results in the specified format. Cheaper than Run Inline Query when re-running the same query definition repeatedly.4 params

Execute a previously saved query (created with Create Query) by its query ID and return results in the specified format. Cheaper than Run Inline Query when re-running the same query definition repeatedly.

NameTypeRequiredDescription
query_idstringrequiredThe ID of the saved query to run
result_formatstringrequiredDesired output format for results. Accepted values: json, json_detail, json_bi, csv, txt, html, md, xlsx, sql, png, jpg
cachebooleanoptionalGet results from cache if available. Set to false to force a fresh database query.
limitintegeroptionalMaximum number of rows to return. Overrides the limit baked into the saved query.
googlelooker_run_scheduled_plan_once#Immediately run an existing, already-saved Scheduled Plan one time and deliver it to its configured destinations, without waiting for its next scheduled occurrence and without changing that schedule. Optionally override the query filters for just this one run.2 params

Immediately run an existing, already-saved Scheduled Plan one time and deliver it to its configured destinations, without waiting for its next scheduled occurrence and without changing that schedule. Optionally override the query filters for just this one run.

NameTypeRequiredDescription
scheduled_plan_idstringrequiredThe ID of the scheduled plan to run immediately
filters_stringstringoptionalQuery string of filter values to use for just this one run, overriding the plan's saved filters
googlelooker_search_dashboards#Search dashboards by title, description, or folder instead of listing every dashboard in the instance. Useful for finding a specific dashboard when there are too many to browse.5 params

Search dashboards by title, description, or folder instead of listing every dashboard in the instance. Useful for finding a specific dashboard when there are too many to browse.

NameTypeRequiredDescription
fieldsstringoptionalComma-separated list of dashboard fields to include in the response
folder_idstringoptionalRestrict the search to dashboards in this folder
limitintegeroptionalMaximum number of dashboards to return
offsetintegeroptionalNumber of results to skip before returning any
titlestringoptionalFilter dashboards whose title matches this value. Supports wildcards with %.
googlelooker_search_looks#Search Looks by title or folder instead of listing every Look in the instance. Useful for finding a specific Look when there are too many to browse.5 params

Search Looks by title or folder instead of listing every Look in the instance. Useful for finding a specific Look when there are too many to browse.

NameTypeRequiredDescription
fieldsstringoptionalComma-separated list of Look fields to include in the response
folder_idstringoptionalRestrict the search to Looks in this folder
limitintegeroptionalMaximum number of Looks to return
offsetintegeroptionalNumber of results to skip before returning any
titlestringoptionalFilter Looks whose title matches this value. Supports wildcards with %.
googlelooker_update_dashboard#Update one or more scalar fields on an existing Looker dashboard by ID (title, folder, description, colors, or soft-delete state). Only the fields provided are changed. This cannot modify nested tiles, filters, or layout components — use the dashboard element APIs for those.7 params

Update one or more scalar fields on an existing Looker dashboard by ID (title, folder, description, colors, or soft-delete state). Only the fields provided are changed. This cannot modify nested tiles, filters, or layout components — use the dashboard element APIs for those.

NameTypeRequiredDescription
dashboard_idstringrequiredThe ID of the Looker dashboard to update
background_colorstringoptionalNew background color for the dashboard, as a hex string
crossfilter_enabledbooleanoptionalEnable or disable cross-filtering between tiles on this dashboard
deletedbooleanoptionalSet the dashboard's soft-deleted (trashed) state
descriptionstringoptionalNew description for the dashboard
folder_idstringoptionalMove the dashboard to this folder ID
titlestringoptionalNew title for the dashboard
googlelooker_update_folder#Rename a folder or move it under a different parent folder. Only the fields provided are changed.3 params

Rename a folder or move it under a different parent folder. Only the fields provided are changed.

NameTypeRequiredDescription
folder_idstringrequiredThe ID of the folder to update
namestringoptionalNew name for the folder
parent_idstringoptionalMove the folder under this parent folder ID
googlelooker_update_look#Update one or more fields on an existing Look by ID: retitle it, move it to a different folder, point it at a different saved query, or soft-delete/restore it via the deleted flag. Only the fields provided are changed.6 params

Update one or more fields on an existing Look by ID: retitle it, move it to a different folder, point it at a different saved query, or soft-delete/restore it via the deleted flag. Only the fields provided are changed.

NameTypeRequiredDescription
look_idstringrequiredThe numeric ID of the Look to update
deletedbooleanoptionalSet the Look's soft-deleted state
descriptionstringoptionalNew description for the Look
folder_idstringoptionalMove the Look to this folder ID
query_idstringoptionalPoint this Look at a different query ID
titlestringoptionalNew title for the Look