Regras de automação

As regras de automação são usadas para acionar alterações automáticas com base em ações do usuário (por exemplo, aplicar uma modificação quando um campo é definido com um valor específico), eventos de e-mail, condições de tempo (por exemplo, arquivar um registro 7 dias após a última atualização) ou eventos externos.

Para criar uma regra de automação com o Estúdio, proceda da seguinte forma:

  1. Abra o Estúdio e clique em Automações e, em seguida, em Novo.

  2. Selecione Disparo e, se necessário, preencha os campos que aparecem na tela com base no acionador escolhido.

  3. Clique em Adicionar uma ação, depois selecione o Tipo de ação e preencha os campos que aparecem na tela com base na ação selecionada.

  4. Clique em Salvar e Fechar ou Salvar e Novo.

Example

Exemplo de uma ação automatizada no modelo de assinatura

Dica

  • Para modificar o modelo da regra de automação, troque os modelos antes de clicar em Automações no Estúdio, ou ative o modo de desenvolvedor, crie ou edite uma regra de automação e selecione a opção Modelo no formulário Regras de automação.

  • Também é possível criar regras de automação a partir de qualquer estágio do Kanban clicando no ícone de engrenagem ( ) ao lado do nome do estágio e, em seguida, selecionando Automações. Nesse caso, por padrão o Disparo é Estágio definido como, mas você pode alterá-lo, se necessário.

    Criar automações a partir de uma etapa do Kanban

Disparo

O Disparo é usado para definir quando a regra de automação deve ser aplicada. Os acionadores disponíveis dependem do modelo. Cinco categorias de acionadores estão disponíveis no total:

Dica

Você também pode definir um Antes da atualização do domínio para especificar as condições que devem ser atendidas antes de a regra de automação ser acionada. Por outro lado, as condições definidas pelos filtros de Condições adicionais e Aplicar em são verificadas durante a execução da regra de automação.

Para definir Antes da atualização do domínio, ative o modo de desenvolvedor, crie ou edite uma regra de automação, clique em Editar domínio e, em seguida, clique em Nova regra.

Por exemplo, se você quiser que a ação automatizada ocorra quando um endereço de e-mail for definido em um contato que não tinha um endereço antes (em contraste com a modificação do endereço existente), defina o domínio Antes da atualização do domínio como O e-mail não está definido e o domínio Aplicar em como O e-mail está definido.

Exemplo de um acionador com "Antes da atualização do domínio"

Valores atualizados

Os disparos disponíveis nessa categoria dependem do modelo e são baseados em alterações comuns de campo, como a adição de um marcador específico (por exemplo, a uma tarefa) ou a configuração do campo Usuário. Selecione o disparo e, em seguida, selecione um valor, se necessário.

Exemplo de um disparo "Valores atualizados"

Eventos de e-mail

Acionar ações automatizadas ao receber ou enviar e-mails.

Condições de tempo

Acione ações automatizadas com base em um campo de data. Os seguintes disparos estão disponíveis:

  • Com base no campo de data: Selecione o campo a usar ao lado do campo Atraso.

  • Após a criação: A ação é acionada quando um registro é criado e salvo.

  • Após a última atualização: A ação é acionada quando um registro existente é editado e salvo.

Você pode então definir:

  • Atraso: Especifique o número de minutos, horas, dias ou meses. Para acionar a ação antes da data do disparo, especifique um número negativo. Se você tiver selecionado o acionador Com base no campo de data, também deverá selecionar o campo de data a ser usado para determinar o atraso.

  • Condições adicionais: Clique em Adicionar condição e, em seguida, especifique as condições a serem atendidas para acionar a regra de automação. Clique em Nova regra para adicionar outra condição.

A ação é acionada quando o atraso é atingido e as condições são atendidas.

Example

Se você quiser enviar um e-mail de lembrete 30 minutos antes do início de um evento de calendário, selecione Início (Evento do calendário) em Data de disparo e defina Atraso como -30 Minutos.

Exemplo de um disparo baseado no campo de data

Nota

Por padrão, o agendador verifica as datas de disparo a cada 4 horas, o que significa que a granularidade mais baixa em automações baseadas em tempo nem sempre pode ser honrada.

Personalizar

Acionar ações automatizadas:

  • Ao salvar: Quando o registro é salvo;

  • Ao excluir: Quando um registro é excluído;

  • Ao alterar a IU: Quando o valor de um campo é alterado na Visualização do formulário, mesmo antes de salvar o registro.

