Connecting an External Service with Webhooks
Um webhook de entrada que posta um anúncio, mantém um total acumulado em uma variável armazenada e passa a vez para uma segunda automação quando um marco é atingido.
Crie uma variável para o total acumulado
Abra a aba Variáveis do plugin Automações e crie uma variável chamada total_orders, do tipo Número e com padrão 0. As variáveis são compartilhadas no servidor inteiro, então qualquer automação pode ler ou atualizar a mesma.
Ver a referência completaCrie a automação de entrada
Crie uma automação chamada "Alertas de pedidos" e escolha Webhook de entrada na aba Gatilho. Ative "Exigir um segredo" para que só solicitações assinadas possam acioná-la e copie a URL e o segredo para o serviço que envia a solicitação, como uma loja virtual, um provedor de pagamentos ou o seu próprio backend.
Um envio assinado, do lado de quem envia
timestamp=$(date +%s)
body='{ "customer_name": "Alex", "amount": 42 }'
signature=$(printf '%s.%s' "$timestamp" "$body" | openssl dgst -sha256 -hmac "<secret>" | sed 's/^.* //')
curl -X POST <webhook-url> \
-H "Content-Type: application/json" \
-H "X-Automation-Timestamp: $timestamp" \
-H "X-Automation-Signature: sha256=$signature" \
-d "$body"Transforme os dados em uma mensagem e um total acumulado
Na aba Ações, adicione uma ação Enviar mensagem para um canal #pedidos, puxando os dados direto do corpo da solicitação com tokens {http.body.*}. Depois adicione uma ação Definir variável: escolha total_orders, defina a operação como Incrementar e deixe o valor em 1 para contar um pedido por envio.
| Campo | Valor |
|---|---|
| 1. Enviar mensagem | #pedidos · "🛒 Novo pedido de {http.body.customer_name}: ${http.body.amount}!" |
| 2. Definir variável | total_orders · Incrementar · 1 |
Encadeie uma segunda automação
Adicione mais uma ação: Chamar automação. Em vez de fazer algo direto no Discord, esta ação de controle de fluxo chama outra automação como uma sub-rotina. Aponte para a automação de marcos que você vai criar no próximo passo e deixe "Esperar terminar" desativado, já que esta não precisa devolver nada.
Crie a automação de marcos
Crie uma segunda automação, "Alertas de marcos". O gatilho dela é Chamada por outra automação, que não tem configurações porque só roda quando a ação Chamar automação de outra automação a inicia. Adicione uma condição Variável armazenada verificando se total_orders é maior que um número redondo como 1000 e depois uma ação Enviar mensagem que anuncie isso em #anúncios.
| Campo | Valor |
|---|---|
| Gatilho | Chamada por outra automação |
| Condição | Variável armazenada · total_orders · maior que · 1000 |
| Ação | Enviar mensagem · #anúncios · "🎉 Acabamos de passar de 1000 pedidos!" |
Teste a cadeia inteira
Use Testes e logs na automação de entrada. Os dados de exemplo deixam você preencher um customer_name e um amount fictícios. O passo a passo mostra a mensagem, a atualização da variável e a chamada para Alertas de marcos, com ou sem correspondência da condição dela.
Você conectou um serviço externo
O mesmo padrão, um webhook de entrada alimentando variáveis e outras automações, funciona para quase qualquer ferramenta que envie uma solicitação HTTP: um serviço de formulários, um provedor de pagamentos, o seu próprio backend. Veja a referência completa para todos os gatilhos, condições e ações disponíveis.