> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tryprofound.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Usar Looker en Agents

Después de conectar tu cuenta de Looker, las siguientes acciones pasan a estar disponibles como pasos de Agent. Cada paso requiere que selecciones una **Looker Account** conectada en un menú desplegable.

Profound obtiene **resultados de consultas** de Looker (filas de métricas y dimensiones que tu equipo de analítica ya ha modelado), no paneles ni visualizaciones de Looker. Los resultados se devuelven como datos estructurados (normalmente JSON) que los pasos posteriores del agente pueden resumir, comparar o combinar con otras integraciones.

## Acciones disponibles

| Acción | Qué hace |
| - | - |
| **Run Look** | Ejecuta un Look guardado por su ID y devuelve el resultado |
| **Run Inline Query** | Crea y ejecuta una consulta sobre un modelo, un Explore y una lista de campos que especificas en el agente |

<Tabs>
  <Tab title="Run Look" icon="chart-line">
    #### **Run Look**

    Ejecuta un Look guardado de tu instancia de Looker y devuelve el resultado como datos estructurados.

    **Entradas obligatorias**

    * **Looker Account**
    * **Look**: un Look guardado de la cuenta seleccionada. El menú desplegable carga los Looks desde Looker y muestra el título de cada Look con su ID.

    **Entradas opcionales**

    * **Result Format**: el formato que devuelve Looker. El valor predeterminado es `json_bi`, recomendado para los pasos posteriores del agente.
    * **Row Limit**: número máximo de filas que se devuelven.

    **Salida**

    * **Look Results**: un valor JSON que contiene el resultado devuelto por Looker.

    <Callout icon="lightbulb" color="#376CFF">
      **Consejo:** Usa **Run Look** cuando la consulta ya exista como un Look guardado en Looker. Así la lógica de negocio sigue gobernada en Looker, y es la opción más segura para automatizaciones recurrentes del agente.
    </Callout>
  </Tab>

  <Tab title="Run inline query" icon="code">
    #### **Run Inline Query**

    Ejecuta una consulta sobre un modelo y un Explore específicos de Looker con campos, filtros, ordenaciones y opciones de consulta avanzadas.

    **Entradas obligatorias**

    * **Looker Account**
    * **Model**: el nombre del modelo de Looker, como `marketing`
    * **Explore**: el nombre del Explore, como `web_event`
    * **Fields**: campos de Looker separados por comas, como `web_event.date, web_event.unique_users`

    **Entradas opcionales**

    * **Sorts**: ordenaciones separadas por comas, como `web_event.date desc`
    * **Row Limit**: número máximo de filas que se devuelven. El valor predeterminado es `500`.
    * **Result Format**: el valor predeterminado es `json_bi`

    **Entradas avanzadas**

    * **Filter Expression**: expresión de filtro de Looker con la sintaxis `${field}`
    * **Pivots**: campos separados por comas sobre los que pivotar
    * **Subtotals**: campos separados por comas sobre los que calcular subtotales
    * **Fill Fields**: campos separados por comas para los que rellenar filas ausentes, normalmente campos de fecha
    * **Dynamic Fields**: cadena JSON para cálculos de tabla o dimensiones personalizadas
    * **Column Limit**: número máximo de columnas que se devuelven
    * **Total**: si Looker debe incluir totales
    * **Row Total**: tipo de total de fila, como `right`
    * **Query Timezone**: zona horaria IANA opcional, como `America/Los_Angeles`
    * **Server Table Calcs**: si los cálculos de tabla deben ejecutarse en el servidor
    * **Apply Formatting**: si se debe aplicar el formato de Looker al resultado

    **Salida**

    * **Query Results**: un valor JSON que contiene el resultado devuelto por Looker.

    <Callout icon="lightbulb" color="#376CFF">
      **Consejo:** Usa los nombres de los campos exactamente como aparecen en Looker, incluido el prefijo `view.field`. Para los filtros de fecha, usa la sintaxis de filtros de Looker de tu modelo LookML (por ejemplo, `30 days` en un campo de fecha).
    </Callout>
  </Tab>
</Tabs>

***

## Qué datos están disponibles

