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.

Her kan du:
- Se alle webhooks for appen
- Oprette nye webhooks
- Administrere eksisterende webhooks
Opret webhook
- Klik "Opret webhook" knappen
- Udfyld formularen:

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-256header.

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.

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 URL: Den URL eksterne tjenester skal kalde
- 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:

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:
| Kode | Betydning |
|---|---|
| 200 | Alt gik godt — appen kørte, og resultaterne ligger i svaret |
| 400 | Ugyldig JSON, eller en payload der ikke er et JSON-objekt |
| 401 | Autentifikationen fejlede (forkert token eller signatur) |
| 403 | Afsenderens IP-adresse er ikke tilladt |
| 404 | Webhook-URL'en findes ikke (f.eks. fordi webhooken er slettet) |
| 410 | Webhooken er deaktiveret, eller appen er ikke længere udgivet/aktiv |
| 413 | Payloaden er større end 1 MB |
| 422 | Payload-mapping eller validering af appens inputs fejlede |
| 429 | Rate limit overskredet — svaret indeholder headeren Retry-After: 60 |
| 500 | Kørslen af appen fejlede |
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:
- Klik "Regenerér hemmelighed" i handlingsmenuen
- Bekræft handlingen
- 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
- Kontrollér at webhooken er aktiveret
- Kontrollér at appen er udgivet
- Verificer at URL'en er korrekt
- 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
- Kontrollér at hemmeligheden er korrekt
- For Bearer Token: Verificer
Authorization: Bearer <token>header - For HMAC: Verificer at signaturen er korrekt beregnet
Payload-mapping fejler
- Tjek at JSONPath-udtrykket er korrekt
- Verificer at feltet findes i den indsendte payload
- Brug leveringshistorikken til at se den faktiske payload