Webhooks sortants - Docs | TeeckIn

Webhooks sortants

Envoyez les événements TeeckIn sous forme de JSON brut et signé vers n’importe quel point de terminaison HTTPS — connectez votre activité de Timer et de tâches à n8n, Make, Zapier ou à votre propre backend.

De quoi s’agit-il

Une intégration Webhook personnalisé (JSON) distribue les événements TeeckIn sous forme de charge utile JSON exploitable par une machine vers un point de terminaison que vous contrôlez — contrairement aux intégrations Slack/Mattermost, qui envoient des messages de chat formatés. Utilisez-la pour déclencher des automatisations : enregistrer un Timer terminé dans un tableur, rédiger une facture lorsqu’une entrée facturable est créée, ou mettre à jour une tâche dans votre outil de gestion de projet.

Disponible sur tous les forfaits

Les intégrations de webhook comptent dans votre limite d’intégrations (Free : 1, Pro : 10, Team : 25), au même titre que Slack/Mattermost.

Créer une intégration de webhook

  1. 1
    Accédez à Paramètres → Intégrations et cliquez sur Ajouter une intégration
  2. 2
    Choisissez la plateforme Webhook personnalisé (JSON)
  3. 3
    Collez l’URL de votre point de terminaison HTTPS (l’adresse sur laquelle votre outil d’automatisation est à l’écoute)
  4. 4
    Choisissez les événements à envoyer et un filtre facultatif par Topic/catégorie
  5. 5
    Cliquez sur Créer l’intégration et copiez le secret de signature affiché — il n’est affiché qu’une seule fois

HTTPS uniquement, points de terminaison publics uniquement

L’URL doit utiliser HTTPS et ne peut pas pointer vers une adresse privée, de bouclage ou de lien local (par ex. localhost, 10.x.x.x, ou des IP de métadonnées cloud). Cela protège votre compte et votre infrastructure contre la falsification de requête côté serveur.

La charge utile

Chaque distribution est une requête POST avec une enveloppe JSON versionnée. Les événements survenant dans la fenêtre de regroupement de l’intégration sont combinés dans le tableau events d’une seule requête.

json
{
  "version": "1",
  "sentAt": "2026-05-30T14:02:11.000Z",
  "integration": { "name": "My Automation" },
  "events": [
    {
      "event": "timer_stop",
      "topicName": "Acme redesign",
      "categoryName": "Client work",
      "userName": "Jordan Breton",
      "durationMinutes": 45,
      "timestamp": "2026-05-30T14:02:11.000Z"
    }
  ]
}

Le champ version est un contrat de stabilité : les noms de champ ne changeront pas sans incrément de version, afin que vos automatisations continuent de fonctionner.

Vérifier la signature

Chaque requête inclut un en-tête X-TeeckIn-Signature contenant un HMAC-SHA256 du corps brut de la requête, signé avec votre secret de signature :

text
X-TeeckIn-Signature: sha256=<hex-digest>

Recalculez le condensé sur le corps brut et comparez-le. Exemple en Node.js :

javascript
import crypto from 'node:crypto';

function isValid(rawBody, header, secret) {
  const expected =
    'sha256=' + crypto.createHmac('sha256', secret).update(rawBody).digest('hex');
  // Constant-time comparison
  return crypto.timingSafeEqual(Buffer.from(header), Buffer.from(expected));
}

Renouveler le secret

Vous pouvez révéler ou régénérer le secret de signature à tout moment depuis la boîte de dialogue de modification de l’intégration. La régénération invalide immédiatement l’ancien secret — mettez à jour votre automatisation avant de le renouveler.

Se connecter à n8n / Make / Zapier

Pointez l’URL du webhook vers le nœud de webhook entrant de votre outil d’automatisation, puis utilisez ses actions de requête HTTP pour rappeler TeeckIn (par ex. créer un pointage) si vous avez besoin de flux bidirectionnels. Une configuration type :

  1. 1
    Créez un nœud de webhook/déclencheur dans n8n, Make ou Zapier et copiez son URL
  2. 2
    Créez une intégration de webhook TeeckIn pointant vers cette URL
  3. 3
    (Facultatif) Ajoutez une étape de vérification de signature à l’aide du secret
  4. 4
    Mappez les champs events[] vers votre action en aval
Cet article vous a-t-il été utile ?