Webhooks by Kissflow
Un webhook, también llamado devolución de llamada web, es un método para que cualquier software envíe información en tiempo real a otras aplicaciones.
Conceptos básicos de webhook
Un webhook (también conocido como callback web) es un método para que cualquier software proporcione información en tiempo real a otras aplicaciones. Los webhooks te permiten crear o configurar integraciones que se suscriben a determinados eventos en tu aplicación. Cuando se activa uno de esos eventos, enviaremos una carga HTTP POST a la URL configurada del webhook. Se diferencia de las API habituales en que no necesitas consultar los datos con tanta frecuencia para obtenerlos en tiempo real.
Trabajar con Webhooks by Kissflow
Kissflow puede integrarse con aplicaciones de terceros mediante webhooks o callbacks HTTP definidos por el usuario. Para que las aplicaciones de terceros consuman el webhook de Kissflow, proporcionamos una URL a la que se enviarán las solicitudes. Busca la página de configuración de webhooks de la aplicación que quieres conectar a Kissflow.
En la configuración de webhook de tu aplicación, normalmente elegirás añadir una nueva conexión de webhook. Pega la URL del webhook que copiaste del conector Webhooks de Kissflow, selecciona cualquiera de las opciones que ofrece la aplicación —incluidos los datos que quieres recibir mediante el webhook— y guarda los cambios.
Nota
Para los Webhooks de integración, el tamaño de carga admitido está limitado a 2 MB.
Por ejemplo, puedes configurar una integración para que cada vez que se cree una nueva solicitud de compra en tu software ERP, puedas iniciar un proceso de aprobación en Kissflow (acción). También puedes configurar una integración para que cualquier nuevo suscriptor de correo electrónico en MailChimp se añada automáticamente a tu hoja de Google. Tus posibilidades solo están limitadas por tu imaginación.
Nota
Aprende a enviar datos a otras aplicaciones mediante conectores de webhook HTTP.
Desencadenadores en el conector de webhook
| Desencadenador | Descripción |
|---|---|
| Capturar un webhook (POST) | Esto genera una URL de callback y la supervisa para recibir cargas de otras aplicaciones |
Configurar tu webhook
-
En tu cuenta de Kissflow, haz clic en el botón Crear del panel de navegación izquierdo y selecciona Integración en la lista. Introduce un nombre y una descripción únicos para tu integración y haz clic en Crear.
-
En el editor, selecciona el desencadenador Webhooks by Kissflow. También puedes usar la búsqueda para encontrarlo directamente.
-
Haz clic en el menú desplegable Desencadenador, selecciona Capturar un webhook (POST) y haz clic en Siguiente.

-
Capturar un webhook funciona proporcionándote una URL única a la que puedes enviar solicitudes POST. Copia la URL y pégala en la configuración principal o en la página de opciones de tu aplicación. Si no la encuentras, consulta la documentación de ayuda y soporte de tu aplicación. Haz clic en Siguiente.

-
La aplicación conectada a la URL de tu webhook le enviará datos cada vez que se añada algo nuevo. Para probar un desencadenador de webhook, primero debes añadir algo nuevo a tu aplicación. Por ejemplo, si te estás conectando a Trello, puedes añadir una nueva tarjeta a tu tablero de Trello. El conector empezará a supervisar la URL y obtendrá cualquier carga de la aplicación.

-
Si se encuentran los datos enviados a la URL del webhook, el paso indicará que se completó correctamente y mostrará los datos recibidos.
-
Los datos recibidos por el conector de webhook pueden ser utilizados por otras aplicaciones para realizar acciones específicas.
Personalizar la respuesta
De forma predeterminada, un desencadenador de webhook devuelve una respuesta 200 OK al sistema que lo llama. Cuando quien llama necesita algo más que una confirmación, como un identificador de referencia o un valor de la solicitud que envió, define tu propia respuesta dentro del desencadenador. Tu personalización abarca las cabeceras, el tipo de contenido y el cuerpo, y el paso no tiene una opción de código de estado.
Kissflow envía la respuesta en cuanto recibe la solicitud, antes de que se ejecuten las acciones de la integración. Una respuesta confirma que la solicitud llegó, y no contiene ningún resultado de un paso posterior.
Para personalizar la respuesta,
- Abre la integración y selecciona el desencadenador, Recibir un webhook (POST).
- Selecciona Respuesta.
- Activa Personalizar respuesta.

