Hop til hovedindhold

Webhooks

Trigger din app automatisk fra eksterne tjenester via HTTP POST-anmodninger.

Adgang

  • Udvikler+: Kan se, oprette og administrere webhooks — og se leveringshistorikken. Det kræver desuden, at du har redigeringsadgang til appen.

Hvad er en webhook?

En webhook giver eksterne tjenester mulighed for at trigge din app automatisk. Når en ekstern tjeneste sender en HTTP POST-anmodning til webhook-URL'en, kører din app med de data, der sendes i anmodningen.

Typiske anvendelser:

  • Stripe: Kør app når en betaling modtages
  • GitHub: Kør app når kode pushes til et repository
  • Zapier/Make: Integrer med hundredvis af andre tjenester
  • Egne systemer: Automatiser processer fra dine egne applikationer

Webhook-sektionen

Åbn app-detaljesiden og gå til fanen "API". Webhook-sektionen ligger nederst på API-fanen.

Webhook sektion

Her kan du:

  • Se alle webhooks for appen
  • Oprette nye webhooks
  • Administrere eksisterende webhooks

Opret webhook

  1. Klik "Opret webhook" knappen
  2. Udfyld formularen:

Opret webhook dialog

Grundlæggende indstillinger

  • Navn: Et beskrivende navn (f.eks. "Stripe-betalinger")
  • Beskrivelse: Valgfri beskrivelse af webhookens formål

Autentifikation

Vælg autentifikationsmetode:

  • Bearer Token (anbefalet): Simpel token-baseret auth. Send token i Authorization: Bearer <token> header.
  • HMAC-SHA256: Signaturbaseret auth (GitHub/Stripe-stil). Signér payload og send i X-Hub-Signature-256 header.

Autentifikation

Sikkerhed

  • Rate limit: Maksimalt antal anmodninger per minut (standard: 60)
  • Tilladte IP-adresser (valgfrit): Begræns hvilke IP'er der kan kalde webhooken. Skriv én IP/CIDR per linje. Lad stå tom for at tillade alle.

Payload-mapping

Map felter fra webhook-payload til app-inputs med JSONPath.

Payload mapping

Eksempler på JSONPath:

  • $.email - Top-niveau felt
  • $.data.user.name - Nested felt
  • $.items[0].id - Første element i array
  • $.items[*].id - Alle id'er fra array

Efter oprettelse

Når webhooken er oprettet, vises:

Webhook oprettet

  1. Webhook URL: Den URL eksterne tjenester skal kalde
  2. Hemmelighed: Token eller HMAC-secret (vises kun én gang!)

Vigtigt: Kopiér hemmeligheden med det samme. Den kan ikke vises igen af sikkerhedsmæssige årsager.

Eksempel på brug

Brug den webhook-URL, der vises i UI'en efter oprettelse (se Webhook URL ovenfor) — den har formen https://<din-agentbase-host>/api/v1/webhooks/<webhook-id>.

For Bearer Token:

curl -X POST "https://<din-agentbase-host>/api/v1/webhooks/<webhook-id>" \
-H "Authorization: Bearer <din-hemmelighed>" \
-H "Content-Type: application/json" \
-d '{"email": "test@example.com", "name": "Test"}'

For HMAC-SHA256:

# Beregn signatur: sha256(request_body, secret)
curl -X POST "https://<din-agentbase-host>/api/v1/webhooks/<webhook-id>" \
-H "X-Hub-Signature-256: sha256=<beregnet-signatur>" \
-H "Content-Type: application/json" \
-d '{"email": "test@example.com", "name": "Test"}'

Administrer webhooks

Webhook-listen

Webhook-listen viser alle webhooks for appen:

Webhook liste

For hver webhook ses:

  • Navn: Webhookens navn
  • Status: Aktiv eller Deaktiveret
  • Auth-metode: Bearer Token eller HMAC-SHA256
  • Hemmelighed: Præfiks af hemmeligheden
  • Trigger-antal: Hvor mange gange webhooken er kaldt
  • Sidst brugt: Tidspunkt for sidste trigger

Handlingsmenu

