---
title: Looker API Integration on Truto
slug: looker
category: Analytics
canonical: "https://truto.one/integrations/detail/looker/"
---

# Looker API Integration on Truto



**Category:** Analytics  
**Status:** Beta

## Unified APIs

### Unified User Directory API

- **Roles** — The Role object represents a role of a User.
- **Users** — The User object represents a User.

## MCP-ready AI tools

Truto exposes 294 tools for Looker that AI agents can call directly.

- **list_all_looker_users** — Get information about all users in Looker. Returns user details including id, display_name, email, first_name, last_name, is_disabled, and credentials information.
- **get_single_looker_user_by_id** — Get information about the user with a specific id in Looker. Returns full user information if the caller is an admin or the user themselves; otherwise returns minimal public info including user name and avatar URL.
- **delete_a_looker_user_by_id** — Delete the user with id in Looker. This operation deletes the user and all looks and other information owned by the user.
- **create_a_looker_user** — Create a user with the specified information in Looker. Returns the created user's id, display_name, email, first_name, last_name, is_disabled status, locale, role_ids, group_ids, and credentials details.
- **update_a_looker_user_by_id** — Update information about the user with a specific id in Looker. Returns the updated user object including id, first_name, last_name, email, display_name, is_disabled, locale, role_ids, group_ids, and credentials details.
- **list_all_looker_user_roles** — Get roles of a user by user_id in Looker. Returns role id, name, permission set (id, name, permissions), and model set (id, name, models).
- **update_a_looker_user_role_by_id** — Set roles of the user with id in Looker. Returns an array of roles including id, name, permission_set (id, name, permissions), and model_set (id, name, models).
- **list_all_looker_roles** — Get information about all roles in Looker. Returns an array of roles with fields including id (unique identifier), name, permission_set (with id, name, permissions), model_set (with id, name, models), url, and users_url.
- **get_single_looker_role_by_id** — Get information about the role with id in Looker. Returns fields including id, name, permission_set (id, name, permissions), model_set (id, name, models), url, and users_url.
- **update_a_looker_role_by_id** — Update all users of the role with id in Looker. Returns an array of users with fields including id, first_name, last_name, email, is_disabled, and credentials details.
- **create_a_looker_role** — Create a role with specified name, permission_set_id, and model_set_id in Looker. Returns the role's id, name, permission set details including permissions, and model set details.
- **delete_a_looker_role_by_id** — Delete the role with id in Looker. Returns 204 status on successful deletion.
- **get_single_looker_alert_by_id** — Get an alert by id in Looker. Returns alert details including applied_dashboard_filters, comparison_type, cron schedule, custom_url settings, dashboard_element_id, description, destinations, field, id, is_disabled, is_public, investigative_content, owner info, and threshold.
- **create_a_looker_alert** — Create a new alert in Looker with required fields field, destinations, comparison_type, threshold, and cron. Returns alert details including id, field, destinations, comparison_type, threshold, cron, and dashboard_element_id.
- **update_a_looker_alert_by_id** — Update an alert by id in Looker. Requires owner_id, field, destinations, comparison_type, threshold, and cron. Returns updated alert with fields like applied_dashboard_filters, comparison_type, cron, destinations, field, threshold, and owner_id.
- **delete_a_looker_alert_by_id** — Delete an alert by id in Looker. Returns 204 status on successful deletion.
- **looker_alert_search** — Get a list of alerts in Looker. Returns alert fields including id, title, description, owner_display_name, is_disabled, threshold, destinations, and investigative_content_title.
- **looker_alert_follow** — Follow an alert by alert_id in Looker. Returns no content on success.
- **looker_alert_unfollow** — Unfollow an alert by id in Looker. Returns no content on success.
- **looker_alert_select_fields** — Update select fields of an alert by id in Looker. Returns the updated alert including fields like id, owner_id, is_disabled, disabled_reason, is_public, threshold, description, and destinations.
- **looker_alert_enqueue** — Enqueue an alert by id in Looker. Returns 204 if the alert is successfully added to the queue. Includes error details and documentation_url in case of failure.
- **looker_alert_notifications** — Get all alert notifications received by the user on email in the past 7 days in Looker. Returns notification_id, alert_condition_id, user_id, is_read, field_value, threshold_value, ran_at, and alert details including title, alert_id, investigative_content_id, dashboard_name, dashboard_id, and query_slug.
- **looker_alert_read_notification** — Mark an alert notification as read by the user in Looker. Requires id of the alert notification. Returns notification fields including notification_id, alert_condition_id, user_id, is_read, field_value, threshold_value, ran_at, and alert details such as title, alert_id, investigative_content_id, dashboard_name, dashboard_id, and query_slug.
- **list_all_looker_board** — Get information about all boards in Looker. Returns fields including id, title, description, created_at, updated_at, user_id, primary_homepage, board_sections, and board_items with details about each board's content and organization.
- **get_single_looker_board_by_id** — Get information about a specific board in Looker by id. Returns fields including board id, title, description, created_at, updated_at, user_id, primary_homepage, board_sections with their details, and board_items with content metadata and display information.
- **create_a_looker_board** — Create a new board in Looker. Returns the created board including id, title, description, user_id, created_at, updated_at, primary_homepage, and board_sections.
- **update_a_looker_board_by_id** — Update a board definition in Looker by board id. Returns updated board with fields including id, title, description, board_sections, created_at, updated_at, user_id, and primary_homepage.
- **delete_a_looker_board_by_id** — Delete a board by id in Looker. Returns no content on success.
- **looker_board_search** — Get a list of boards in Looker filtered by search parameters such as title, created_at, first_name, last_name, favorited, and creator_id. Returns board fields including id, title, description, created_at, updated_at, user_id, and board_sections.
- **list_all_looker_board_items** — Get information about all board items in Looker. Returns fields including id, title, description, url, favorite_count, and view_count for each board item.
- **get_single_looker_board_item_by_id** — Get information about a specific board item in Looker by id. Returns fields including id, title, description, url, favorite_count, view_count, and associated content metadata.
- **create_a_looker_board_item** — Create a new board item in Looker. Returns the created board item's id, title, description, url, and associated content metadata including dashboard_id, look_id, and lookml_dashboard_id.
- **update_a_looker_board_item_by_id** — Update a board item by id in Looker. Returns the updated board item including fields like id, title, description, custom_title, custom_description, custom_url, dashboard_id, look_id, lookml_dashboard_id, board_section_id, order, image_url, custom_image_url, use_custom flags, favorite_count, and view_count.
- **delete_a_looker_board_item_by_id** — Delete a board item by id in Looker. Returns 204 status on successful deletion.
- **list_all_looker_board_sections** — Get information about all board sections in Looker. Returns fields including id, description, board_id, created_at, updated_at, deleted_at, and board_items with details such as title, url, and order.
- **get_single_looker_board_section_by_id** — Get information about a board section by id in Looker. Returns fields including created_at, deleted_at, description, board_id, board_items with details like content metadata, custom titles, and view counts.
- **create_a_looker_board_section** — Create a new board section in Looker. Requires a BoardSection object with board_id and description. Returns the created board section with id, title, description, board_items, created_at, and updated_at fields.
- **update_a_looker_board_section_by_id** — Update a board section by id in Looker. Returns the updated board section including id, description, board_id, title, board_items with details like content metadata, custom titles, and timestamps.
- **delete_a_looker_board_section_by_id** — Delete a board section by id in Looker. Returns no content on success.
- **list_all_looker_color_collections** — Get all existing color collections in Looker. Returns an array of color collections including id, label, categoricalPalettes, sequentialPalettes, and divergingPalettes with their respective details.
- **get_single_looker_color_collection_by_id** — Get a specific Color Collection by id in Looker. Returns id, label, categoricalPalettes, sequentialPalettes, and divergingPalettes with their colors and offsets.
- **list_all_looker_custom_color_collections** — Get all Custom Color Collections in Looker. Returns an array of color collections with fields id, label, categoricalPalettes, sequentialPalettes, and divergingPalettes.
- **update_a_looker_custom_color_collection_by_id** — Update a custom color collection by id in Looker. Returns the updated collection's id, label, categoricalPalettes, sequentialPalettes, and divergingPalettes.
- **create_a_looker_custom_color_collection** — Create a new custom color collection in Looker. Returns the created color collection with id, label, categoricalPalettes, sequentialPalettes, and divergingPalettes.
- **delete_a_looker_custom_color_collection_by_id** — Delete a custom color collection by id in Looker. Only custom collections can be deleted; standard collections cannot. Returns success or error details in the response.
- **list_all_looker_standard_color_collections** — Get all existing Standard Color Collections in Looker. Returns an array of color collections including id, label, categoricalPalettes, sequentialPalettes, and divergingPalettes.
- **list_all_looker_connections** — Get information about all connections in Looker. Returns an array of connections with fields including name, label, dialect details, host, port, database, schema, and authentication settings.
- **get_single_looker_connection_by_id** — Get information about a specific connection in Looker by connection_name. Returns fields including name, dialect details, host, port, username, database, schema, and connection capabilities.
- **create_a_looker_connection** — Create a connection using the specified configuration in Looker. Returns connection details including name, dialect, host, port, username, database, schema, and connection settings.
- **update_a_looker_connection_by_id** — Update a connection by name in Looker. Requires connection_name as id. Returns updated connection details including name, host, port, username, database, schema, SSL settings, and other configuration fields.
- **delete_a_looker_connection_by_id** — Delete a connection by name in Looker. Requires connection_name as id. Returns 204 status on successful deletion.
- **looker_connections_test** — Test an existing connection by connection_name in Looker. Returns test results including name, status, message, and connection_string for the 'connect' test.
- **looker_connections_test_configuration** — Test a connection configuration in Looker by providing a DBConnection object. Returns test results including name, status, and message for each test performed.
- **get_single_looker_default_color_collection_by_id** — Get the default color collection in Looker. Returns id, label, categoricalPalettes (id, label, type, colors), sequentialPalettes (id, label, type, stops with color and offset), and divergingPalettes (id, label, type, stops with color and offset).
- **update_a_looker_default_color_collection_by_id** — Set the global default Color Collection by collection_id in Looker. Returns the updated Color Collection object including id, label, and palettes.
- **list_all_looker_ssh_servers** — Get information about all SSH Servers in Looker. Returns ssh_server_id, ssh_server_name, ssh_server_host, ssh_server_port, ssh_server_user, finger_print, sha_finger_print, public_key, and status for each server.
- **get_single_looker_ssh_server_by_id** — Get information about an SSH Server by id in Looker. Returns ssh_server_id, ssh_server_name, ssh_server_host, ssh_server_port, ssh_server_user, finger_print, sha_finger_print, public_key, and status fields.
- **create_a_looker_ssh_server** — Create an SSH Server in Looker. Returns ssh_server_id, ssh_server_name, ssh_server_host, ssh_server_port, ssh_server_user, finger_print, sha_finger_print, public_key, and status in the response.
- **update_a_looker_ssh_server_by_id** — Update an SSH Server by id in Looker. Returns ssh_server_id, ssh_server_name, ssh_server_host, ssh_server_port, ssh_server_user, finger_print, sha_finger_print, public_key, and status fields in the response.
- **delete_a_looker_ssh_server_by_id** — Delete an SSH Server by id in Looker. Returns 204 status on successful deletion.
- **looker_ssh_servers_test** — Test the SSH Server connection using id. Returns ssh_server_id, ssh_server_name, ssh_server_host, ssh_server_port, ssh_server_user, finger_print, sha_finger_print, public_key, and status fields in the response.
- **list_all_looker_ssh_tunnels** — Get information about all SSH Tunnels in Looker. Returns tunnel_id, ssh_server_id, ssh_server_name, ssh_server_host, ssh_server_port, ssh_server_user, last_attempt, local_host_port, database_host, database_port, and status for each tunnel.
- **get_single_looker_ssh_tunnel_by_id** — Get information about an SSH Tunnel by id in Looker. Returns tunnel_id, ssh_server_id, ssh_server_name, ssh_server_host, ssh_server_port, ssh_server_user, last_attempt, local_host_port, database_host, database_port, and status.
- **create_a_looker_ssh_tunnel** — Create an SSH Tunnel in Looker. Returns tunnel_id, ssh_server_id, ssh_server_name, ssh_server_host, ssh_server_port, ssh_server_user, last_attempt, local_host_port, database_host, database_port, and status fields in the response.
- **update_a_looker_ssh_tunnel_by_id** — Update an SSH Tunnel by id in Looker. Returns tunnel_id, ssh_server_id, ssh_server_name, ssh_server_host, ssh_server_port, ssh_server_user, last_attempt, local_host_port, database_host, database_port, and status fields in the response.
- **delete_a_looker_ssh_tunnel_by_id** — Delete an SSH Tunnel by id in Looker. Returns 204 status on successful deletion.
- **looker_ssh_tunnels_test** — Test the SSH Tunnel with id in Looker. Returns tunnel_id, ssh_server_id, ssh_server_name, ssh_server_host, ssh_server_port, ssh_server_user, last_attempt, local_host_port, database_host, database_port, and status indicating the current connection status.
- **looker_ssh_tunnels_public_key** — Get the SSH public key created for this instance in Looker. Returns the public_key string used to identify the instance to a remote SSH server.
- **list_all_looker_dialects** — Get information about all dialects in Looker. Returns fields such as name, label, default port, installed status, supported driver name and versions, and supported options indicating capabilities of each dialect.
- **list_all_looker_external_oauth_applications** — Get all External OAuth Applications in Looker. Returns id, name, client_id, tenant_id, dialect_name, and created_at for each application.
- **create_a_looker_external_oauth_application** — Create an External OAuth Application in Looker with name, client_id, client_secret, tenant_id, and dialect_name. Returns id, name, client_id, tenant_id, dialect_name, and created_at.
- **update_a_looker_external_oauth_application_by_id** — Update External OAuth Application client secret by client_id in Looker. Returns id, name, client_id, tenant_id, dialect_name, and created_at fields in the response.
- **get_single_looker_favorite_content_by_id** — Get favorite content by id in Looker. Returns id, user_id, content_metadata_id, look_id, dashboard_id, and associated look and dashboard details.
- **create_a_looker_favorite_content** — Create favorite content in Looker with user_id and content_metadata_id. Returns id, user_id, content_metadata_id, look_id, dashboard_id, and associated look and dashboard details.
- **delete_a_looker_favorite_content_by_id** — Delete favorite content by id in Looker. Returns 204 status on successful deletion.
- **looker_favorite_contents_search** — Search favorite contents by id, user_id, content_metadata_id, dashboard_id, look_id, or board_id in Looker. Returns id, user_id, content_metadata_id, look_id, dashboard_id, board_id, and associated look and dashboard details.
- **list_all_looker_content_metadata** — Get all content metadata with optional parent_id in Looker. Returns id, name, parent_id, dashboard_id, look_id, folder_id, content_type, inherits, inheriting_id, and slug fields for each content metadata.
- **get_single_looker_content_metadatum_by_id** — Get information about an individual content metadata record in Looker by id. Returns fields including id, name, parent_id, dashboard_id, look_id, folder_id, content_type, inherits, inheriting_id, and slug.
- **update_a_looker_content_metadatum_by_id** — Update content metadata by id in Looker. Returns updated content metadata including id, name, parent_id, dashboard_id, look_id, folder_id, content_type, inherits, inheriting_id, and slug.
- **list_all_looker_content_metadata_access** — Get all content metadata access records for a content metadata item in Looker. Requires content_metadata_id. Returns id, content_metadata_id, permission_type, group_id, and user_id fields.
- **create_a_looker_content_metadata_access** — Create content metadata access with content_metadata_id, permission_type, and either group_id or user_id in Looker. Returns id, content_metadata_id, permission_type, group_id, user_id, and can operations.
- **update_a_looker_content_metadata_access_by_id** — Update type of access for content metadata in Looker by content_metadata_access_id. Returns id, content_metadata_id, permission_type, group_id, and user_id fields reflecting the updated access.
- **delete_a_looker_content_metadata_access_by_id** — Delete content metadata access by id in Looker. Returns no content on success.
- **list_all_looker_datagroups** — Get information about all datagroups in Looker. Returns an array of datagroups with fields including id, model_name, name, created_at, stale_before, trigger_check_at, trigger_error, trigger_value, and triggered_at.
- **get_single_looker_datagroup_by_id** — Get information about a datagroup by id in Looker. Returns id, model_name, name, stale_before, trigger_value, triggered_at, trigger_error, created_at, and trigger_check_at fields.
- **update_a_looker_datagroup_by_id** — Update a datagroup by id in Looker. Returns the datagroup's id, model_name, name, stale_before timestamp, trigger_check_at timestamp, trigger_error message, trigger_value, and triggered_at timestamp.
- **list_all_looker_folders** — Get information about all folders in Looker. Returns all personal folders with fields including id, name, parent_id, content_metadata_id, created_at, creator_id, child_count, and flags indicating folder type.
- **get_single_looker_folder_by_id** — Get information about the folder with a specific id in Looker. Returns folder details including name, parent_id, content_metadata_id, created_at, creator_id, child_count, and various folder type flags.
- **create_a_looker_folder** — Create a folder with specified name and parent_id in Looker. Returns folder id, name, parent_id, creator_id, created_at, child_count, and folder type flags. Requires permission to edit parent folder and create folders.
- **update_a_looker_folder_by_id** — Update the folder with id in Looker. Returns folder details including name, parent_id, id, content_metadata_id, created_at, creator_id, child_count, and various folder type flags.
- **delete_a_looker_folder_by_id** — Delete the folder with id including any children folders in Looker. This operation deletes all looks and dashboards in the folder. Returns 204 on success or error details on failure.
- **looker_folders_search** — Search folders by name, id, parent_id, or creator_id in Looker. Returns folder details including id, name, parent_id, creator_id, child_count, and flags indicating folder type such as is_personal or is_shared_root.
- **list_all_looker_folder_children** — Get the children of a folder in Looker by folder id. Returns folder children including id, name, parent_id, created_at, creator_id, child_count, and flags indicating folder type and permissions.
- **looker_folder_children_search** — Get the children of a folder in Looker by folder id. Returns folder children with fields including id, name, parent_id, child_count, and metadata about embed and personal folder status.
- **get_single_looker_folder_parent_by_id** — Get the parent folder of a folder in Looker by folder id. Returns fields including id, name, parent_id, created_at, creator_id, child_count, and folder type flags.
- **list_all_looker_folder_ancestors** — Get the ancestors of a folder in Looker by folder id. Returns an array of folders with fields including id, name, parent_id, created_at, and flags indicating folder type and permissions.
- **list_all_looker_folder_looks** — Get all looks in a folder in Looker by folder id. Returns look id, title, description, user_id, created_at, updated_at, favorite_count, view_count, query_id, and folder details. Excludes looks in trash.
- **list_all_looker_folder_dashboards** — Get dashboards in a folder in Looker by folder id. Returns dashboard id, title, description, created_at, updated_at, user_name, favorite_count, and other dashboard details.
- **list_all_looker_groups** — Get information about all groups in Looker. Returns group id, name, user_count, can_add_to_content_metadata, contains_current_user, externally_managed, external_group_id, include_by_default, and can operations fields.
- **get_single_looker_group_by_id** — Get information about a specific group in Looker by id. Returns fields including id, name, user_count, include_by_default, externally_managed, external_group_id, contains_current_user, can_add_to_content_metadata, and can.
- **create_a_looker_group** — Create a new group in Looker. Requires group name. Returns group id, name, user_count, include_by_default, externally_managed, external_group_id, can_add_to_content_metadata, and contains_current_user.
- **update_a_looker_group_by_id** — Update a group by id in Looker. Returns the group's id, name, user_count, include_by_default, external_group_id, externally_managed, can_add_to_content_metadata, and contains_current_user fields.
- **delete_a_looker_group_by_id** — Delete a group by id in Looker. Returns 204 status on successful deletion.
- **looker_groups_search** — Get all group records matching search criteria in Looker. Returns fields including id, name, external_group_id, externally_managed, include_by_default, and user_count.
- **looker_groups_search_roles** — Search groups with roles in Looker using search criteria. Returns group id, name, external_group_id, externally_managed, user_count, and associated roles with id, name, permission set, and model set.
- **looker_groups_search_hierarchy** — Get all group records matching search criteria in Looker. Returns group id, name, external_group_id, externally_managed, user_count, parent_group_ids, and role_ids fields. Supports filter_or for OR logic.
- **list_all_looker_subgroups** — Get all subgroups of a group in Looker by group id. Returns fields including id, name, user_count, external_group_id, externally_managed, include_by_default, can_add_to_content_metadata, and contains_current_user.
- **create_a_looker_subgroup** — Add a new group to a group in Looker using group_id. Returns the added group's id, name, user_count, and membership details.
- **delete_a_looker_subgroup_by_id** — Delete a subgroup identified by deleting_group_id from a group identified by id in Looker. Returns no content on success.
- **list_all_looker_group_users** — Get all users directly included in a group in Looker by group_id. Returns user details including id, display_name, email, first_name, last_name, is_disabled, and credentials information.
- **create_a_looker_group_user** — Add a user to a group in Looker by specifying group id and user_id. Returns the added user's details including id, display_name, email, first_name, last_name, is_disabled, and credentials information.
- **delete_a_looker_group_user_by_id** — Remove a user from a group in Looker. Requires group_id and user_id. Returns 204 status on success or error details on failure.
- **update_a_looker_user_attribute_group_value_by_id** — Set the value of a user attribute for a group in Looker. Requires group_id and user_attribute_id. Returns the updated group attribute relation including id, group_id, user_attribute_id, value, value_is_hidden, and rank.
- **delete_a_looker_user_attribute_group_value_by_id** — Delete user attribute value for group using group_id and user_attribute_id in Looker. Returns 204 on success or error details on failure.
- **list_all_looker_homepage** — Get all primary homepage sections in Looker. Returns fields including id, title, description, created_at, updated_at, homepage_items with details like content metadata, custom titles, and URLs.
- **list_all_looker_integration_hubs** — Get information about all integration hubs in Looker. Returns id, url, label, official status, fetch_error_message, has_authorization_token, legal_agreement_signed, legal_agreement_required, and legal_agreement_text fields for each hub.
- **get_single_looker_integration_hub_by_id** — Get information about a specific Integration Hub in Looker by id. Returns fields including id, url, label, official status, fetch_error_message, legal agreement details, and authorization token status.
- **create_a_looker_integration_hub** — Create a new integration hub in Looker. Returns hub id, url, label, official status, fetch error message if any, authorization token status, and legal agreement details.
- **update_a_looker_integration_hub_by_id** — Update an integration hub by id in Looker. Returns updated hub fields including id, url, label, official status, fetch_error_message, has_authorization_token, legal agreement status, and legal agreement text.
- **delete_a_looker_integration_hub_by_id** — Delete an integration hub by id in Looker. Returns no content on success.
- **looker_integration_hubs_accept** — Accept the legal agreement for a specific integration hub in Looker using id. Returns integration hub details including id, label, url, legal agreement status, and error messages if any.
- **list_all_looker_integration** — Get information about all integrations in Looker. Returns fields including id, integration_hub_id, label, description, enabled status, params, icon_url, uses_oauth, and privacy_link.
- **get_single_looker_integration_by_id** — Get information about a specific integration in Looker by id. Returns fields including id, integration_hub_id, label, description, enabled status, params with details, icon_url, oauth usage, and privacy_link.
- **update_a_looker_integration_by_id** — Update parameters on a Looker integration using integration id. Returns updated integration including id, label, description, enabled status, params with name, value, and sensitivity, supported formats, and oauth usage.
- **looker_integration_fetch** — Get the integration form for the integration with id in Looker. Returns fields including name, label, description, type, default, oauth_url, interactive, required, and options for user input.
- **looker_integration_test** — Test the integration settings for integration with id. Returns success status, message, and delegate OAuth test results including connection name, installation target id, installation id, and success.
- **list_all_looker_looks** — Get all active Looks in Looker. Returns an array of abbreviated Look objects including id, title, user_id, created_at, description, model, folder, and other metadata. Soft-deleted Looks are excluded.
- **get_single_looker_look_by_id** — Get detailed information about a Look by id in Looker. Returns fields including id, title, description, user_id, created_at, updated_at, folder info, query details, and URLs related to the Look.
- **create_a_looker_look** — Create a look with query_id and optional space_id in Looker. Returns the created look including id, title, user_id, created_at, description, query_id, folder_id, updated_at, and view_count.
- **update_a_looker_look_by_id** — Modify a look by id in Looker. Update properties such as title, description, query_id, folder_id, and deleted status. Returns the updated look with fields including id, title, description, user_id, created_at, deleted, and query details.
- **delete_a_looker_look_by_id** — Permanently delete a look by id in Looker. This operation removes the look from the database with no undo option. The response confirms successful deletion or returns error details.
- **looker_looks_run** — Run a look's query by look_id in Looker and return results in json_bi format including row data and metadata describing fields, pivots, and table calculations.
- **looker_looks_copy** — Create a copy of an existing look identified by id in Looker, placing it in the folder specified by folder_id. Returns the copied look with fields including id, title, user_id, created_at, description, favorite_count, model, folder, and query details.
- **looker_looks_move** — Move a look identified by id to a specified folder using folder_id in Looker. Returns the moved look with fields including id, title, user_id, created_at, description, model, folder, and query details.
- **list_all_looker_lookml_models** — Get information about all LookML models in Looker. Returns fields including name (unique identifier), label (UI-friendly name), project_name, explores (with name, description, label, hidden status), and model capabilities.
- **get_single_looker_lookml_model_by_id** — Get information about a specific LookML model by id in Looker. Returns fields including name, label, project_name, explores (with name, description, label, hidden, group_label, has_content), allowed_db_connection_names, and unlimited_db_connections.
- **create_a_looker_lookml_model** — Create a LookML model with specified configuration in Looker. Requires model name, project_name, and other model details. Returns the created model's name, label, project_name, explores, allowed_db_connection_names, and unlimited_db_connections status.
- **update_a_looker_lookml_model_by_id** — Update a LookML model by name in Looker. Requires id as the model name. Returns updated model fields including name, label, project_name, explores with their name, description, label, hidden status, and allowed_db_connection_names.
- **delete_a_looker_lookml_model_by_id** — Delete a LookML model by name in Looker. Requires id as the lookml_model_name. Returns 204 status on successful deletion.
- **get_single_looker_lookml_model_explore_by_id** — Get information about a LookML model explore in Looker using lookml_model_name and explore_name. Returns fields including id, name, description, label, title, permissions, connection_name, project_name, model_name, view_name, sql_table_name, fields, joins, and errors.
- **list_all_looker_themes** — Get an array of all existing themes in Looker. Returns fields including id, name, begin_at, end_at, and settings which contain theme customization details.
- **get_single_looker_theme_by_id** — Get a theme by id in Looker. Returns fields including id, name, begin_at, end_at, and settings with theme colors and display options. Custom themes require enabling by Looker.
- **create_a_looker_theme** — Create a new theme in Looker with a specified name and settings. Returns the theme's id, name, begin_at, end_at, and settings including colors and display options. Theme name must be alphanumeric or underscores.
- **update_a_looker_theme_by_id** — Update the theme by id in Looker. Requires id and theme settings. Returns updated theme with fields id, name, begin_at, end_at, and settings including colors, fonts, and display toggles.
- **delete_a_looker_theme_by_id** — Delete a specific theme by id in Looker. This operation permanently deletes the identified theme. Only theme id is required. Custom themes must be enabled by Looker to use this feature.
- **looker_themes_search** — Get an array of theme objects matching search criteria in Looker. Supports filtering by id, name, begin_at, and end_at timestamps. Returns fields including id, name, begin_at, end_at, and settings with theme details.
- **looker_themes_active** — Get active themes in Looker. Returns an array of active themes with fields including id, name, begin_at, end_at, and settings which define theme appearance and behavior. Note: Custom themes require enabling by Looker.
- **looker_themes_validate** — Validate a theme with the specified information in Looker. Returns any validation errors or 200 OK if valid. The response includes error details such as field, code, and message if validation fails.
- **get_single_looker_default_theme_by_id** — Get the active default theme in Looker. Returns the theme's id, name, active period timestamps, and detailed settings including colors, fonts, and display toggles.
- **update_a_looker_default_theme_by_id** — Set the global default theme by name in Looker. Requires the name of an active theme with no expiration. Returns the new default theme object including id, name, begin_at, end_at, and settings.
- **list_all_looker_user_attributes** — Get all user attributes in Looker. Returns an array of user attributes including id, name, label, type, default_value, is_system, is_permanent, value_is_hidden, user_can_view, user_can_edit, and hidden_value_domain_whitelist.
- **get_single_looker_user_attribute_by_id** — Get information about a user attribute by id in Looker. Returns id, name, label, type, default_value, is_system, is_permanent, value_is_hidden, user_can_view, user_can_edit, and hidden_value_domain_whitelist fields.
- **create_a_looker_user_attribute** — Create a new user attribute in Looker. Requires unique name and label. Returns id, name, label, type, default_value, is_system, is_permanent, value_is_hidden, user_can_view, user_can_edit, and hidden_value_domain_whitelist fields.
- **update_a_looker_user_attribute_by_id** — Update a user attribute by id in Looker. Returns fields including id, name, label, type, default_value, is_system, is_permanent, value_is_hidden, user_can_view, user_can_edit, and hidden_value_domain_whitelist.
- **delete_a_looker_user_attribute_by_id** — Delete a user attribute by id in Looker. Returns 204 status on successful deletion.
- **list_all_looker_user_attribute_group_value** — Get all values of a user attribute defined by user groups in precedence order in Looker. Requires user_attribute_id as id. Returns group_id, value, rank, and value_is_hidden indicating if the value is accessible.
- **update_a_looker_user_attribute_group_value_by_id** — Set user attribute group values for user_attribute_id in Looker. Returns an array of group values including id, group_id, user_attribute_id, value_is_hidden, rank, and value fields reflecting the updated group value definitions.
- **list_all_looker_workspaces** — Get all workspaces available to the calling user in Looker. Returns workspace id, projects with project id, name, git configuration, and dependency status.
- **get_single_looker_workspace_by_id** — Get information about a specific workspace in Looker by workspace id. Returns workspace id, git status, selected branches of all projects, and project details including git configuration and validation policies.
- **get_single_looker_session_auth_by_id** — Get information about the current API session in Looker. Returns workspace_id indicating the active workspace and sudo_user_id if the session represents a user sudo'ing as another.
- **update_a_looker_session_auth_by_id** — Update the active workspace for the current API session in Looker by setting workspace_id. Returns the updated session with workspace_id and sudo_user_id fields.
- **looker_reports_search** — Get an array of Report objects matching specified search criteria in Looker. Returns fields including id, title, user_id, created_at, updated_at, last_viewed_at, favorite, favorite_count, view_count, folder details, url, user_name, deleted_at, last_accessed_at, deleter_user_id, deleter_user_name, and schedule_count.
- **get_single_looker_artifact_usage_by_id** — Get the maximum configured size and currently used storage in bytes of the entire artifact store in Looker. Returns max_size and usage fields representing storage limits and usage.
- **list_all_looker_artifact_namespace** — Get all artifact namespaces and the count of artifacts in each namespace in Looker. Returns namespace and count fields for each artifact namespace.
- **list_all_looker_artifact** — Get one or more artifacts by namespace and key in Looker. Returns fields key, value, content_type, version, namespace, created_at, updated_at, value_size, created_by_userid, and updated_by_userid in the response.
- **update_a_looker_artifact_by_id** — Create or update one or more artifacts in Looker using namespace. Requires key and value for creation, and version for updates. Returns key, value, content_type, version, namespace, created_at, updated_at, value_size, created_by_userid, updated_by_userid.
- **delete_a_looker_artifact_by_id** — Delete one or more artifacts by namespace and key in Looker. Requires namespace and a comma-delimited list of keys. Response confirms deletion or returns error details.
- **looker_artifact_search** — Get an array of artifacts matching the key pattern and size range in Looker. Requires namespace. Returns key, value, content_type, version, namespace, created_at, updated_at, value_size, created_by_userid, and updated_by_userid fields.
- **looker_artifact_purge** — Delete all artifacts in the specified namespace in Looker. Requires namespace. This operation permanently deletes all artifacts in the namespace.
- **get_single_looker_cloud_storage_by_id** — Get the current Cloud Storage configuration in Looker. Returns fields including type (backup type), custom_s3_bucket (bucket name), custom_s3_bucket_region (bucket region), and url (link to this configuration).
- **update_a_looker_cloud_storage_by_id** — Update the current Cloud Storage Configuration in Looker. Returns the updated backup configuration including type, custom_s3_bucket, custom_s3_bucket_region, and url.
- **get_single_looker_custom_welcome_email_by_id** — Get the current status and content of custom welcome emails in Looker. Returns enabled (boolean), content (HTML string), subject (email subject text), and header (email header text) fields.
- **update_a_looker_custom_welcome_email_by_id** — Update custom welcome email content with enabled, content, subject, and header fields in Looker. Optionally send a test email to the current user after saving. Returns updated email settings including enabled, content, subject, and header.
- **looker_custom_welcome_email_send** — Send a test welcome email to the currently logged in user in Looker with the provided subject, header, and content. The response returns the sent email's subject, header, and content.
- **get_single_looker_digest_email_by_id** — Get the value indicating whether digest emails are enabled in Looker. Returns is_enabled boolean field showing the status.
- **update_a_looker_digest_email_by_id** — Update the setting for enabling or disabling digest emails in Looker. Returns the is_enabled field indicating the current status of digest emails.
- **looker_digest_emails_deliver** — Trigger the generation of digest email records and send them to Looker's internal system. Returns configuration_delivered indicating if content was successfully generated and delivered.
- **list_all_looker_public_egress** — Get the list of public egress IP addresses for a hosted customer's instance in Looker. Returns egress_ip_addresses array containing the IP addresses.
- **get_single_looker_internal_help_resources_content_by_id** — Get internal help resources content in Looker. Returns organization_name as the menu item text and markdown_content as the content displayed in the internal help resources page or modal.
- **update_a_looker_internal_help_resources_content_by_id** — Update internal help resources content in Looker. Requires organization_name and markdown_content. Returns updated organization_name and markdown_content fields.
- **get_single_looker_internal_help_resource_config_by_id** — Get the status of internal help resources in Looker. Returns 'enabled' boolean indicating if internal help resources content is shown in the help menu.
- **update_a_looker_internal_help_resource_config_by_id** — Update internal help resources settings in Looker. Requires the enabled flag to show the internal help resources link and content in the help menu. Returns the updated enabled status and operations allowed.
- **list_all_looker_legacy_feature** — Get all legacy features in Looker. Returns an array of legacy features with fields including id, name, description, enabled status, version info, and documentation URL.
- **get_single_looker_legacy_feature_by_id** — Get information about the legacy feature with id in Looker. Returns fields including id, name, description, enabled status, version info, documentation_url, and disable dates.
- **update_a_looker_legacy_feature_by_id** — Update information about the legacy feature with id in Looker. Returns fields including id, name, description, enabled status, version info, documentation_url, and disable/end-of-life dates.
- **list_all_looker_locales** — Get a list of locales that Looker supports. Returns code, native_name, and english_name for each locale.
- **list_all_looker_mobile_settings** — Get all mobile settings in Looker. Returns mobile_force_authentication (force authentication enabled), mobile_app_integration (mobile access enabled), and mobile_feature_flags (feature flag names and states).
- **get_single_looker_setting_by_id** — Get Looker settings including instance_config, feature_flags, license_features, marketplace settings, embed configuration, and other key configuration flags. Returns all current settings for the Looker instance.
- **update_a_looker_setting_by_id** — Update Looker settings with the provided configuration. Returns the updated settings including instance_config, marketplace_automation, custom_welcome_email, timezone, embed_config, and other key configuration fields.
- **get_single_looker_smtp_setting_by_id** — Get current SMTP status in Looker. Returns overall cluster status (is_valid), total node count (node_count), and per-node status including is_valid, message, and hostname.
- **update_a_looker_smtp_setting_by_id** — Set SMTP settings in Looker with address, from, user_name, password, port, enable_starttls_auto, ssl_version, and default_smtp. 
- **list_all_looker_timezones** — Get a list of timezones that Looker supports. Returns value (timezone identifier), label (description), and group (timezone group) for each timezone.
- **list_all_looker_api_version** — Get information about all API versions supported by this Looker instance. Returns supported_versions array with version, full_version, status, and swagger_url for each version.
- **get_single_looker_api_specification_by_id** — Get an API specification for this Looker instance using api_version and specification. Returns the specification as a JSON document in Swagger 2.x format.
- **list_all_looker_dashboards** — Get all active dashboards in Looker. Returns an array of abbreviated dashboard objects excluding deleted ones. Key fields returned include id, title, description, model, folder, and refresh interval.
- **get_single_looker_dashboard_by_id** — Get full details of a dashboard by id in Looker. Returns fields including id, title, description, created_at, updated_at, user_name, favorite_count, view_count, dashboard_elements, dashboard_filters, and dashboard_layouts.
- **create_a_looker_dashboard** — Create a new dashboard in Looker with required fields title and space_id. Returns the dashboard's id, title, description, created_at, updated_at, user_id, folder info, and url.
- **update_a_looker_dashboard_by_id** — Update a dashboard by id in Looker. Modify string and integer properties such as title, description, refresh_interval, and appearance. Nested objects like filters and elements cannot be updated here. Returns the updated dashboard object including id, title, description, refresh_interval, and appearance.
- **delete_a_looker_dashboard_by_id** — Delete a dashboard by id in Looker. This operation permanently removes the dashboard and it cannot be recovered. Use update_dashboard to soft delete instead.
- **looker_dashboards_search** — Search user-defined dashboards in Looker by id, slug, title, description, content_favorite_id, folder_id, deleted status, user_id, view_count, content_metadata_id, curate, last_viewed_at. Returns dashboard id, title, description, user_id, folder, view_count, favorite_count, created_at, updated_at, and other metadata.
- **looker_dashboards_move** — Move a dashboard to a specified folder in Looker. Requires dashboard_id and folder_id which must exist and be different from the current folder. Returns the moved dashboard with fields like id, title, description, folder, and updated_at.
- **looker_dashboards_copy** — Create a copy of an existing dashboard by dashboard_id in Looker. Requires dashboard_id and folder_id if specified. Returns the copied dashboard with fields like id, title, description, folder, created_at, updated_at, and dashboard_elements.
- **list_all_looker_dashboard_elements** — Get all dashboard elements on a dashboard with a specific dashboard_id in Looker. Returns elements with fields including id, title, type, query details, and look information.
- **get_single_looker_dashboard_element_by_id** — Get information about the dashboard element with id in Looker. Returns fields including id, dashboard_id, title, type, body_text, look details, query details, and timestamps.
- **create_a_looker_dashboard_element** — Create a dashboard element with dashboard_id in Looker. Returns the created dashboard element including id, dashboard_id, title, type, and query details.
- **update_a_looker_dashboard_element_by_id** — Update the dashboard element with id in Looker. Returns updated dashboard element including id, dashboard_id, title, type, subtitle_text, refresh_interval, and associated look or query details.
- **delete_a_looker_dashboard_element_by_id** — Delete a dashboard element by id in Looker. Returns 204 status on successful deletion.
- **looker_dashboard_elements_search** — Get an array of DashboardElement objects matching search criteria in Looker. Supports filtering by dashboard_id, look_id, title, and deleted status. Returns fields including id, dashboard_id, look, title, and deleted.
- **list_all_looker_dashboard_filters** — Get all dashboard filters for a dashboard with a specific id in Looker. Returns fields including id, dashboard_id, name, title, type, default_value, model, explore, dimension, field info, row, listens_to_filters, allow_multiple_values, required, and ui_config.
- **get_single_looker_dashboard_filter_by_id** — Get information about the dashboard filter with id in Looker. Returns id, dashboard_id, name, title, type, default_value, model, explore, dimension, field, row, listens_to_filters, allow_multiple_values, required, and ui_config.
- **create_a_looker_dashboard_filter** — Create a dashboard filter with dashboard_id, name, title, and type in Looker. Returns id, dashboard_id, name, title, type, default_value, model, explore, dimension, row, listens_to_filters, allow_multiple_values, required, and ui_config fields.
- **update_a_looker_dashboard_filter_by_id** — Update the dashboard filter with id in Looker. Returns the updated filter including id, dashboard_id, name, title, type, default_value, model, explore, dimension, row, listens_to_filters, allow_multiple_values, required, and ui_config fields.
- **delete_a_looker_dashboard_filter_by_id** — Delete a dashboard filter by id in Looker. Returns 204 status on successful deletion.
- **list_all_looker_dashboard_layout** — Get all dashboard layouts for a dashboard with dashboard_id in Looker. Returns id, dashboard_id, type, active status, column_width, width, deleted status, dashboard_title, and dashboard_layout_components with their details including element titles and visualization types.
- **get_single_looker_dashboard_layout_by_id** — Get information about the dashboard layout with id in Looker. Returns id, dashboard_id, type, active status, column_width, width, deleted status, dashboard_title, and dashboard_layout_components including their id, dashboard_element_id, position, size, deleted status, element_title, element_title_hidden, and vis_type.
- **create_a_looker_dashboard_layout** — Create a dashboard layout with dashboard_id, type, active, column_width, and width in Looker. Returns id, dashboard_id, type, active, column_width, width, deleted, dashboard_title, and dashboard_layout_components with component details.
- **update_a_looker_dashboard_layout_by_id** — Update the dashboard layout with id in Looker. Returns updated dashboard layout including id, dashboard_id, type, active status, column_width, width, deleted status, dashboard_title, and dashboard_layout_components with their details.
- **delete_a_looker_dashboard_layout_by_id** — Delete a dashboard layout by id in Looker. Returns 204 status on successful deletion.
- **list_all_looker_dashboard_layout_component** — Get all dashboard layout components for a dashboard layout with id in Looker. Returns id, dashboard_layout_id, dashboard_element_id, row, column, width, height, deleted status, element_title, element_title_hidden, and vis_type fields.
- **get_single_looker_dashboard_layout_component_by_id** — Get information about the dashboard layout component with id in Looker. Returns id, dashboard_layout_id, dashboard_element_id, row, column, width, height, deleted status, element_title, element_title_hidden, and vis_type fields.
- **update_a_looker_dashboard_layout_component_by_id** — Update the dashboard layout component with id in Looker. Returns fields including id, dashboard_layout_id, dashboard_element_id, row, column, width, height, deleted, element_title, element_title_hidden, and vis_type.
- **create_a_looker_data_action** — Perform a data action in Looker using the action JSON and form_values. Returns webhook_id, success status, refresh_query flag, validation_errors, and an optional message describing the action result.
- **looker_data_actions_fetch** — Create a data action form in Looker. Returns fields including name, label, description, type, default, oauth_url, interactive, required, and options for user input.
- **list_all_looker_projects** — Get all projects visible to the current user in Looker. Returns project id, name, git configuration details, and validation status for each project.
- **get_single_looker_project_by_id** — Get project details by id in Looker. Returns fields including id, name, uses_git, git_remote_url, git_username, git_production_branch_name, pull_request_mode, validation_required, and dependency_status.
- **create_a_looker_project** — Create a project with the required name in Looker. Returns project id, name, git configuration status, validation policies, and dependency status.
- **update_a_looker_project_by_id** — Update a project's configuration in Looker using project id. Returns updated project fields including id, name, uses_git, git_remote_url, git_service_name, validation_required, and dependency_status.
- **looker_projects_validate** — Validate all LookML files in a project in Looker by project id. Returns a list of errors including code, severity, kind, message, file_path, line_number, and model_id found during validation.
- **looker_projects_manifest** — Get the manifest of a project in Looker by project_id. Returns fields including name (manifest project name), imports (dependency details), and localization_settings (default locale and localization level).
- **looker_projects_lock_all** — Install all LookML dependencies for a project using Looker. Requires project id. Returns 204 if dependencies are successfully installed or 400 with an error message.
- **list_all_looker_git_branches** — Get all git branches for the project specified by project_id in Looker. Returns branch details including name, remote, owner_name, readonly status, commit timestamp, and ahead/behind counts.
- **get_single_looker_git_branch_by_id** — Get the specified Git Branch by project_id and id in Looker. Returns branch details including name, remote, owner_name, readonly status, commit timestamps, and ahead/behind commit counts.
- **create_a_looker_git_branch** — Create and checkout a new git branch in the project identified by project_id in Looker. Returns branch details including name, remote, owner_name, readonly status, commit timestamp, and ahead/behind counts.
- **update_a_looker_git_branch_by_id** — Update a Git branch for project_id in Looker. Returns branch details including name, remote, readonly status, commit timestamp, ahead/behind counts, and error messages if present. Only allowed in development mode.
- **delete_a_looker_git_branch_by_id** — Delete git branch specified by id from local and remote of project repository identified by project_id in Looker.
- **list_all_looker_project_file** — Get all project files for project_id in Looker. Returns file id, path, title, type, extension, mime_type, editable state, and git status including action, conflict, revertable, and text.
- **get_single_looker_project_file_by_id** — Get information about a specific project file in Looker using project_id and file_id. Returns id, path, title, type, extension, mime_type, editable state, and git_status including action, conflict, revertable, and text.
- **list_all_looker_git_connection_test** — Get all git connection tests for project id in Looker. Returns tests with id and description fields describing each test's purpose and order of execution.
- **looker_git_connection_test_run** — Run the named git connection test on the git service used by the project with project_id and test id in Looker. Returns status ('pass' or 'fail'), message, and id fields in the response.
- **list_all_looker_lookml_test** — Get all LookML tests for a project in Looker using project_id. Returns test details including model_name, name, explore_name, query_url_params, file, and line number.
- **looker_lookml_test_run** — Run all LookML tests in the project identified by id using Looker. Returns test results including model_name, test_name, assertions_count, assertions_failed, errors, warnings, and success status.
- **get_single_looker_deploy_key_by_id** — Get the SSH public deploy key for a project's git repository in Looker. Requires project_id. Returns the public key as a string.
- **create_a_looker_deploy_key** — Create a deploy key for a Looker project using project_id. Returns the public key of the generated SSH key pair for authenticating git requests from Looker to a remote git repository.
- **list_all_looker_repository_credentials** — Get all repository credentials for a project in Looker using root_project_id. Returns id, root_project_id, remote_url, git_username, ssh_public_key, and is_configured fields for each credential.
- **create_a_looker_repository_credential** — Create repository credential with root_project_id and credential_id in Looker. Returns id, root_project_id, remote_url, git_username, ssh_public_key, and is_configured indicating credential setup status.
- **delete_a_looker_repository_credential_by_id** — Delete repository credential with root_project_id and id in Looker. Returns 204 on success or error details on failure.
- **create_a_looker_tag_ref** — Create a tag for the most recent commit or a specific commit SHA in Looker project identified by project_id. Returns project details including id, name, uses_git, git_remote_url, and dependency_status.
- **get_single_looker_query_by_id** — Get details about a specific query by id in Looker. Returns fields including id, model, view, fields, filters, sorts, limit, and visualization config.
- **create_a_looker_query** — Create a new query in Looker with specified model, view, fields, filters, and other parameters. Returns the query object including id, model, view, fields, filters, sorts, limit, and URLs. Queries are immutable and duplicates return existing query.
- **looker_query_run** — Run a saved query in Looker using id and result_format. Returns the query results in the specified format such as json, csv, or image. Supports parameters like limit and cache options.
- **looker_query_run_inline** — Run an inline query in Looker with specified result_format. Requires a JSON body defining model, view, fields, filters, sorts, and limit. Returns query results in the requested format.
- **looker_query_run_url** — Run an URL encoded query in Looker with model_name, view_name, and result_format. Returns query results in the specified format such as json, csv, or xlsx.
- **list_all_looker_async_query** — Get results of multiple async queries in Looker using query_task_ids. Returns execution status for incomplete tasks and status 'expired' for expired results. Response includes query results or status for each task.
- **get_single_looker_async_query_by_id** — Get async query task details by id in Looker. Returns fields including id, query_id, status, runtime, result_format, and associated look_id and dashboard_id.
- **create_a_looker_async_query** — Create an async query task in Looker to run a previously created query asynchronously using query_id. Returns the query task id and details including status, runtime, and result_format.
- **get_single_looker_merge_query_by_id** — Get a merge query by id in Looker. Returns fields including id, column_limit, dynamic_fields, pivots, result_maker_id, sorts, source_queries (with query_id, query_slug), merge_fields (with field_name, source_field_name, name, total), and vis_config.
- **create_a_looker_merge_query** — Create a new merge query in Looker by providing a MergeQuery object. Returns the created merge query with fields including id, column_limit, pivots, result_maker_id, sorts, source_queries, merge_fields, total, and vis_config.
- **list_all_looker_running_query** — Get information about all running queries in Looker. Returns an array of running queries including id, user details, query details, SQL query, status, runtime, and timestamps for each running query.
- **delete_a_looker_running_query_by_id** — Kill a running query in Looker by query_task_id. Returns 204 status on success indicating the query was successfully killed.
- **get_single_looker_sql_runner_query_by_id** — Get a SQL Runner query by slug in Looker. Returns fields including slug, last_runtime (seconds), run_count, browser_limit, sql text, last_run_at timestamp, connection details (name, dialect, supports_cost_estimate), model_name, creator info (id, first_name, last_name), and explore_url.
- **create_a_looker_sql_runner_query** — Create a SQL Runner Query with either connection_name or model_name and sql. Returns fields including slug, last_runtime, run_count, sql, last_run_at, connection details, model_name, creator info, vis_config, and result_maker_id in Looker.
- **looker_sql_runner_query_run** — Run a SQL Runner query in Looker using slug and result_format. Returns the query result in the specified format.
- **create_a_looker_look_render_task** — Create a new render task to render a look to an image in Looker. Requires look_id and result_format. Returns render task object with id, status, created_at, finalized_at, width, height, result_format, runtime, and status_detail fields.
- **create_a_looker_query_render_task** — Create a new render task to render an existing query to an image in Looker. Requires query_id and result_format. Returns render task object including id, status, created_at, runtime, and output dimensions.
- **create_a_looker_dashboard_render_task** — Create a new dashboard render task with dashboard_id and result_format in Looker. Returns render task object including id, status, created_at, finalized_at, runtime, and output dimensions.
- **get_single_looker_render_task_by_id** — Get information about a render task in Looker using id. Returns fields including status, created_at, finalized_at, result_format, runtime, and user_id to track task progress and output details.
- **looker_render_task_result** — Get the document or image produced by a completed render task in Looker using id. Returns binary content of the rendered result or 202 if not finished. Use render_task(id) to check status before polling results.
- **list_all_looker_permission_sets** — Get information about all permission sets in Looker. Returns id, name, permissions, all_access, built_in, and url fields for each permission set.
- **get_single_looker_permission_set_by_id** — Get information about the permission set with id in Looker. Returns id, name, permissions, all_access, built_in, url, and can fields describing the permission set details and user operations.
- **create_a_looker_permission_set** — Create a permission set with the specified information in Looker. Returns the created permission set including id, name, permissions, and built_in status. Providing save_content permission grants save_looks and save_dashboards abilities.
- **update_a_looker_permission_set_by_id** — Update information about the permission set with id in Looker. Returns the updated permission set including id, name, permissions, all_access, built_in, and url fields.
- **delete_a_looker_permission_set_by_id** — Delete the permission set with id in Looker. Returns 204 status on successful deletion.
- **looker_permission_sets_search** — Get permission sets matching search criteria in Looker. Returns id, name, all_access, built_in, permissions, and url fields for each permission set.
- **list_all_looker_model_sets** — Get information about all model sets in Looker. Returns an array of model sets with fields including id (unique identifier), name (model set name), models (list of models), and url (link to the item).
- **get_single_looker_model_set_by_id** — Get information about the model set with id in Looker. Returns id, name, models, url, built_in, all_access, and can fields.
- **create_a_looker_model_set** — Create a model set with the specified information in Looker. Returns the created model set including id, name, models, and url.
- **update_a_looker_model_set_by_id** — Update information about the model set with id in Looker. Returns the updated model set including id, name, models, and permissions.
- **delete_a_looker_model_set_by_id** — Delete the model set with id in Looker. Returns 204 on successful deletion or error details if the model set cannot be deleted.
- **looker_model_sets_search** — Get model sets matching search criteria in Looker. Returns id, name, models, all_access, built_in, and url fields for each model set. Supports filtering by id, name, all_access, built_in, and combining criteria with filter_or.
- **list_all_looker_scheduled_plans** — Get all scheduled plans with optional user_id to filter by user or all_users to include all users in Looker. Returns fields including name, user_id, enabled, look_id, dashboard_id, filters_string, crontab, timezone, destinations, and next_run_at.
- **get_single_looker_scheduled_plan_by_id** — Get information about a specific scheduled plan in Looker by id. Returns fields including name, user_id, enabled status, look_id, dashboard_id, filters_string, crontab, timezone, destinations, next_run_at, and last_run_at.
- **create_a_looker_scheduled_plan** — Create a scheduled plan in Looker with required fields name and one of look_id, dashboard_id, lookml_dashboard_id, or query_id, plus crontab or datagroup and at least one scheduled_plan_destination. Returns the created scheduled plan including id, name, user_id, enabled, and scheduling details.
- **update_a_looker_scheduled_plan_by_id** — Update a scheduled plan by id in Looker. Returns the updated scheduled plan including fields like name, user_id, enabled, look_id, dashboard_id, filters_string, crontab, timezone, scheduled_plan_destination, and next_run_at.
- **delete_a_looker_scheduled_plan_by_id** — Delete a scheduled plan by id in Looker. Normal users can only delete their own plans; admins can delete any. This action is irreversible.
- **looker_scheduled_plans_search** — Get scheduled plans matching search criteria in Looker. Use user_id to filter by user. Returns fields including name, user_id, enabled, look_id, dashboard_id, filters_string, crontab, timezone, and scheduled_plan_destination details.
- **get_single_looker_credentials_email_by_id** — Get email/password credential for user with id in Looker. Returns fields including email, user_id, created_at, is_disabled, logged_in_at, password_reset_url, account_setup_url, and flags for URL expiration.
- **create_a_looker_credentials_email** — Create Email/Password Credential for user with id in Looker. Returns created credential including email, creation timestamp, user_id, disabled status, login timestamp, password reset and account setup URLs with expiration status, and credential type.
- **update_a_looker_credentials_email_by_id** — Update Email/Password Credential for user with id in Looker. Returns fields including email, forced_password_reset_at_next_login, is_disabled, created_at, logged_in_at, password_reset_url, account_setup_url, and their expiration statuses.
- **delete_a_looker_credentials_email_by_id** — Delete email/password credential for the specified user in Looker. Requires user_id. Returns 204 on successful deletion or error details on failure.
- **looker_credentials_email_search** — Get all credentials_email records matching search criteria in Looker. Returns fields including id, email, user_id, created_at, is_disabled, and URLs for password reset and account setup.
- **list_all_looker_credentials_api** — Get all API credentials for the specified user in Looker. Requires user_id. Returns id, client_id, created_at, is_disabled, type, and url for each credential.
- **get_single_looker_credentials_api_by_id** — Get API Credential for user_id and id in Looker. Returns id, client_id, created_at, is_disabled, type, and url fields describing the API credential.
- **create_a_looker_credentials_api** — Create API credential for user with user_id in Looker. Returns id, client_id, client_secret, created_at, is_disabled, type, and url of the new credential.
- **delete_a_looker_credentials_api_by_id** — Delete API Credential for user_id and id in Looker. Returns 204 status on successful deletion.

