Menu

DokumentationAI-assistenter og API

Webhooks

Giv jeres egen tjeneste besked, når der sker noget i Adea. Hver besked er signeret, indeholder id'er, titler og links, og sendes igen, hvis den ikke kommer frem.

3 min. læsningÅbn som Markdown
På denne side

En webhook er en adresse hos jer selv, som Adea kalder, når der sker noget. Brug den til at sætte arbejde i gang i jeres egne værktøjer: opret en sag, når der kommer en indsigt, opdater et regneark, når en liste ændrer sig, eller giv et chatrum besked, når nogen får en række.

Kun administratorer kan tilføje og ændre webhooks. De ligger på siden Udvikler i Indstillinger, under API-nøglerne.

Tilføj en webhook

  1. Åbn Indstillinger, derefter Udvikler, og find Webhooks.
  2. Skriv adressen på jeres tjeneste. Den skal starte med https:// og kunne nås fra internettet. Adresser på et privat netværk bliver afvist.
  3. Vælg, hvad den skal høre om, og vælg Tilføj webhook.
  4. Kopier signeringsnøglen, og gem den et sikkert sted. Den vises kun én gang.

Hver webhook har sin egen signeringsnøgle. En virksomhed kan have op til 10 webhooks. At tilføje en bliver skrevet i sikkerhedsloggen.

Hvad I kan lytte efter

Begivenhed Sendes, når
insight.created Adea opretter en indsigt.
list.changed En liste får nye rækker, eller rækker forlader den.
list.row_assigned En række på en liste er givet til nogen.
answer.saved Nogen gemmer et svar.

Hvad en besked indeholder

En besked er JSON og sendes med POST. Den indeholder id’er, titler og et link, aldrig værdierne i jeres rækker og aldrig personoplysninger. Den siger heller ikke, hvem en række er givet til. Vil I se mere, så følg linket, hvor Adeas sædvanlige adgangsregler gælder.

{
  "id": "0198f1c2-7d1e-7c3a-9b5e-2f6a8d4c1e90",
  "type": "insight.created",
  "createdAt": "2026-10-07T08:30:12.000Z",
  "data": {
    "insightId": "0198f1c2-5a0b-7e11-8c44-91d2b7e3a6f5",
    "title": "Ordrer fra Aarhus faldt 18 %",
    "url": "https://jeres-virksomhed.adea.app/insights/0198f1c2-5a0b-7e11-8c44-91d2b7e3a6f5"
  }
}

Felterne i data afhænger af begivenheden. Alle begivenheder har en title og en url.

Tjek, at den kommer fra Adea

Hver besked har disse headers:

  • Adea-Signature: t=<sekunder>,v1=<signatur>
  • Adea-Event: begivenheden, fx insight.created
  • Adea-Delivery: beskedens id, det samme som id i beskeden

Signaturen er en HMAC med SHA-256 over tidspunktet, et punktum og selve beskeden præcis som den kom, med webhookens signeringsnøgle. Regn den ud selv, og sammenlign. Afvis en besked, hvor tidspunktet er mere end fem minutter gammelt.

import { createHmac, timingSafeEqual } from "node:crypto";

export function fromAdea(secret, header, rawBody) {
  const t = /t=(\d+)/.exec(header)?.[1];
  const v1 = /v1=([0-9a-f]+)/.exec(header)?.[1];
  if (!t || !v1 || Math.abs(Date.now() / 1000 - Number(t)) > 300) return false;
  const expected = createHmac("sha256", secret).update(`${t}.${rawBody}`).digest();
  const given = Buffer.from(v1, "hex");
  return expected.length === given.length && timingSafeEqual(expected, given);
}

Brug beskeden præcis som den kom, før den læses som JSON.

Svar hurtigt

Svar med en 2xx-status inden for 10 sekunder. Gør det langsomme arbejde, når I har svaret. Adea følger ikke omdirigeringer.

Hvis den ikke kommer frem

En besked, der ikke får et 2xx-svar, sendes igen efter 1 minut, 5 minutter, 30 minutter, 2 timer, 6 timer, 12 timer og et døgn. Efter det ottende forsøg opgiver Adea den. En besked kan komme frem mere end én gang, så brug Adea-Delivery til at springe en over, I allerede har håndteret.

Hvis 20 beskeder i træk fejler, sætter Adea webhooken på pause, og siden siger det. Ret fejlen i jeres tjeneste, og slå webhooken til igen.

Test og se tilbage

  • Send en test sender en besked af typen test til adressen, signeret som de rigtige. Den indeholder ingen af jeres data.
  • Seneste beskeder viser de seneste 50, der er sendt til en webhook: hvilken begivenhed, om den kom frem, hvilken status jeres tjeneste svarede med, og hvornår næste forsøg er. En besked, der ikke kom frem, kan sendes igen derfra.

Slå fra eller slet

Slå en webhook fra for at stoppe beskederne uden at miste dens indstillinger. Slet den for at fjerne den og dens log. At slette en bliver skrevet i sikkerhedsloggen.

Med API’et

Alt på siden er en handling, så I kan også styre webhooks fra et script: webhooks.list, webhooks.create, webhooks.change, webhooks.test, webhooks.log, webhooks.retry og webhooks.delete. Se API’et.

Sidder du stadig fast? Skriv til hello@adea.app. Et menneske svarer.