Uso
view: view_name {
dimension: field_name {
action: {
label: "Label to Appear in Action Menu"
url: "https://example.com/posts"
icon_url: "https://looker.com/favicon.ico"
form_url: "https://example.com/ping/{{ value }}/form.json"
param: {
name: "name string"
value: "value string"
}
form_param: {
name: "name string"
type: textarea | string | select
label: "possibly-localized-string"
option: {
name: "name string"
label: "possibly-localized-string"
}
required: yes | no
description: "possibly-localized-string"
default: "string"
}
user_attribute_param: {
user_attribute: user_attribute_name
name: "name_for_json_payload"
}
}
}
}
|
Jerarquía
action |
Tipos de campos posibles
Dimensión, medida
Valor predeterminado
Ninguno
Acepta
Varios parámetros
Reglas especiales
|
Definición
El parámetro action crea una acción de datos que permite a los usuarios realizar tareas a nivel del campo en otras herramientas, directamente desde Looker. Por ejemplo, la acción puede hacer que se envíe un correo electrónico, establecer valores en otras aplicaciones o realizar cualquier otra acción que puedas configurar para que la ejecute un servidor receptor. El servidor receptor debe poder aceptar una solicitud POST de JSON.
Puedes definir un action para una dimensión o una métrica. Para acceder a la acción, selecciona su campo cuando estés en una página de Explorar, un Look o un panel.

Cuando defines un action, especificas el comportamiento elegido con los siguientes parámetros:
| Parámetro | Descripción |
|---|---|
label |
Es una cadena que especifica el nombre de la acción tal como aparecerá para los usuarios en el menú de acciones. |
url |
Es una cadena que especifica la URL para procesar la acción. Si se especifica una lista de URLs permitidas para las acciones de datos, debes agregar este valor de url a la lista de entidades permitidas. Solo se permiten las URLs que coincidan con el patrón de la lista de entidades permitidas para cualquier acción de datos. Si no hay entradas existentes, se permiten todas las URLs para las acciones de datos. |
icon_url |
Es una cadena que especifica una URL que contiene un archivo de imagen para que los usuarios comprendan de un vistazo a dónde los dirigirá este vínculo. El valor de icon_url debe ser accesible para el navegador del usuario. |
form_url |
Es una cadena que especifica una URL que devolverá un formulario para presentar a los usuarios. El formulario debe presentarse en formato JSON, como se describe en la sección Cómo especificar el comportamiento del formulario con form_url o form_param de esta página. Se debe poder acceder al form_url desde el servidor de Looker y debe usar HTTPS con un certificado válido. |
param |
Pasa un valor al servidor receptor. |
form_param |
Agrega una entrada de formulario que se mostrará para esta acción. |
user_attribute_param |
Pasa un atributo del usuario al servidor receptor. Si usas un user_attribute_param para tu acción de datos, debes agregar el valor url de la acción de datos a la lista de entidades permitidas de URLs para acciones de datos. |
Al igual que con una acción de datos, también puedes usar una acción a nivel del campo disponible en Looker Action Hub para enviar datos desde una celda específica. Consulta la sección Considera usar el Action Hub de Looker en esta página para obtener más información sobre esta opción.
Cómo pasar atributos del usuario al servidor receptor con user_attribute_param
Puedes enviar atributos del usuario al servidor receptor con el parámetro user_attribute_param. Dentro de cada user_attribute_param, especificarás los siguientes subparámetros:
| Parámetro | Tipo | Descripción |
|---|---|---|
user_attribute |
ID de Looker | El nombre del atributo del usuario en Looker |
name |
String | Nombre del atributo tal como quieres que aparezca en la carga útil de JSON |
Cómo pasar valores al servidor receptor con param
Puedes enviar datos arbitrarios en tu carga útil JSON con el parámetro param. Dentro de cada param, especificarás los siguientes subparámetros:
| Parámetro | Tipo | Descripción |
|---|---|---|
name |
String | Nombre de un parámetro para pasar al servidor receptor |
value |
String | Valor de un parámetro para pasar al servidor receptor |
No pases datos sensibles ni información privada, como credenciales de usuario, en el parámetro
param. En su lugar, configura las credenciales del usuario como un atributo del usuario en la configuración del administrador y pasa esta información en el parámetrouser_attribute_param.
Cómo especificar el comportamiento del formulario con form_url o form_param
Puedes crear un formulario para que los usuarios de Looker interactúen con él y, luego, enviar la entrada del formulario en tu carga útil de JSON. Si muestras un formulario, aparecerá como una superposición en la página (Explorar, Mirar o panel) en la que se activó la acción. Puedes hacerlo con el parámetro form_url o el parámetro form_param.
Si quieres que tu servidor del centro de acciones defina el diseño del formulario, usa el parámetro form_url. El parámetro form_url debe contener una URL que muestre una representación JSON del formulario, como se describe más adelante en esta página.
Si deseas definir el diseño del formulario directamente en LookML, usa el parámetro form_param.
Opciones del formulario
En ambos casos, las opciones posibles que puedes usar para definir el formulario son las siguientes:
| Opción | Tipo | Descripción |
|---|---|---|
name |
String | Nombre del valor tal como aparecerá en la carga útil de JSON |
type |
Tipo de entrada | Es el tipo de campo de formulario que se mostrará al usuario:
|
label |
String | Es la etiqueta de la entrada tal como aparecerá para los usuarios. |
description |
String | Es una descripción del campo que aparecerá para los usuarios. |
required |
Booleano | Especifica si el usuario debe proporcionar la opción del formulario antes de enviarlo. |
default |
String | Valor inicial del campo del formulario, si existe |
option |
String | Si eliges un type de select, define las opciones de selección aquí. |
Si configuras type como select, debes especificar elementos en la lista desplegable con option. Cada option incluye los siguientes detalles:
| Opción | Tipo | Descripción |
|---|---|---|
name |
String | Nombre del valor del formulario tal como aparecerá en tu carga útil de JSON |
label |
String | Etiqueta de la opción tal como aparecerá para los usuarios (opcional) |
Cómo usar una acción de datos sin un formulario
Si no incluyes un parámetro form_url o form_param en tu definición de action, la acción de datos no incluirá un formulario. En ese caso, la acción envía una solicitud cuando un usuario la selecciona en el menú Acciones.
Después de seleccionar una acción sin formulario, el menú Acciones muestra íconos a la izquierda de la acción para indicar su estado:
- Aparece un ícono de carga que indica que se está ejecutando la acción.

