Blue admite Webhooks salientes para enviar datos a otros sistemas.


Un webhook es un mensaje automatizado enviado de una aplicación a otra cuando ocurre algo. Por ejemplo, cuando se crea un nuevo registro en Blue, se puede configurar un webhook para enviar datos sobre ese registro a otro sistema.

Los webhooks de Blue se activan instantáneamente, en milisegundos desde que ocurre el evento. Esta naturaleza en tiempo real los hace invaluables para integrar Blue con otros sistemas empresariales.

Webhooks

  • Sincronización de datos en tiempo real entre sistemas
  • Capacidad de responder y actuar sobre eventos de Blue
  • No es necesario sondear repetidamente en busca de cambios; se envían instantáneamente
  • Crear integraciones y flujos de trabajo personalizados

Control Sin Precedentes

Los webhooks de Blue te brindan un control detallado sobre:

  • Exactamente qué eventos deben activar el webhook y de qué proyecto
  • Filtros para reducir el alcance de los registros
  • Validación de firma para mayor seguridad

Creando un Webhook

En Blue, los Administradores de Proyecto pueden crear webhooks en la configuración personal. Debes especificar:

  • Nombre del webhook
  • URL de carga útil para enviar datos
  • Secreto opcional para la firma

Disparadores

Los webhooks pueden ser activados por una amplia variedad de eventos de Blue, incluyendo:

  • Registro creado/actualizado/eliminado
  • Comentario agregado/editado
  • Asignado cambiado
  • Estado de la lista de verificación cambiado
  • Valor de campo personalizado cambiado
  • Y muchos más

Carga Útil del Webhook

Cuando se activa, Blue envía una carga útil JSON que contiene todos los detalles del evento a la URL que especificaste.

Aquí hay un ejemplo de carga útil:

{
  "event": "RECORD_CREATED",
  "record": {
    "id": "1234",
    "title": "New record"
    ...
  },
  "company": {
    "id": "5678"  
  },
  "project": {
    "id": "91011"
  },
  "user": {
    "id": "1213" 
  }
}

Firma

Para validar que las cargas útiles provienen genuinamente de Blue, se puede verificar una firma opcional. Similar a OAuth, la firma se crea al hash de los contenidos de la carga útil con tu clave secreta elegida.

Validación de Ejemplo en Node.js

const crypto = require('crypto');
const key = 'secret'; 
const body = {...webhookPayload} 
const hash = crypto.createHmac('sha256', key).update(body);
const signature = hash.digest('hex');

Integraciones Adicionales

Más allá de los webhooks personalizados, Blue también ofrece integraciones con herramientas como Zapier y Pabbly Connect para simplificar la conexión de datos de Blue con cientos de aplicaciones populares.

Ejemplo de respuesta de Webhook

{

  "event": "TODO_CREATED",

  "webhook": {

    "id": "clb4qaopy0000vt24mlp28v03",

    "uid": "edb5b5d51dc9461a952160dbe72153b4",

    "name": "Testing webhook",

    "url": "https://httpdump.app/dumps/7cc66eda-8e83-4039-ba49-4c36db14d508",

    "secret": "",

    "status": "HEALTHY",

    "enabled": true,

    "metadata": {

      "events": [

        "TODO_CREATED",

        "TODO_DELETED",

        "TODO_MOVED",

        "TODO_NAME_CHANGED",

        "TODO_CHECKLIST_CREATED",

        "TODO_CHECKLIST_NAME_CHANGED",

        "TODO_CHECKLIST_DELETED",

        "TODO_CHECKLIST_ITEM_CREATED",

        "TODO_LIST_CREATED",

        "TODO_LIST_DELETED",

        "TODO_LIST_NAME_CHANGED",

        "COMMENT_CREATED",

        "COMMENT_DELETED",

        "COMMENT_UPDATED"

      ],

      "projectIds": [

        "clakt90vu000bvt64hhffqleq",

        "claulnu1y0000vtrcjurjgds4",

        "clb4gay0y000qvtzs8smaays8"

      ]

    },

    "createdById": "claksl2ye0000vtas0h0ln71e",

    "createdAt": "2022-12-01T07:01:25.014Z",

    "updatedAt": "2022-12-01T11:23:00.661Z"

  },

  "currentValue": {

    "id": "clb4zna6x0000vt1swuwso25f",

    "uid": "11021cb836f34732b31e5ebd5dd5eb27",

    "title": "GGGG",

    "html": null,

    "text": null,

    "position": "32767.5",

    "archived": false,

    "done": false,

    "startedAt": null,

    "duedAt": null,

    "timezone": null,

    "createdAt": "2022-12-01T11:23:09.000Z",

    "updatedAt": "2022-12-01T11:23:09.241Z",

    "createdById": "claksl2ye0000vtas0h0ln71e",

    "todoListId": "clakt9v5t000kvt64f563l90l",

    "todoCustomFields": [],

    "todoUsers": [],

    "todoTags": [],

    "todoList": {

      "id": "clakt9v5t000kvt64f563l90l",

      "uid": "df0e931e6e8f4fc2905ece9da167d2d3",

      "createdAt": "2022-11-17T08:29:22.000Z",

      "updatedAt": "2022-11-17T08:29:22.050Z",

      "title": "ETEST",

      "position": 131070,

      "createdById": "claksl2ye0000vtas0h0ln71e",

      "projectId": "clakt90vu000bvt64hhffqleq",

      "project": {

        "id": "clakt90vu000bvt64hhffqleq",

        "uid": "d7db469a8908496f8e5f5e68030fe4c8",

        "slug": "teest",

        "name": "TEEST",

        "description": "",

        "archived": false,

        "createdAt": "2022-11-17T08:28:43.000Z",

        "updatedAt": "2022-11-17T08:28:42.811Z",

        "isTemplate": false,

        "isOfficialTemplate": false,

        "category": "GENERAL",

        "companyId": "clakt8jud0002vt64205yyj10",

        "imageId": null,

        "hideEmailFromRoles": null,

        "company": {

          "id": "clakt8jud0002vt64205yyj10",

          "uid": "400eb3f8238c486caf40957618be9662",

          "slug": "rogue",

          "name": "Rogue",

          "description": null,

          "createdAt": "2022-11-17T08:28:21.000Z",

          "updatedAt": "2022-11-17T08:28:20.726Z",

          "freeTrialExpiredAt": "2022-12-01T08:28:15.000Z",

          "freeTrialStartedAt": "2022-11-17T08:28:15.000Z",

          "subscribedAt": null,

          "imageId": null,

          "subscriptionPlanId": "clakt8jue0003vt64e40q2prj",

          "freeTrialExtendedById": null,

          "freeTrialExtendedAt": null

        }

      }

    }

  }

}
Soporte para Desarrolladores


Si tienes alguna pregunta, contáctanos en [support@blue.cc](support@blue.cc), y podemos ayudarte. También ofrecemos servicios profesionales para soporte de integración.

Asistente IA

Las respuestas son generadas por IA y pueden contener errores.

¿Cómo puedo ayudarte?

Pregúntame cualquier cosa sobre Blue o esta documentación.

Enter para enviar • Shift+Enter para nueva línea • ⌘I para abrir