Blue prend en charge les Webhooks sortants pour envoyer des données à d'autres systèmes.


Un webhook est un message automatisé envoyé d'une application à une autre lorsqu'un événement se produit. Par exemple, lorsqu'un nouvel enregistrement est créé dans Blue, un webhook peut être configuré pour envoyer des données concernant cet enregistrement à un autre système.

Les webhooks de Blue sont déclenchés instantanément, en quelques millisecondes après la survenue de l'événement. Cette nature en temps réel les rend inestimables pour intégrer Blue avec d'autres systèmes d'entreprise.

Webhooks

  • Synchronisation des données en temps réel entre les systèmes
  • Capacité à répondre et à agir sur les événements de Blue
  • Pas besoin de vérifier constamment les changements ; poussés instantanément
  • Créer des intégrations et des flux de travail personnalisés

Contrôle sans précédent

Les webhooks de Blue vous donnent un contrôle granulaire sur :

  • Exactement quels événements doivent déclencher le webhook et de quel projet
  • Filtres pour affiner la portée des enregistrements
  • Validation de signature pour une sécurité renforcée

Création d'un Webhook

Dans Blue, les administrateurs de projet peuvent créer des webhooks sous les paramètres personnels. Vous spécifiez :

  • Nom du webhook
  • URL de charge utile pour envoyer des données
  • Secret optionnel pour la signature

Déclencheurs

Les webhooks peuvent être déclenchés par une grande variété d'événements de Blue, y compris :

  • Enregistrement créé/mis à jour/supprimé
  • Commentaire ajouté/édité
  • Assigné changé
  • Statut de la liste de contrôle changé
  • Valeur du champ personnalisé changée
  • Et bien d'autres

Charge utile du Webhook

Lorsqu'il est déclenché, Blue envoie une charge utile JSON contenant tous les détails de l'événement à l'URL que vous avez spécifiée.

Voici un exemple de charge utile :

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

Signature

Pour valider que les charges utiles proviennent réellement de Blue, une signature optionnelle peut être vérifiée. Semblable à OAuth, la signature est créée en hachant le contenu de la charge utile avec votre clé secrète choisie.

Validation d'exemple 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');

Intégrations supplémentaires

Au-delà des webhooks personnalisés, Blue propose également des intégrations avec des outils comme Zapier et Pabbly Connect pour simplifier la connexion des données de Blue avec des centaines d'applications populaires.

Exemple de réponse 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

        }

      }

    }

  }

}
Support Développeur


Si vous avez des questions, veuillez nous contacter à [support@blue.cc](support@blue.cc), et nous pouvons vous aider. Nous proposons également des services professionnels pour le support d'intégration.

Assistant IA

Les réponses sont générées par l'IA et peuvent contenir des erreurs.

Comment puis-je vous aider ?

Posez-moi toutes vos questions sur Blue ou cette documentation.

Entrez pour envoyer • Maj+Entrée pour une nouvelle ligne • ⌘I pour ouvrir