Para os disparos Ao salvar e Ao alterar a IU, você deve então selecionar o(s) campo(s) a ser(em) usado(s) para acionar a regra de automação no campo Ao atualizar.

Aviso

Se nenhum campo for selecionado no campo Ao atualizar, a ação automatizada poderá ser executada várias vezes por registro.

Opcionalmente, você também pode definir condições adicionais a serem atendidas para acionar a regra de automação no campo Aplicar em.

Nota

O disparo Ao alterar a IU só pode ser usado com a ação Executar código e só funciona quando uma modificação é feita manualmente. A ação não será executada se o campo for alterado por outra regra de automação.

Externo

Acione ações automatizadas com base em um evento externo usando webhooks. Um webhook é um método de comunicação entre dois sistemas em que o sistema de origem envia uma solicitação HTTP(S) a um sistema de destino com base em um evento específico; geralmente inclui uma carga de dados que contém informações sobre o evento ocorrido.

Para configurar o disparo Por webhook, copie o URL gerado pelo Odoo no sistema de destino (ou seja, o sistema que está recebendo a solicitação). Em seguida, no campo Registro-alvo, digite o código a ser executado para definir o(s) registro(s) a ser(em) atualizado(s) pela regra de automação.

Aviso

O URL deve ser tratado como confidencial; compartilhá-lo on-line ou sem cautela pode expor seu sistema a partes mal-intencionadas. Clique no botão Alternar segredo para alterar o segredo do URL, se necessário.

Nota

  • O código definido por padrão no campo Registro-alvo funciona para webhooks provenientes de outro base de dados Odoo. Ele é usado para determinar o(s) registro(s) a ser(em) atualizado(s) pelas informações na carga útil.

  • Se quiser usar o conteúdo do webhook para uma finalidade diferente de localizar o(s) registro(s) (por exemplo, para criar um registro), sua única opção é usar uma ação Executar código. Nesse caso, o campo Registro-alvo deve conter qualquer código válido, mas seu resultado não tem nenhum efeito sobre a ação automatizada em si.

  • O conteúdo do webhook está disponível no contexto da ação do servidor como uma variável Carga útil (ou seja, um dicionário que contém os parâmetros GET ou o corpo JSON POST da solicitação de entrada).

Você também pode optar por Registrar chamadas para registrar as cargas úteis recebidas, por exemplo, para garantir que os dados enviados pelo sistema de origem correspondam ao formato e ao conteúdo esperados. Isso também ajuda a identificar e diagnosticar problemas que possam surgir. Para acessar os registros, clique no botão inteligente Registros na parte superior do formulário Regras de automação.

Ações

Depois de definir o disparo da regra de automação, clique em Adicionar uma ação para definir a ação a ser executada.

Dica

Você pode definir várias ações para a mesma regra de automação/disparo. As ações são executadas na ordem em que são definidas. Isso significa, por exemplo, que se você definir uma ação Atualizar registro e, em seguida, uma ação Enviar e-mail, o e-mail usará os valores atualizados. No entanto, se a ação Enviar e-mail for definida antes da ação Atualizar registro, o e-mail usará os valores definidos antes de a ação de atualização ser executada.

Atualizar registro

Essa ação permite atualizar um dos campos (relacionados) do registro. Clique no campo Atualizar e, na lista que se abre, selecione ou pesquise o campo a ser atualizado; clique na seta para a direita ao lado do nome do campo para acessar a lista de campos relacionados, se necessário.

Se você selecionou um campo many2many, escolha se o campo deve ser atualizado ao Adicionar, Remover ou Definir como o valor selecionado, ou ainda ao Limpar.

Example

Se quiser que a ação automatizada remova um marcador do registro do cliente, defina o campo Atualização como Cliente > Marcadores, selecione Ao remover e, em seguida, selecione o marcador.

Exemplo de uma ação de atualização de registro

Dica

Como alternativa, também é possível definir o campo de um registro dinamicamente usando código Python. Para fazer isso, selecione Calcular em vez de Atualizar e, em seguida, insira o código a ser usado para calcular o valor do campo. Por exemplo, se quiser que a regra de automação calcule um campo data e hora personalizado quando a prioridade de uma tarefa for definida como Alta (ao marcar a tarefa como estrela), você poderá definir o disparo Prioridade está definida como como Alta e definir a ação Atualizar registro da seguinte forma:

Calcular um campo 'data e hora' personalizado com uma expressão Python