Los resultados de la consulta dependen del Look o del Explore que ejecutes. En general, Looker devuelve los campos definidos en tu modelo LookML:

| Tipo de dato | Descripción |
| - | - |
| **Dimensiones** | Atributos por los que agrupas o filtras, como fecha, canal, región o producto |
| **Medidas** | Métricas agregadas, como ingresos, número de sesiones, tasa de conversión o usuarios únicos |
| **Filtros y ordenaciones** | Se aplican en el momento de la consulta, ya sea incluidos en un Look guardado o especificados en una consulta en línea |
| **Totales y subtotales** | Totales opcionales de filas o columnas cuando se habilitan en las consultas en línea |

Profound devuelve el resultado de la consulta sin procesar como datos estructurados (normalmente JSON). Tu agente o tu hoja decide qué hacer con él: resumirlo, comparar periodos o pasar filas a otro paso.

## Formatos de resultado compatibles

Ambas acciones admiten varios formatos de resultado de Looker. **`json_bi`** es el formato predeterminado y recomendado para los flujos de trabajo de agentes porque devuelve JSON estructurado que los pasos posteriores pueden analizar de forma fiable.

Otros formatos compatibles: `json`, `csv`, `txt`, `html`, `md`, `xlsx`, `sql`, `png` y `jpg`. Usa formatos que no sean JSON solo cuando un paso posterior necesite explícitamente ese tipo de salida.

## Límites

* **Run Inline Query** devuelve **500 filas** por defecto y admite hasta **5.000 filas** por ejecución.
* **Run Look** admite una anulación opcional del límite de filas de hasta **5.000 filas**.
* Los permisos del usuario de Looker conectado siguen aplicándose: Profound no puede devolver datos a los que el usuario de la API no puede acceder.

***

## Elegir una acción

| Usa **Run Look** cuando… | Usa **Run Inline Query** cuando… |
| - | - |
| La consulta ya está guardada y aprobada en Looker | El agente necesita campos, filtros o intervalos de fechas dinámicos |
| Quieres que Looker siga siendo la fuente de verdad de la lógica de la consulta | Estás creando informes parametrizados dentro del agente |
| Necesitas un informe recurrente sencillo y gobernado | Los pasos anteriores del agente determinan qué métricas obtener |

***

## Casos de uso habituales

* Llevar un Look guardado de tráfico o ingresos a un agente de resumen semanal
* Obtener KPI gobernados de Looker y pasarlos a un paso de generación de contenido
* Ejecutar consultas en línea dinámicas con intervalos de fechas que cambian según las entradas del agente
* Combinar métricas de Looker con datos de otras integraciones en un solo agente
* Importar un Look guardado a una hoja para analizar métricas junto con columnas generadas por el agente

***

## Prácticas recomendadas

* Prefiere `json_bi` para los pasos posteriores del agente, porque devuelve datos estructurados
* Empieza con un Look guardado siempre que sea posible; usa consultas en línea solo cuando el agente necesite lógica dinámica
* Mantén límites de filas ajustados para que los pasos posteriores reciban solo los datos que necesitan
* Asegúrate de que el usuario de Looker conectado tenga acceso a todos los modelos, Explores, campos y Looks que usa el agente

***

## Errores habituales

<AccordionGroup>
  <Accordion title="Selecciona primero una integración">
    El menú desplegable de Look depende de la cuenta de Looker seleccionada. Elige una **Looker Account** antes de seleccionar un Look guardado.
  </Accordion>

  <Accordion title="No se encontraron Looks">
    Es posible que el usuario de Looker conectado no tenga acceso a ningún Look guardado, o que los Looks estén en carpetas a las que el usuario no puede acceder.
  </Accordion>

  <Accordion title="Modelo, Explore o campo no válido">
    Las consultas en línea deben usar los nombres de modelo, Explore y campo de Looker exactamente como existen en Looker.
  </Accordion>

  <Accordion title="Permiso denegado">
    Profound usa el usuario de la API de Looker conectado. Actualiza el rol de Looker, el conjunto de modelos o los permisos de carpeta de ese usuario si el agente no puede acceder a los datos solicitados.
  </Accordion>
</AccordionGroup>
