Automações
Uma automação é uma sequência de ações que roda quando o usuário clica em um botão. É assim que o workflow "faz coisas": salvar dados, ir para outra página, chamar uma API ou criar uma atividade na plataforma.
Como funciona
- Adicione um componente Botão na página.
- Com o botão selecionado, abra a aba Ações.
- Crie (ou escolha) uma automação e adicione as ações que ela deve executar.
As ações rodam em ordem, de cima para baixo. Um mesmo botão pode encadear várias — por exemplo: criar atividade → mostrar sucesso → navegar para outra página.
URLs, corpos, cabeçalhos e valores das ações aceitam expressões {{ }}.
Assim você monta uma chamada usando o que o usuário digitou: {{ $form.Nome }}.
As ações disponíveis
| Ação | Para que serve |
|---|---|
| Enviar | Salva as respostas do formulário |
| Navegar | Leva o usuário para outra página |
| Requisição HTTP | Chama uma API externa ou interna |
| Criar atividade | Cria uma atividade (projeto/tarefa/subtarefa) na plataforma |
| Finalizar atividade | Encerra uma atividade existente |
Enviar
Salva as respostas preenchidas na página (o "submit" do formulário).
- Tem uma opção Mostrar sucesso: quando ligada, o usuário vê uma tela de confirmação após enviar.
Se Mostrar sucesso estiver desligado, o envio acontece sem nenhuma confirmação visível — o usuário pode achar que "não fez nada" e clicar de novo. Ligue essa opção, ou navegue para uma página de "obrigado" logo depois.
Navegar
Leva o usuário para outra página do workflow. É o mesmo comportamento descrito em Páginas e navegação — a ação de navegar dentro de uma automação aponta para a página de destino.
Requisição HTTP
Chama uma API. Você configura:
- Método:
GET,POST,PATCH,PUTouDELETE. - URL: o endereço da API (aceita
{{ }}). - Cabeçalhos e parâmetros de query: pares de chave/valor (os valores aceitam
{{ }}). - Corpo: enviado como JSON (aceita
{{ }}). - Usar autenticação de sessão: ligue para chamar APIs internas que exigem o login do usuário.
Para acompanhar o resultado:
- Mostrar carregando, toast de sucesso e toast de erro (com mensagens personalizáveis).
- Condição de sucesso: define o que conta como "deu certo" — por código de
status (ex.:
200) ou por um campo do corpo da resposta (igual/diferente de um valor esperado). - Há um botão Testar para experimentar a chamada e ver a resposta antes de publicar.
Criar atividade
Esta é a ação mais poderosa — e a que mais causa erros. Leia com atenção.
Cria uma atividade na plataforma (a "árvore": projeto → épico → história → tarefa → subtarefa). O endereço é automático — você só precisa preencher o corpo (JSON).
Campos obrigatórios (no caso mais comum)
Para criar uma subtarefa, normalmente você precisa de:
- Um projeto —
projectName(ouprojectId). - O nome da subtarefa —
subtaskName. - Uma regra —
ruleName(ouruleId). - Um card —
cardName+cardLevel(oucardId). - As datas —
startDate,durationeeffort.
cardName exige cardLevelSe você identificar o card pelo nome (cardName), precisa enviar também o
cardLevel (ex.: Ouro) — caso contrário a criação falha. Se usar cardId, o nível
não é necessário.
Sempre que possível, use o nome (projectName, cardName, ruleName) em vez do
id. Nomes são mais fáceis de acertar — e evitam o erro clássico de colar um id de
algo que foi desativado ou excluído.
startDate precisa ser um timestamp UnixO startDate tem que ser um timestamp Unix em milissegundos (um número, como
1782760658000), e não uma data como 01/07/2026. Foi exatamente para isso que a
função NOW() existe — ela devolve o instante atual
nesse formato. Você pode usar {{ NOW() }} para "agora".
Exemplo mínimo
[
{
"projectName": "Projeto de Vendas",
"ruleName": "MENSAGEM ATIVIDADE",
"cardName": "WorkPlayer",
"cardLevel": "Ouro",
"subtaskName": "Ligar para o cliente",
"startDate": 1782760658000,
"duration": 1,
"effort": 1
}
]
Para usar valores que o usuário digitou, coloque expressões dentro dos textos:
[
{
"projectName": "Projeto de Vendas",
"ruleName": "MENSAGEM ATIVIDADE",
"cardName": "WorkPlayer",
"cardLevel": "Ouro",
"subtaskName": "{{ $form.Titulo_da_Tarefa }}",
"startDate": {{ NOW() }},
"duration": 1,
"effort": 1
}
]
Erros mais comuns
- O card informado não existe (ou ainda não foi criado). Confira o nome/id.
- A regra informada não existe (ou ainda não foi criada).
- O
startDatenão está em timestamp Unix (ms) — use{{ NOW() }}ou converta a data. - O projeto está inativo ou foi excluído — use um projeto ativo.
- IDs inativos ou apagados: mais um motivo para preferir nomes.
- Não aceita comentários (
//). Se copiou um exemplo comentado, remova os comentários antes de salvar. - Valores vindos de campos que contenham aspas (
") ou quebras de linha podem quebrar o JSON. Prefira valores simples.
Referência completa dos campos
Todos os campos abaixo são opcionais, exceto os marcados como obrigatórios acima. Use apenas os que fizer sentido para o seu caso. Cada campo aceita a versão por nome e/ou por id.
Projeto
projectName/projectId— o projeto (nome ou id).projectDescription— descrição.projectIdentify— código/identificador do projeto.projectTagIds— lista de ids de tags (ex.:[1, 2, 3]).workgroupIds— lista de ids de workgroups.projectMetadata— campos personalizados (objeto).
Épico
epicName/epicId,epicDescription,epicIdentify,epicTagIds,epicMetadata.
História
historyName/historyId,historyDescription,historyTagIds,historyPriority(número),historyTypeId,historyMetadata.
Tarefa
taskName/taskId,taskDescription,taskTagIds,taskPriority,taskTypeId,taskMetadata.
Subtarefa
subtaskName/subtaskId— a subtarefa (o objetivo mais comum da ação).description,subtaskTagIds,subtaskPriority,subtaskTypeId,subtaskMetadata.
Regra (na tarefa/subtarefa)
ruleName/ruleId.
Card (na subtarefa)
cardName/cardId— o card.cardLevel— o nível do card (ex.:Ouro).
Player (na subtarefa)
player— username do responsável.players— lista de usernames.
Datas (na subtarefa)
startDate— início, em timestamp Unix (ms).duration— duração.effort— esforço.
Links (na subtarefa)
linkUrl,linkDescription,linkTypeId.
Finalizar atividade
Encerra uma atividade que já existe.
De onde vem o id da atividade
O uso natural é o workflow ser aberto de dentro de uma atividade no Workplayer.
Quando alguém entra em uma atividade que aponta para este workflow, o Workplayer passa
automaticamente o id daquela atividade como {{ $args.id_activity }} — e é esse id
que a ação finaliza. Por isso o campo já vem preenchido com {{ $args.id_activity }} por
padrão.
Em outras palavras: esse id_activity só chega sozinho quando o workflow é aberto por
dentro de uma atividade do Workplayer.
Fluxo típico
- Uma atividade é criada apontando para este workflow — no campo
linkUrlda atividade (veja Criar atividade). - Outra pessoa entra nessa atividade no Workplayer.
- Ao abrir, o workflow recebe o
id_activityautomaticamente nos$args. - Um botão com a ação Finalizar atividade encerra a atividade.
Além disso:
- Data de fim (opcional): registra quando a atividade terminou.
Nada impede você de fornecer o id por conta própria — por outra expressão, ou
adicionando ?id_activity=SEU_ID na URL do link público. Mas o uso natural (e o motivo
do valor padrão) é finalizar a atividade de dentro da qual o workflow foi aberto.
Se nenhum id de atividade for encontrado, a ação simplesmente não faz nada. Garanta que o
workflow foi aberto por uma atividade — ou que o id_activity está chegando de outra forma.