El paso pasa a tener dos secciones:
| Sección | Descripción |
|---|---|
| Solicitud entrante | Una muestra de la solicitud que recibe el webhook. Kissflow lee la muestra para construir la lista de campos que puedes insertar. Las solicitudes reales siempre usan sus propios valores. |
| Respuesta | Las cabeceras, el tipo de contenido y el cuerpo que recibe quien llama. |
Añadir una solicitud de muestra
Copia una solicitud de la aplicación que llama al webhook, o de la carga capturada durante la prueba del desencadenador.
- Pega las cabeceras de la solicitud en Cabeceras de muestra:
Cabeceras de muestra
{
"Authorization": "Bearer abc123",
"X-Caller-Ref": "a1b2c3"
}- Pega el cuerpo de la solicitud en Cuerpo de muestra:
Cuerpo de muestra
{
"order_id": "8471",
"status": "approved",
"customer": {
"name": "Dana Whitfield",
"email": "dana@example.com"
}
}
Note
Ambos campos leen únicamente un objeto JSON. Una muestra que contenga una matriz, un valor suelto o un error de sintaxis no devuelve ningún campo.
Ambos valores aparecen en Solicitud de webhook, agrupados como cuerpo y cabeceras. Los valores anidados están disponibles a través de su ruta, como customer.name.
Note
Tu respuesta solo puede usar los valores que contiene la muestra. Una cabecera o una clave del cuerpo que falte en la muestra no se puede insertar, y una fórmula que la nombre se rechaza. Añade a la muestra todo lo que planees usar antes de construir la respuesta.
Insertar un valor de la solicitud
Tanto una cabecera de respuesta como un campo del cuerpo admiten texto estático, un valor de la solicitud entrante o una combinación de ambos. Los valores de la solicitud se construyen en el generador de fórmulas.
- Haz clic en fx junto al valor que estás construyendo.
- En Campos de integración, abre Solicitud de webhook y selecciona el valor que quieras. Kissflow inserta su ruta, como
context.webhookRequest.body.order_id. - Para unir texto y valores de la solicitud, usa concatenate, que aparece en Texto dentro de Funciones.
- Haz clic en Evaluar para ver el resultado con tu muestra y luego guarda.
Un valor combinado
concatenate("Order ", context.webhookRequest.body.order_id, " received for ", context.webhookRequest.body.customer.name)
Con la muestra anterior, esto devuelve Order 8471 received for Dana Whitfield. Los espacios van dentro del texto entre comillas, porque concatenate une sus valores sin nada entre ellos.
Note
Kissflow administra por su cuenta algunas cabeceras de solicitud, y X-Request-Id es una de ellas. Una respuesta que lea X-Request-Id devuelve el valor propio de Kissflow en lugar del que envió quien llama. Para devolver la referencia de quien llama, acordad un nombre de cabecera propio, como X-Caller-Ref.
Añadir cabeceras de respuesta
En Respuesta, haz clic en Añadir cabecera e introduce una Clave y un Valor para cada cabecera que reciba quien llama.
| Clave | Valor |
|---|---|
| X-Source | kissflow |
| X-Caller-Ref | context.webhookRequest.headers["X-Caller-Ref"] |
Una cabecera entrante se resuelve con las mayúsculas y minúsculas con las que la envíe quien llama, así que un valor leído de X-Caller-Ref se sigue resolviendo cuando la solicitud lleva x-caller-ref.
Note
Los nombres de cabecera admiten los caracteres que HTTP permite en un nombre de cabecera: letras, números y los símbolos ! # $ % & ' * + - . ^ _ ` | ~. Tanto X-Caller-Ref como X_Caller_Ref son válidos. Cuando un nombre contiene cualquier otro carácter, como un espacio o dos puntos, la fila se marca después de hacer clic en Siguiente.
Seleccionar un tipo de contenido
Selecciona una de las dos opciones en Content-Type:
| Content-Type | Editor del cuerpo |
|---|---|
| JSON (application/json) | Una lista de campos. Haz clic en Añadir campo para añadir uno, o selecciona la flecha junto a él para elegir String (texto), Number o Boolean (true/false). |
| Text (text/plain) | Un único cuadro de texto, con una lista Insertar campo para añadir valores de la solicitud. |

Important
Cambiar el tipo de contenido borra el cuerpo que ya hayas construido. Por eso, conviene seleccionar primero el tipo de contenido.
Construir el cuerpo de la respuesta
Cada campo de un cuerpo JSON forma una clave en la respuesta. Asigna a cada campo una Clave y un Valor.
| Clave | Valor |
|---|---|
| order_id | context.webhookRequest.body.order_id |
| message | concatenate("Order ", context.webhookRequest.body.order_id, " received for ", context.webhookRequest.body.customer.name) |
Quien llama recibe entonces:
Cuerpo de la respuesta
{
"order_id": "8471",
"message": "Order 8471 received for Dana Whitfield"
}Un cuerpo de texto contiene los mismos valores en línea, y quien llama recibe:
Order 8471 received for Dana WhitfieldHaz clic en Siguiente para guardar la respuesta, completar los pasos restantes y activar la integración.
Note
Los valores insertados se resuelven con la solicitud real cuando se ejecuta el webhook, así que la muestra permanece dentro del desencadenador y nunca llega a quien llama. Las salidas de las acciones posteriores al desencadenador no están disponibles aquí.
Cuando una solicitud no se puede responder
Insertar un valor de la solicitud en tu respuesta hace que ese campo sea obligatorio. Kissflow construye la respuesta antes de ejecutar la integración, así que una solicitud que no lleve todos los campos insertados no se puede responder, y se rechaza en lugar de responderse parcialmente.
| Qué hace la solicitud | Qué recibe quien llama |
|---|---|
| Omite un campo que la respuesta inserta | 400 Bad Request, indicando los campos que faltan. |
| Envía un campo cuyo tipo la respuesta no puede usar | 400 Bad Request. |
| Lleva todos los campos, pero aun así no se puede construir la respuesta | 500 Internal Server Error, pidiendo a quien llama que contacte con el propietario del webhook. |
En cada caso la integración no se ejecuta y no se registra nada en el historial de ejecuciones, así que quien llama puede corregir la solicitud y enviarla de nuevo.
Note
Un campo que la solicitud envía vacío no falta. Kissflow usa el valor vacío y la respuesta se construye. Una respuesta que solo contiene texto estático no rechaza nada, porque no lee ningún valor de la solicitud.
Inserta un valor de la solicitud cuando quien llama siempre lo envíe, o cuando una solicitud sin él deba rechazarse. Para responder a todas las solicitudes lleven lo que lleven, construye la respuesta con texto estático.
Activar el conector de webhook
Después de configurar el conector, activa el botón de alternancia en la esquina superior derecha del editor para activar la integración.
Para asegurarte de que tus integraciones estén configuradas y probadas correctamente, consulta nuestra guía de prácticas recomendadas para obtener consejos sobre cómo crear soluciones sólidas y fáciles de mantener.