Criar atividade

Essa ação é usada para agendar uma nova atividade vinculada ao registro. Selecione um Tipo de atividade, digite um Título e uma descrição e, em seguida, especifique quando deseja que a atividade seja agendada no campo Vencimento em e selecione um Tipo de usuário:

  • Para atribuir a atividade sempre ao mesmo usuário, selecione Usuário específico e adicione o usuário no campo Responsável;

  • Para direcionar um usuário vinculado ao registro dinamicamente, selecione Usuário dinâmico (com base no registro) e altere o Campo do usuário, se necessário.

Example

Depois que um lead virar uma oportunidade, você quer que a ação automatizada configure uma chamada para o usuário responsável pelo lead. Para isso, defina o Tipo de atividade como Ligação e o Tipo de usuário como Usuário dinâmico (com base no registro).

Exemplo de uma ação Criar atividade

Enviar e-mail e enviar SMS

Essas ações são usadas para enviar um e-mail ou uma mensagem de texto a um contato vinculado a um registro específico. Para fazer isso, selecione ou crie um Modelo de e-mail ou um Modelo de SMS e, em seguida, no campo Enviar e-mail como ou Enviar SMS como, escolha como prefere enviar o e-mail ou a mensagem de texto:

  • E-mail: para enviar a mensagem como um e-mail para os destinatários do Modelo de e-mail.

  • Mensagem: para publicar a mensagem no registro e notificar os seguidores do registro.

  • Nota: para enviar a mensagem como uma nota interna visível para usuários internos no chatter.

  • SMS (sem nota): para enviar a mensagem como uma mensagem de texto para os destinatários do Modelo de SMS.

  • SMS (com nota): para enviar a mensagem como uma mensagem de texto para os destinatários do Modelo de SMS e publicá-la como uma nota interna no chatter.

  • Somente nota: para publicar a mensagem apenas como uma nota interna no chatter.

Adicionar e remover seguidores

Use essas ações para inscrever ou cancelar a inscrição de contatos existentes no registro.

Criar registro

Essa ação é usada para criar um novo registro em qualquer modelo.

Selecione o modelo necessário no campo Registro a criar; por padrão, ele contém o modelo atual. Especifique um Nome para o registro e, em seguida, se quiser criar o registro em outro modelo, selecione um campo no campo Vincular campo para vincular o registro que acionou a criação do novo registro.

Nota

A lista suspensa relacionada ao campo Vincular campo contém apenas campos one2many existentes no modelo atual que estão vinculados a um campo many2one no modelo de destino.

Dica

É possível criar outra regra de automação com as ações Atualizar registro para atualizar os campos do novo registro, se necessário. Por exemplo, você pode usar uma ação Criar registro para criar uma nova tarefa de projeto e, em seguida, atribuí-la a um usuário específico usando a ação Atualizar registro.

Executar código

Essa ação é usada para executar o código Python. Você pode escrever o código na aba Código usando as seguintes variáveis:

  • env: ambiente no qual a ação é acionada

  • model: modelo do registro no qual a ação é acionada; é um conjunto de registros vazio

  • record: registro no qual a ação é acionada; pode ser nulo

  • records: conjunto de registros nos quais a ação é acionada no modo múltiplo; pode ser deixado em branco

  • time, datetime, dateutil, timezone: bibliotecas Python úteis

  • float_compare: função utilitária para comparar valores de float com base em uma precisão específica

  • log(message, level='info'): função de registro para registrar informações de depuração na tabela ir.logging

  • _logger.info(message): registrador para emitir mensagens nos registros do servidor

  • UserError: classe de exceção para gerar mensagens de aviso voltadas para o usuário

  • Command: espaço de nome dos comandos x2many

  • action = {...}: para retornar uma ação

Dica

As variáveis disponíveis são descritas nas abas Código e Ajuda.

Enviar notificação de Webhook

Essa ação permite enviar uma solicitação POST com os valores dos Campos para o URL especificado no campo URL.

A Amostra de carga fornece uma visualização dos dados incluídos na solicitação usando dados de um registro aleatório ou dados fictícios, se não houver registro disponível.

Executar ações existentes

A ação é usada para disparar várias ações (vinculadas ao modelo atual) ao mesmo tempo. Para fazer isso, clique em Adicionar uma linha e, em seguida, na janela pop-up Adicionar: Ações secundárias”, selecione uma ação existente ou clique em :guilabel:`Novo para criar uma nova.