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"
}
}
}
}
|
Hierarquia
action |
Tipos de campo possíveis
Dimensão, métrica
Valor padrão
Nenhum
Aceita
Vários parâmetros
Regras especiais
|
Definição
O parâmetro action cria uma ação de dados que permite aos usuários realizar tarefas no nível do campo em outras ferramentas diretamente do Looker. Por exemplo, a ação pode fazer com que um e-mail seja enviado, definir valores em outros aplicativos ou realizar qualquer outra ação que você possa configurar um servidor de recebimento para fazer. O servidor de recebimento precisa aceitar um POST JSON.
É possível definir um action para uma dimensão ou uma métrica. Para acessar a ação, selecione o campo dela em uma página de análise detalhada, um Look ou um painel.

Ao definir um action, você especifica o comportamento escolhido usando os seguintes parâmetros:
| Parâmetro | Descrição |
|---|---|
label |
Uma string que especifica o nome da ação como vai aparecer para os usuários no menu "Ação". |
url |
Uma string que especifica o URL para processar a ação. Se uma lista de permissões de URL para ações de dados for especificada, adicione esse valor url à lista. Somente URLs que correspondem ao padrão da lista de permissões são permitidos para qualquer ação de dados. Se não houver entradas, todos os URLs serão permitidos para ações de dados. |
icon_url |
Uma string que especifica um URL que contém um arquivo de imagem para facilitar a compreensão dos usuários, de relance, de onde esse link vai direcionar. O valor icon_url precisa estar acessível ao navegador do usuário. |
form_url |
Uma string que especifica um URL que vai retornar um formulário para apresentar aos usuários. O formulário precisa ser apresentado em formato JSON, conforme descrito na seção Especificar o comportamento do formulário usando form_url ou form_param nesta página. O form_url precisa estar acessível ao servidor do Looker e usar HTTPS com um certificado válido. |
param |
Transmite um valor ao servidor de recebimento. |
form_param |
Adiciona uma entrada de formulário que será exibida para essa ação. |
user_attribute_param |
Transmite um atributo do usuário ao servidor de recebimento. Adicione o valor url da ação de dados à lista de permissões de URL para ações de dados se você estiver usando um user_attribute_param para sua ação de dados. |
Assim como uma ação de dados, você também pode usar uma ação no nível do campo disponível no Action Hub do Looker para enviar dados de uma célula específica. Consulte a seção Considere usar o Action Hub do Looker nesta página para mais informações sobre essa opção.
Passar atributos do usuário para o servidor de recebimento usando user_attribute_param
É possível enviar atributos do usuário ao servidor de recebimento usando o parâmetro user_attribute_param. Em cada user_attribute_param, especifique os seguintes subparâmetros:
| Parâmetro | Tipo | Descrição |
|---|---|---|
user_attribute |
ID do Looker | O nome do atributo do usuário no Looker |
name |
String | O nome do atributo como você quer que ele apareça no payload JSON. |
Como transmitir valores ao servidor de recebimento usando param
É possível enviar dados arbitrários no payload JSON usando o parâmetro param. Em cada param, especifique os seguintes subparâmetros:
| Parâmetro | Tipo | Descrição |
|---|---|---|
name |
String | Nome de um parâmetro a ser transmitido ao servidor de recebimento. |
value |
String | Valor de um parâmetro a ser transmitido para o servidor de recebimento. |
Não transmita dados sensíveis ou informações particulares, como credenciais de usuário, no parâmetro
param. Em vez disso, configure as credenciais do usuário como um atributo de usuário nas configurações de administrador e transmita essas informações no parâmetrouser_attribute_param.
Especificar o comportamento do formulário usando form_url ou form_param
Você pode criar um formulário para os usuários do Looker interagirem e enviar as entradas no payload JSON. Se você mostrar um formulário, ele vai aparecer como uma sobreposição na página (Análise detalhada, Look ou painel) em que a ação foi acionada. É possível fazer isso com o parâmetro form_url ou form_param.
Se você quiser que o servidor do hub de ações defina o layout do formulário, use o parâmetro form_url. O form_url precisa conter um URL que retorne uma representação JSON do formulário, conforme descrito mais adiante nesta página.
Se você quiser definir o layout do formulário diretamente no LookML, use o parâmetro form_param.
Opções de formulário
Em ambos os casos, as opções possíveis que você pode usar para definir o formulário são:
| Opção | Tipo | Descrição |
|---|---|---|
name |
String | O nome do valor como vai aparecer no payload JSON |
type |
Tipo de entrada | O tipo de campo de formulário que será exibido para o usuário:
|
label |
String | O rótulo da entrada como vai aparecer para os usuários |
description |
String | Uma descrição do campo que vai aparecer para os usuários |
required |
Booleano | Especifica se a opção de formulário precisa ser fornecida pelo usuário antes do envio. |
default |
String | O valor inicial do campo do formulário, se houver |
option |
String | Se você escolher um type de select, defina as opções de seleção aqui. |
Se você definir type como select, especifique os itens na lista suspensa usando option. Cada option inclui os seguintes detalhes:
| Opção | Tipo | Descrição |
|---|---|---|
name |
String | Nome do valor do formulário como ele vai aparecer no payload JSON |
label |
String | O rótulo da opção como vai aparecer para os usuários (opcional) |
Usar uma ação de dados sem um formulário
Se você não incluir um parâmetro form_url ou form_param na definição de action, a ação de dados não vai incluir um formulário. Nesse caso, a ação envia uma solicitação quando um usuário a seleciona no menu Ações.
Depois que uma ação sem um formulário é selecionada, o menu Ações mostra ícones à esquerda da ação para indicar o estado dela:
- Um ícone de carregamento aparece, mostrando que a ação está sendo executada.

