Skip to main content
A sintaxe avançada é a linguagem de template que a Olie aceita nos campos que recebem expressão. Esses campos incluem as mensagens e os campos das automações, o corpo customizado de webhook e o prompt dos assistentes de etapa. Com ela, um texto fixo passa a usar os dados do projeto: você insere variáveis, mostra um trecho conforme uma condição, percorre listas e busca dados com a função query. Esta página é a referência da linguagem. Para saber quais dados cada automação recebe, veja Variáveis nas automações.

Conceitos-chave

Variáveis dinâmicas

Acesse dados com chaves delimitadas por {{ ... }}.Exemplos:
  • {{ project.name }}
  • {{ project.customer.name }}
  • {{ user.email }}

Condicionais (if/else)

Mostre conteúdos diferentes conforme uma condição.

Loops (for)

Percorra uma lista e repita um trecho para cada item.

Filtros

Transforme um valor antes de exibi-lo.Exemplos:
  • {{ project.name|upper }}
  • {{ project.created_at|date("d/m/Y") }}
  • {{ project.users|length }}

Variáveis dinâmicas

Uma variável insere no texto um dado do contexto, como o nome do projeto ou do cliente.

Sintaxe básica

Resultado:

Verificação de existência

Nem toda variável existe em todo contexto. A variável user, por exemplo, só existe quando uma pessoa disparou a automação. Para evitar erro, verifique a variável com is defined antes de usá-la:

Condicionais

Uma condicional mostra um trecho ou outro conforme o valor de um dado.

Estrutura if/else

Operadores de comparação

Os operadores abaixo servem dentro de if e elseif:

Loops (for)

Um laço (for) percorre uma lista e repete um trecho para cada item.

Estrutura básica

As etiquetas não vêm no contexto, então o exemplo as busca com query antes do laço:
Resultado:

Loops com ranges

Um range, como 1..5, gera uma sequência numérica para o laço percorrer:
Resultado:

Filtros

Um filtro transforma um valor antes de exibi-lo. Ele vem depois de uma barra vertical (|), e vários filtros podem ser encadeados.

Sintaxe de filtros

Outros filtros úteis

Estes filtros completam a lista:
Transforma um usuário, ou uma lista de usuários, em menção.
Saiba mais sobre menções →
Define um valor padrão se a variável for vazia.
Escapa caracteres especiais para segurança.
Converte para JSON. Serve para inspecionar um dado no registro de execução e para devolver uma lista em campos que esperam lista.

Funções de consulta

Nem tudo que você precisa está disponível no contexto. A função query busca o que falta, direto da plataforma, no meio da expressão.

Sintaxe

O retorno é uma estrutura de dados, não um texto — por isso query quase sempre vem com set:

Consultas disponíveis

A tabela lista as consultas, os parâmetros de cada uma e o que elas devolvem:

Exemplos

Etiquetas não vêm carregadas no contexto — é preciso buscá-las:

Cuidados

Cada expressão pode executar no máximo 50 consultas. Um query dentro de um laço conta uma vez por iteração — cuidado ao consultar dentro de for.
O retorno é nulo. Proteja antes de usar:
Um nome de consulta que não existe, ou a falta de um parâmetro obrigatório, interrompe a expressão e registra template_error. O registro de execução mostra a mensagem. Corrija o nome ou o parâmetro conforme a tabela de consultas disponíveis.
As consultas são resolvidas sempre dentro da sua própria conta — não há como acessar dados de outra. E a mesma consulta, com os mesmos parâmetros, é reaproveitada em vez de repetida.

Variáveis nas automações

O que já vem carregado no contexto de uma automação — e, portanto, dispensa query.

Formulários dinâmicos e o pivot

O que é o pivot, por que ele muda de formato e como descobrir o endereço certo.

Como funciona o mecanismo

A sintaxe avançada é baseada no Twig, uma linguagem de templates. A Olie roda as expressões em um ambiente controlado: só um conjunto conhecido de blocos, filtros e funções é permitido, e há limites de laço, consultas e tempo. Os valores estão em Limites do mecanismo. A documentação oficial do Twig explica a linguagem em detalhe. Um recurso do Twig que não aparece nesta página pode não estar liberado na Olie.

Documentação do Twig

A referência completa da linguagem Twig.