## How it works

1. **Link your customer's Looker account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Looker.** The Proxy API is a 1-to-1 mapping of the Looker API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Sync governed BI metrics into your product without raw SQL** — SaaS platforms can pull pre-calculated, LookML-governed metrics (like churn scores or LTV) directly from a customer's Looker instance using the Query API, ensuring numbers match what executives see on their own dashboards.
- **Automate user provisioning and role enforcement across Looker** — Compliance and identity management tools can use Truto's Unified User Directory API to continuously sync users and roles between an HRIS or IdP and Looker, ensuring offboarded employees lose access immediately and privilege escalations are flagged.
- **Programmatically configure alerts and scheduled data exports** — Workflow automation and incident management platforms can create Looker alerts and scheduled plans via API, triggering downstream actions like ticket creation or Slack notifications when key metrics breach defined thresholds.
- **Let end users pick Looker metrics to sync via dynamic model discovery** — SaaS apps can fetch a customer's available LookML models and Explores to populate a UI picker, letting business users choose exactly which Looker dimensions and measures flow into the product — no engineering ticket required.
- **Manage embedded dashboard content and theming at scale** — Analytics-forward SaaS products can programmatically create dashboards, update filters, apply custom brand themes, and manage dashboard elements to deliver white-labeled embedded Looker experiences inside their own UI.

