Whoo støtter webhooks som lar deg automatisere arbeidsflyter ved å sende data til eksterne tjenester som Zapier, Make, n8n og andre. Når noe skjer i systemet — for eksempel at en ny kandidat søker eller at en søker endrer status — sender Whoo en HTTP-forespørsel til en URL du velger.
Opprett en API-nøkkel under Innstillinger → API-nøkler
Bruk API-nøkkelen til å registrere et webhook-abonnement via API-et
Whoo sender data til din URL hver gang den valgte hendelsen inntreffer
Gå til Innstillinger → API-nøkler i Whoo.
Skriv inn et beskrivende navn (f.eks. «Zapier-integrasjon»)
Klikk Opprett
Kopier nøkkelen umiddelbart — den vises kun én gang
Nøkkelen brukes som Bearer-token i alle API-kall. Hver nøkkel er knyttet til teamet ditt. Du kan opprette flere nøkler og slette dem individuelt.
Gå til Innstillger -> Webhooks i Whoo.
Her kan du opprette webhoos i et grafisk grensesnitt.
Hendelse Beskrivelse applicant.created En ny søker har sendt inn en søknad applicant.status_changed En søkers status har blitt endret applicant.rejected En søker har blitt avvist (status satt til «rejected») applicant.hired En søker har blitt ansatt (status satt til «hired»)
Merk: applicant.rejected og applicant.hired er spesialiserte varianter av applicant.status_changed. Hvis en søker avvises, vil både applicant.status_changed og applicant.rejected trigges.
Basis-URL: https://whoo.no/api
Alle endepunkter krever autentisering med en API-nøkkel.
Respons:
{ "data": [ { "id": 1, "event": "applicant.created", "url": "https://hooks.zapier.com/hooks/catch/12345/abcdef", "is_active": true, "created_at": "2026-02-05T19:18:25.000000Z" } ] }Body:
{ "event": "applicant.created", "url": "https://hooks.zapier.com/hooks/catch/12345/abcdef" }Felt Type Beskrivelse event string En av de støttede hendelsene url string URL-en som skal motta webhook-data (maks 2048 tegn)
Respons (201):
{ "id": 1, "event": "applicant.created", "url": "https://hooks.zapier.com/hooks/catch/12345/abcdef", "secret": "aB3dEfGhIjKlMnOpQrStUvWxYz012345", "created_at": "2026-02-05T19:18:25.000000Z" }Viktig: secret returneres kun ved opprettelse. Ta vare på denne verdien — den brukes til å verifisere signaturer på innkommende webhooks.
Returnerer 204 No Content ved suksess.
Nyttig for å se strukturen på dataen som sendes for en gitt hendelse uten å måtte trigge en ekte hendelse.
Alle API-kall autentiseres med en Bearer-token i Authorization-headeren:
Authorization: Bearer <din-api-nøkkel>Eksempel med curl:
curl -H "Authorization: Bearer abc123def456..." \ https://whoo.no/api/webhooks/subscriptionsUgyldig eller manglende nøkkel returnerer 401 Unauthorized.
Hver webhook-forespørsel signeres med HMAC-SHA256 ved hjelp av secret som ble returnert da abonnementet ble opprettet. Signaturen sendes i headeren X-Webhook-Signature.
Slik verifiserer du signaturen:
# Python-eksempel import hmac import hashlib def verify_signature(payload_body: bytes, signature: str, secret: str) -> bool: expected = hmac.new( secret.encode('utf-8'), payload_body, hashlib.sha256 ).hexdigest() return hmac.compare_digest(expected, signature) // Node.js-eksempel const crypto = require('crypto'); function verifySignature(payloadBody, signature, secret) { const expected = crypto .createHmac('sha256', secret) .update(payloadBody) .digest('hex'); return crypto.timingSafeEqual( Buffer.from(expected), Buffer.from(signature) ); }Headere som sendes med hver webhook:
Header Beskrivelse X-Webhook-Signature HMAC-SHA256-signatur av request-bodyen X-Webhook-Timestamp ISO 8601-tidsstempel for når hooken ble sendt X-Webhook-Event Navnet på hendelsen (f.eks. applicant.created) Content-Type application/json
Alle webhooks sendes som HTTP POST med JSON-body i følgende struktur:
{ "event": "applicant.created", "timestamp": "2026-02-05T19:18:25+00:00", "data": { // hendelsespesifikke data } }Whoo forsøker å levere hver webhook opptil 3 ganger med økende ventetid mellom forsøkene:
Forsøk Ventetid 1 Umiddelbart 2 10 sekunder 3 60 sekunder
Etter 3 mislykkede forsøk:
Endepunktet deaktiveres automatisk (is_active settes til false)
Ingen flere webhooks sendes til denne URL-en
For å aktivere endepunktet igjen, slett abonnementet og opprett det på nytt
En levering anses som mislykket hvis:
Mottakeren svarer med HTTP-statuskode 4xx eller 5xx
Tilkoblingen tar mer enn 15 sekunder (timeout)
En nettverksfeil oppstår
For å koble Whoo til Zapier:
Opprett en API-nøkkel i Whoo under Innstillinger → API-nøkler
I Zapier, opprett en ny Zap og velg Webhooks by Zapier som trigger
Velg Catch Hook som trigger-type
Kopier webhook-URL-en fra Zapier
Registrer URL-en ved å kalle API-et:
Test ved å sende inn en test-søknad — Zapier skal fange opp dataen
Sett opp handlinger i Zapier (f.eks. send e-post, opprett rad i Google Sheets, opprett oppgave i Trello)
Ny søker → Slack-melding — Få varsel i Slack når noen søker
Ny søker → Google Sheets — Logg søkere automatisk i et regneark
Søker ansatt → Send e-post — Send automatisk velkomst-e-post til nyansatte
Status endret → Oppdater CRM — Hold CRM-systemet oppdatert med søkerstatus