- Uma marca de seleção aparece, mostrando que a ação foi executada.

- Um i circulado aparece, indicando que a ação falhou.

Se nenhum ícone aparecer à esquerda de uma ação, ela não foi acionada.
Respostas do servidor
Uma resposta HTTP bem-sucedida será considerada uma ação bem-sucedida.
O servidor também pode transmitir algumas opções de volta ao Looker sobre o sucesso da ação. Se a solicitação do webhook responder com JSON, o Looker vai procurar uma chave looker especial na resposta. Todo o resto é ignorado. Por exemplo, em:
{
"my_apps_business_logic": "something",
"looker": {
"success": true,
"refresh_query": true
}
}
Aqui, success usa true como padrão, e definir success como false indica no Looker que a solicitação falhou. Além disso, refresh_query tem como padrão false, e defini-lo como true vai executar novamente a consulta atual do Looker, ignorando o cache.
Também é possível responder com erros de validação para qualquer parâmetro de formulário transmitido:
{
"looker": {
"success": false,
"validation_errors": {
"body": "Body must be more than 10 characters long."
}
}
}
Aqui, o padrão de validation_errors é {}. Esse precisa ser um objeto JSON em que as chaves são os nomes dos parâmetros do formulário e o valor é uma string que representa uma mensagem de erro para esse parâmetro.
Exemplos
Se você usar o parâmetro form_url (com a sintaxe Liquid neste exemplo), todas as opções precisarão ser retornadas em um objeto JSON. Exemplo:
dimension: foo {
action: {
label: "Send a Thing"
url: "https://example.com/ping/\{{ value \}}"
form_url: "https://example.com/ping/\{{ value \}}/form.json"
}
}
O servidor precisa retornar uma representação JSON de um formulário que corresponda ao 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",
}
]
Se você usar o parâmetro form_param, as opções serão usadas como parâmetros do LookML. Exemplo:
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"
}
Considere usar a central de ações do Looker
O parâmetro action é uma boa opção se você ainda não tem um servidor configurado para receber suas solicitações de ação ou se quer implementar um caso de uso com capacidade de reutilização limitada. No entanto, como alternativa, considere usar as ações no nível do campo disponíveis no hub de ações do Looker. Verifique se a instância atende a estes requisitos do Action Hub do Looker.
Além das integrações atuais do Action Hub do Looker, você também pode criar sua própria ação personalizada seguindo as instruções na página de documentação do Action Hub.