Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 26 additions & 6 deletions docs/en/integrations/looker/source.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,17 +63,37 @@ To initialize the application default credential run `gcloud auth login

## Example

Initialize a Looker source for standard and development tools:

```yaml
kind: source
name: my-looker-source
type: looker
base_url: http://looker.example.com
client_id: ${LOOKER_CLIENT_ID}
client_secret: ${LOOKER_CLIENT_SECRET}
project: ${LOOKER_PROJECT}
location: ${LOOKER_LOCATION}
verify_ssl: true
base_url: ${LOOKER_BASE_URL}
client_id: ${LOOKER_CLIENT_ID:}
client_secret: ${LOOKER_CLIENT_SECRET:}
verify_ssl: ${LOOKER_VERIFY_SSL:true}
timeout: 600s
use_client_oauth: ${LOOKER_USE_CLIENT_OAUTH:false}
show_hidden_models: ${LOOKER_SHOW_HIDDEN_MODELS:true}
show_hidden_explores: ${LOOKER_SHOW_HIDDEN_EXPLORES:true}
show_hidden_fields: ${LOOKER_SHOW_HIDDEN_FIELDS:true}
```

Initialize a Looker source for conversational analytics:

```yaml
kind: source
name: my-looker-conversational-source
type: looker
base_url: ${LOOKER_BASE_URL}
client_id: ${LOOKER_CLIENT_ID:}
client_secret: ${LOOKER_CLIENT_SECRET:}
verify_ssl: ${LOOKER_VERIFY_SSL:true}
timeout: 600s
use_client_oauth: ${LOOKER_USE_CLIENT_OAUTH:false}
project: ${LOOKER_PROJECT:}
location: ${LOOKER_LOCATION:}
```

The Looker base url will look like "https://looker.example.com", don't include
Expand Down
26 changes: 13 additions & 13 deletions docs/en/integrations/looker/tools/looker-validate-project.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,27 +19,27 @@ A "looker-validate-project" tool checks the syntax of a LookML project and repor
## Example

```yaml
tools:
validate_project:
kind: looker-validate-project
source: looker-source
description: |
This tool checks a LookML project for syntax errors.
kind: tool
name: validate_project
type: looker-validate-project
source: looker-source
description: |
This tool checks a LookML project for syntax errors.

Prerequisite: The Looker session must be in Development Mode. Use `dev_mode: true` first.
Prerequisite: The Looker session must be in Development Mode. Use `dev_mode: true` first.

Parameters:
- project_id (required): The unique ID of the LookML project.
Parameters:
- project_id (required): The unique ID of the LookML project.

Output:
A list of error details including the file path and line number, and also a list of models
that are not currently valid due to LookML errors.
Output:
A list of error details including the file path and line number, and also a list of models
that are not currently valid due to LookML errors.
```

## Reference

| **field** | **type** | **required** | **description** |
|-------------|:--------:|:------------:|----------------------------------------------------|
| kind | string | true | Must be "looker-validate-project". |
| type | string | true | Must be "looker-validate-project". |
| source | string | true | Name of the source Looker instance. |
| description | string | true | Description of the tool that is passed to the LLM. |
109 changes: 56 additions & 53 deletions internal/prebuiltconfigs/tools/looker-conversational-analytics.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 2025 Google LLC
# Copyright 2026 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand All @@ -12,57 +12,60 @@
# See the License for the specific language governing permissions and
# limitations under the License.

sources:
looker-source:
kind: looker
base_url: ${LOOKER_BASE_URL}
client_id: ${LOOKER_CLIENT_ID:}
client_secret: ${LOOKER_CLIENT_SECRET:}
verify_ssl: ${LOOKER_VERIFY_SSL:true}
timeout: 600s
use_client_oauth: ${LOOKER_USE_CLIENT_OAUTH:false}
project: ${LOOKER_PROJECT:}
location: ${LOOKER_LOCATION:}
kind: source
name: looker-source
type: looker
base_url: ${LOOKER_BASE_URL}
client_id: ${LOOKER_CLIENT_ID:}
client_secret: ${LOOKER_CLIENT_SECRET:}
verify_ssl: ${LOOKER_VERIFY_SSL:true}
timeout: 600s
use_client_oauth: ${LOOKER_USE_CLIENT_OAUTH:false}
project: ${LOOKER_PROJECT:}
location: ${LOOKER_LOCATION:}
---
kind: tool
name: ask_data_insights
type: looker-conversational-analytics
source: looker-source
description: |
Use this tool to ask questions about your data using the Looker Conversational
Analytics API. You must provide a natural language query and a list of
1 to 5 model and explore combinations (e.g. [{'model': 'the_model', 'explore': 'the_explore'}]).
Use the 'get_models' and 'get_explores' tools to discover available models and explores.
---
kind: tool
name: get_models
type: looker-get-models
source: looker-source
description: |
get_models Tool

This tool retrieves a list of available LookML models in the Looker instance.
LookML models define the data structure and relationships that users can query.
The output includes details like the model's `name` and `label`, which are
essential for subsequent calls to tools like `get_explores` or `query`.

This tool takes no parameters.
---
kind: tool
name: get_explores
type: looker-get-explores
source: looker-source
description: |
get_explores Tool

tools:
ask_data_insights:
kind: looker-conversational-analytics
source: looker-source
description: |
Use this tool to ask questions about your data using the Looker Conversational
Analytics API. You must provide a natural language query and a list of
1 to 5 model and explore combinations (e.g. [{'model': 'the_model', 'explore': 'the_explore'}]).
Use the 'get_models' and 'get_explores' tools to discover available models and explores.

get_models:
kind: looker-get-models
source: looker-source
description: |
get_models Tool

This tool retrieves a list of available LookML models in the Looker instance.
LookML models define the data structure and relationships that users can query.
The output includes details like the model's `name` and `label`, which are
essential for subsequent calls to tools like `get_explores` or `query`.

This tool takes no parameters.
This tool retrieves a list of explores defined within a specific LookML model.
Explores represent a curated view of your data, typically joining several
tables together to allow for focused analysis on a particular subject area.
The output provides details like the explore's `name` and `label`.

get_explores:
kind: looker-get-explores
source: looker-source
description: |
get_explores Tool

This tool retrieves a list of explores defined within a specific LookML model.
Explores represent a curated view of your data, typically joining several
tables together to allow for focused analysis on a particular subject area.
The output provides details like the explore's `name` and `label`.

Parameters:
- model_name (required): The name of the LookML model, obtained from `get_models`.

toolsets:
looker_conversational_analytics_tools:
- ask_data_insights
- get_models
- get_explores
Parameters:
- model_name (required): The name of the LookML model, obtained from `get_models`.
---
kind: toolset
name: looker_conversational_analytics_tools
tools:
- ask_data_insights
- get_models
- get_explores
Loading
Loading