Klik på ⋮ (tre prikker) for at åbne handlingsmenuen med følgende muligheder:

  • Kopiér webhook-URL: Kopier URL'en til udklipsholder
  • Se leveringshistorik: Se alle indgående anmodninger
  • Aktivér/Deaktivér: Slå webhooken til/fra
  • Regenerér hemmelighed: Opret ny hemmelighed (invaliderer den gamle)
  • Slet webhook: Fjern webhooken permanent

Leveringshistorik

Se alle indgående webhook-anmodninger og deres resultater. Åbn leveringshistorikken via handlingsmenuen.

Tabellen har én række per anmodning med kolonnerne:

  • Request ID: Anmodningens id — brug det, når du skal finde en bestemt leverance igen
  • Status: Succes, Fejlet eller Afvist
  • Statuskode: HTTP-statuskoden appen svarede med
  • Varighed: Hvor lang tid kørslen tog
  • Kilde-IP: Hvilken IP-adresse anmodningen kom fra
  • Tidspunkt: Hvornår anmodningen blev modtaget

Du kan folde en række ud og se Headers, Payload (den modtagne data), Mappede inputs (de værdier appen faktisk blev kørt med), Fejl, Afvisningsårsag, Response body og Execution ID.

Med feltet Filtrér efter status kan du vise Alle, Succes, Fejlet eller Afvist.

Hvad svarer webhooken?

Kaldet er synkront: den eksterne tjeneste venter, mens appen kører, og får resultatet tilbage i samme svar. Ved succes svarer webhooken med statuskode 200 og et svar, der indeholder appens resultater (results), anmodningens request_id og execution_id for kørslen.

Statuskoder du kan møde:

KodeBetydning
200Alt gik godt — appen kørte, og resultaterne ligger i svaret
400Ugyldig JSON, eller en payload der ikke er et JSON-objekt
401Autentifikationen fejlede (forkert token eller signatur)
403Afsenderens IP-adresse er ikke tilladt
404Webhook-URL'en findes ikke (f.eks. fordi webhooken er slettet)
410Webhooken er deaktiveret, eller appen er ikke længere udgivet/aktiv
413Payloaden er større end 1 MB
422Payload-mapping eller validering af appens inputs fejlede
429Rate limit overskredet — svaret indeholder headeren Retry-After: 60
500Kørslen af appen fejlede
info

Fordi svaret først kommer, når appen er færdig, skal den tjeneste der kalder webhooken kunne vente lige så længe, som appen er om at køre.

Aktivér/Deaktivér

En deaktiveret webhook afviser alle indkommende anmodninger. Eksterne tjenester modtager en 410-fejl. Det samme sker, hvis appen ikke længere er udgivet (f.eks. arkiveret) eller er sat inaktiv.

Note: Webhooks kan kun aktiveres når appen er udgivet.

Regenerér hemmelighed

Hvis hemmeligheden kompromitteres, kan du generere en ny:

  1. Klik "Regenerér hemmelighed" i handlingsmenuen
  2. Bekræft handlingen
  3. Kopiér den nye hemmelighed

Vigtigt: Den gamle hemmelighed stopper med at virke øjeblikkeligt. Opdater alle integrationer med den nye hemmelighed.

Slet webhook

Sletning er permanent og kan ikke fortrydes. Alle eksterne tjenester, der bruger denne webhook, vil ikke længere kunne trigge din app.

Fejlfinding

Webhook modtager ikke anmodninger

  1. Kontrollér at webhooken er aktiveret
  2. Kontrollér at appen er udgivet
  3. Verificer at URL'en er korrekt
  4. Tjek IP-restriktioner hvis konfigureret

Får afsenderen en 410, er webhooken deaktiveret, eller appen er ikke længere udgivet eller aktiv. Får afsenderen en 404, findes webhook-URL'en ikke — typisk fordi webhooken er slettet, eller fordi URL'en er skrevet forkert.

Autentifikation fejler

  1. Kontrollér at hemmeligheden er korrekt
  2. For Bearer Token: Verificer Authorization: Bearer <token> header
  3. For HMAC: Verificer at signaturen er korrekt beregnet

Payload-mapping fejler

  1. Tjek at JSONPath-udtrykket er korrekt
  2. Verificer at feltet findes i den indsendte payload
  3. Brug leveringshistorikken til at se den faktiske payload

Relaterede sider