Connecting an External Service with Webhooks
Un webhook entrante que publica un anuncio, lleva un total acumulado en una variable guardada y pasa el relevo a una segunda automatización al alcanzar un hito.
Crea una variable para llevar un total acumulado
Abre la pestaña Variables del plugin Automatizaciones y crea una variable llamada total_orders, de tipo Número y con valor predeterminado 0. Las variables se comparten en todo el servidor, así que cualquier automatización puede leer o actualizar la misma.
Ver la referencia completaCrea la automatización de entrada
Crea una automatización llamada "Alertas de pedidos" y elige Webhook entrante en la pestaña Disparador. Activa "Exigir un secreto" para que solo las solicitudes firmadas puedan activarla y copia la URL y el secreto en el servicio que envía la solicitud, como una tienda online, un proveedor de pagos o tu propio backend.
Un envío firmado, desde el lado del emisor
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"Convierte los datos en un mensaje y un total acumulado
En la pestaña Acciones, añade una acción Enviar mensaje a un canal #pedidos, tomando los datos directamente del cuerpo de la solicitud con tokens {http.body.*}. Después añade una acción Definir variable: elige total_orders, pon la operación en Incrementar y deja el valor en 1 para que cuente un pedido por envío.
| Campo | Valor |
|---|---|
| 1. Enviar mensaje | #pedidos · "🛒 ¡Nuevo pedido de {http.body.customer_name}: ${http.body.amount}!" |
| 2. Definir variable | total_orders · Incrementar · 1 |
Encadena una segunda automatización
Añade una acción más: Llamar a automatización. En lugar de hacer algo directamente en Discord, esta acción de control de flujo invoca otra automatización como una subrutina. Apúntala a la automatización de hitos que vas a crear en el siguiente paso y deja desactivado "Esperar a que termine", ya que esta no necesita devolver nada.
Crea la automatización de hitos
Crea una segunda automatización, "Alertas de hitos". Su disparador es Llamada por otra automatización, que no tiene ajustes porque solo se ejecuta cuando la inicia la acción Llamar a automatización de otra automatización. Añade una condición Variable guardada que compruebe que total_orders es mayor que un número redondo como 1000 y después una acción Enviar mensaje que lo anuncie en #anuncios.
| Campo | Valor |
|---|---|
| Disparador | Llamada por otra automatización |
| Condición | Variable guardada · total_orders · mayor que · 1000 |
| Acción | Enviar mensaje · #anuncios · "🎉 ¡Acabamos de superar los 1000 pedidos!" |
Prueba toda la cadena
Usa Pruebas y registros en la automatización de entrada. Los datos de ejemplo te permiten rellenar un customer_name y un amount ficticios. El recorrido muestra el mensaje, la actualización de la variable y la llamada a Alertas de hitos, coincida o no su condición.
Has conectado un servicio externo
El mismo patrón, un webhook entrante que alimenta variables y otras automatizaciones, sirve para casi cualquier herramienta que pueda enviar una solicitud HTTP: un servicio de formularios, un proveedor de pagos, tu propio backend. Consulta la referencia completa para ver todos los disparadores, condiciones y acciones disponibles.