Inicie um workflow do CRM a partir de um evento do seu sistema com o gatilho Webhook, use o corpo da chamada nos passos e leia o resultado da execução.
Nesta página
Quando usar
O gatilho Webhook liga um evento do seu sistema a um workflow do CRM: um
pedido faturado no ERP cria uma tarefa para o vendedor, um cadastro novo no seu
app cria uma pessoa e manda um e-mail, e assim por diante. O seu sistema faz um
POST com o JSON que quiser, e os passos do workflow usam esse JSON.
1. Monte o workflow
Em CRM › Workflows, crie um workflow e escolha o gatilho Webhook.
O gatilho já vem com um Token do webhook. A URL é
https://<seu-steel>/api/crm/workflows/<token>/trigger.
Adicione os passos. Nos campos dos passos, use o corpo da chamada com
{{trigger.payload.<campo>}}, como {{trigger.payload.cliente.email}}.
Teste e depois ative o workflow. A URL só responde com o workflow
ativo, e roda sempre a versão ativa.
WAITING: o workflow parou num passo Formulário, e espera alguém
responder no Steel, ou num passo Atraso, e espera o prazo. Nos dois casos
a execução continua sozinha depois.
FAILED: um passo falhou; error e o error do passo dizem por quê. A
execução aparece no Histórico de execuções do workflow.
Um passo Atraso não segura a resposta: a execução volta com statusWAITING assim que chega nele, e o passo traz em output.resumeAt quando ela
continua. A partir daí o Steel retoma sozinho, em segundo plano, do passo
seguinte, seja o atraso de alguns segundos ou de vários dias. Consulte a
execução depois no Histórico de execuções se precisar do resultado final.
Erros
Status
Código
Causa
404
CRM_WORKFLOW_WEBHOOK_INVALID
Token desconhecido ou workflow inativo
403
MODULE_DISABLED
O CRM foi desabilitado no workspace
422
VALIDATION_ERROR
JSON malformado
429
RATE_LIMITED
Mais de 100 chamadas por minuto do mesmo IP (somadas aos formulários)
500
CRM_WORKFLOW_EXECUTION_FAILED
A execução não pôde ser iniciada
Sem duplicar
Cada chamada inicia uma execução nova; o Steel não deduplica disparos. Se o seu
sistema pode reenviar o mesmo evento (depois de um timeout, por exemplo), mande
um identificador seu no corpo ("pedido": "PV-1042") e comece o workflow com um
passo de busca ou upsert por esse identificador, em vez de criar o
registro direto.