- Aparecerá una marca de verificación que indica que se ejecutó la acción.

- Aparece una i con un círculo, lo que indica que la acción falló.

Si no aparece ningún ícono a la izquierda de una acción, significa que no se activó.
Respuestas del servidor
Una respuesta HTTP correcta se considerará una acción exitosa.
El servidor también puede pasar algunas opciones a Looker sobre el éxito de la acción. Si la solicitud de webhook responde con JSON, Looker busca una clave looker especial en la respuesta. Se ignorará todo lo demás. Por ejemplo, en:
{
"my_apps_business_logic": "something",
"looker": {
"success": true,
"refresh_query": true
}
}
Aquí, success se establece de forma predeterminada en true, y establecer success en false indicará en Looker que la solicitud falló. Además, refresh_query se establece de forma predeterminada en false, y si se establece en true, se volverá a ejecutar la consulta actual de Looker sin usar la caché.
También puedes responder con errores de validación para cualquier parámetro de formulario que se haya pasado:
{
"looker": {
"success": false,
"validation_errors": {
"body": "Body must be more than 10 characters long."
}
}
}
Aquí, validation_errors se establece de forma predeterminada en {}. Debe ser un objeto JSON en el que las claves son los nombres de los parámetros del formulario y el valor es una cadena que representa un mensaje de error para ese parámetro.
Ejemplos
Si usas el parámetro form_url (con sintaxis de Liquid en este ejemplo), todas las opciones se deben devolver en un objeto JSON. Por ejemplo:
dimension: foo {
action: {
label: "Send a Thing"
url: "https://example.com/ping/\{{ value \}}"
form_url: "https://example.com/ping/\{{ value \}}/form.json"
}
}
El servidor debe devolver una representación JSON de un formulario que coincida con LookML:
[
{
"name": "title",
"type": "select",
"label": "desired label name",
"description": "description text",
"required": true,
"default": "value string",
"options": [
{
"name": "name string"
"label": "desired label name"
},
{
"name": "name string"
"label": "desired label name"
}
]
},
{
"name": "title",
"type": "textarea",
"label": "desired label name",
"description": "description text",
"required": true,
"default": "value string",
}
]
Si usas el parámetro form_param, las opciones se usan como parámetros de LookML. Por ejemplo:
form_param: {
name: "title"
type: select
label: "desired label name"
option: {
name: "name string"
label: "desired label name"
}
required: yes
description: "description text"
default: "value string"
}
Considera usar el Action Hub de Looker
El parámetro action es una buena opción si aún no tienes un servidor configurado para recibir tus solicitudes de acción o si deseas implementar un caso de uso que tenga una reutilización limitada. Sin embargo, como alternativa, puedes considerar usar las acciones a nivel del campo que están disponibles en el Centro de acciones de Looker. (Asegúrate de que tu instancia cumpla con estos requisitos del Action Hub de Looker).
Además de las integraciones existentes de Action Hub de Looker, también puedes crear tu propia acción personalizada siguiendo las instrucciones de la página de documentación de Action Hub.