Blue ondersteunt uitgaande Webhooks om gegevens naar andere systemen te verzenden.
Een webhook is een geautomatiseerd bericht dat van de ene applicatie naar de andere wordt verzonden wanneer er iets gebeurt. Bijvoorbeeld, wanneer er een nieuw record wordt aangemaakt in Blue, kan een webhook worden geconfigureerd om gegevens over dat record naar een ander systeem te verzenden.
Blue webhooks worden onmiddellijk geactiveerd, binnen milliseconden na het optreden van het evenement. Deze real-time aard maakt ze van onschatbare waarde voor het integreren van Blue met andere zakelijke systemen.
Webhooks
- Real-time gegevenssynchronisatie tussen systemen
- Mogelijkheid om te reageren en actie te ondernemen op Blue-evenementen
- Geen noodzaak om herhaaldelijk te controleren op wijzigingen; direct verzonden
- Maak aangepaste integraties en workflows
Ongeëvenaarde Controle
Blue webhooks geven je gedetailleerde controle over:
- Precies welke evenementen de webhook moeten activeren en vanuit welk project
- Filters om de reikwijdte van records te verkleinen
- Handtekeningvalidatie voor verbeterde beveiliging
Een Webhook Aanmaken
In Blue kunnen projectbeheerders webhooks aanmaken onder persoonlijke instellingen. Je specificeert:
- Webhook naam
- Payload URL om gegevens te verzenden
- Optionele geheim voor handtekening
Triggers
Webhooks kunnen worden geactiveerd door een breed scala aan Blue-evenementen, waaronder:
- Record aangemaakt/geüpdatet/verwijderd
- Opmerking toegevoegd/bewerkt
- Toegewezen persoon gewijzigd
- Checkliststatus gewijzigd
- Waarde van aangepast veld gewijzigd
- En nog veel meer
Webhook Payload
Wanneer geactiveerd, verzendt Blue een JSON-payload met alle details van het evenement naar je opgegeven URL.
Hier is een voorbeeldpayload:
{
"event": "RECORD_CREATED",
"record": {
"id": "1234",
"title": "New record"
...
},
"company": {
"id": "5678"
},
"project": {
"id": "91011"
},
"user": {
"id": "1213"
}
}
Handtekening
Om te valideren dat payloads echt van Blue komen, kan een optionele handtekening worden gecontroleerd. Vergelijkbaar met OAuth, wordt de handtekening gemaakt door de inhoud van de payload te hashen met je gekozen geheime sleutel.
Voorbeeldvalidatie in 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');
Aanvullende Integraties
Naast aangepaste webhooks biedt Blue ook integraties met tools zoals Zapier en Pabbly Connect om het verbinden van Blue-gegevens met honderden populaire apps te vereenvoudigen.
Voorbeeld Webhook-respons
{
"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
}
}
}
}
}
Als je vragen hebt, neem dan contact met ons op via [support@blue.cc](support@blue.cc), en we kunnen helpen. We bieden ook professionele diensten voor integratieondersteuning.