## What you can build

- **Automated Looker access reviews for SOC2 compliance** — Continuously list all Looker users, roles, and group memberships via Truto's Unified User Directory API and flag unauthorized access or orphaned accounts in your compliance dashboard.
- **Self-serve metric sync with LookML model browser** — Use the LookML Models and Explores endpoints to let your users browse their Looker semantic layer and select which governed metrics to pull into your product on a recurring schedule.
- **Threshold-based incident creation from Looker alerts** — Programmatically create and manage Looker alerts tied to critical KPIs, and route triggered alert notifications into your ticketing or incident management workflow.
- **Scheduled report delivery to external destinations** — Create and manage Looker scheduled plans via API so your customers can configure recurring data exports (CSV, JSON) pushed to webhooks or cloud storage without leaving your product.
- **Cross-platform user and role provisioning** — Mirror your application's team structure into Looker by creating groups, assigning roles, and managing user lifecycle events — all through a single Truto API call using the Unified User Directory.
- **Dynamic embedded dashboards with customer branding** — Create Looker dashboards, apply custom color collections and themes, and update filters programmatically to deliver fully branded, context-aware analytics embeds inside your SaaS product.

## FAQs

### What authentication method does the Looker integration use?

Looker's API uses OAuth2-based client credentials (API3 keys — a client_id and client_secret pair). Truto handles token generation and refresh automatically, so your end users just provide their API3 credentials during the connection flow.

### Which Looker resources are covered by Truto's Unified User Directory API?

The Unified User Directory API maps to Looker's Users and Roles resources. You can list, create, update, and delete users, list and manage user roles, and perform full CRUD on roles — all through a standardized schema that works across other integrated platforms.

### Can I run Looker queries and retrieve data through Truto?

Yes. You can create queries, run them synchronously or asynchronously, run inline queries, and execute SQL Runner queries. These endpoints let you pull governed, LookML-defined metrics without writing raw SQL against the underlying database.

### How does Truto handle pagination for large Looker result sets?

Truto manages pagination automatically across all list endpoints (users, dashboards, looks, folders, etc.), so you receive complete result sets without implementing offset or cursor logic yourself.

### Can I manage Looker groups and group membership through the integration?

Yes. The integration supports full CRUD on groups, adding and removing users from groups, managing subgroups, searching group hierarchies, and updating user attribute values at the group level.

### What content management operations are supported beyond dashboards?

In addition to dashboards (with elements, filters, layouts, and layout components), the integration supports Looks (including run, copy, and move), Boards (with board items and sections), Folders (with search, children, ancestors), content metadata, and favorite content management.
