Build a changelog with Webhooks (nb)
Her er et eksempel på hvordan du kan lage en endringslogg fra Huma med webhook-integrasjonen.
⚠️ Viktig!
- Dette er et eksempel, og Huma garanterer ikke at det fungerer.
- Vi anbefaler at du får hjelp av en utvikler med teknisk kompetanse når du setter opp webhook-integrasjonen.
- En webhook kan brukes på mange måter, og dette er bare ett eksempel. Du kan lese mer om webhooks og hva som støttes, her.
🔔🛡️ Husk å lagre regnearket med riktig tilgangsstyring etter GDPR, fordi det inneholder personopplysninger.
Innholdsfortegnelse
- Hva er en endringslogg?
- Steg 1: Opprett en Zapier-konto*
- Steg 2: Sett opp en Zap og lag en trigger
- Steg 3: Sett opp integrasjonen i Huma
- Steg 4: Test triggeren og lag en handling
- Steg 5: Ta imot dataene i Excel
- Steg 6: Test integrasjonen
Hva er en endringslogg?
En endringslogg gir deg en liste over endringer som er gjort på brukerprofilene i Huma. Slik har du kontroll på hva slags informasjon som er endret, og når.
Eksempel:
En ansatt oppdaterer bankkontonummeret sitt eller legger inn fødselsnummeret sitt. Endringene sendes til endringsloggen med informasjon om hva som er endret.I dette eksempelet bruker vi Microsoft Excel til å ta imot endringene fra Huma. Mange andre tjenester støtter også webhooks, for eksempel Google Drive, Slack og Teams, men i dette eksempelet bruker vi Microsoft Excel.
Steg 1: Opprett en Zapier-konto*
Gå til Zapier og opprett en konto. I dette eksempelet trenger du Professional-abonnementet for å få funksjonene som trengs.
*Zapier er et nettbasert verktøy for automatisering. Med det kan du koble sammen ulike nettapplikasjoner og automatisere arbeidsflyter mellom dem, uten å kunne programmere. Du lager «Zaps», som er automatiske arbeidsflyter der en hendelse i én app utløser handlinger i en annen. Zapier støtter tusenvis av apper, blant annet Gmail, Trello og Slack.
Steg 2: Sett opp en Zap og lag en trigger
En Zap består av ulike steg som sender data mellom systemer.
- Klikk «Create zap»
- Velg «Webhooks by Zapier»
- Velg «Catch Raw Hook» som «Event» og klikk «Continue»
- Kopier «Webhook URL»

Steg 3: Sett opp integrasjonen i Huma
- Åpne Huma
- Gå til «Systeminnstillinger» > «Integrasjoner»
- Velg «Webhooks» og klikk «Koble til» øverst til høyre
- Lim inn «Webhook URL» i feltet «Target URL»
- Vi anbefaler at du også legger inn en client secret eller et tilgangstoken for bedre sikkerhet
- Slå på «Send profildata»
- I dette eksempelet skal vi bare ta imot endringer i profildata
- Les brukervilkårene og klikk «Koble til»
- Nå har du en aktiv tilkobling mellom webhook-URL-en og organisasjonen deres i Huma
- Klikk «Eksporter» og gå videre til neste steg


Steg 4: Test triggeren og lag en handling
- Gå tilbake til Zapier og test triggeren. Nå bør du se en forespørsel som ligner på denne: [ Se skjermbilde under]
- Gå videre og legg til «Code by Zapier» som «Action» og «Run Javascript» som «Event»
- Gå videre til «Set up action», legg til
rawBodyog velg forespørselen1. Raw bodysom «Input Data» - Lim inn denne JavaScript-koden: (se under)
- Nå har du noe som ligner på dette: [Se skjermbilde under]
- Test handlingen og gå videre til neste steg



Lim inn Javascript kode:
const body = JSON.parse(input.rawBody)
const IDFieldNames = ["id", "email", "employmentId"]
const filterForNonIDField = (key) => IDFieldNames.includes(key) === false
output = body.users.map((user) => {
let fullAddress = ""
if (user.address && user.address.line1) {
fullAddress = `${user.address.line1}, `
if (user.address.line2) {
fullAddress += `${user.address.line2}, `
}
fullAddress += `${user.address.postalCode} ${user.address.city}, ${user.address.country}`
} let fullBankAccount = ""
if (user.bankAccount) {
if (user.bankAccount.iban) {
fullBankAccount = `IBAN: ${user.bankAccount.iban} BIC: ${user.bankAccount.bic}`
} else if (user.bankAccount.number) { fullBankAccount = `${user.bankAccount.country} ${user.bankAccount.number}`
}
}
let supervisor = ""
if (user.supervisor && user.supervisor.email) {
supervisor = `${user.supervisor.email}`
}
let nationalIdNumber = []
let passportNumber = []
if (user.identifications) {
for (const identification of user.identifications) {
if(identification.type === "national") {
nationalIdNumber.push(identification.value+ ' '+identification.country)
}
if(identification.type === "passport") {
passportNumber.push(identification.value+ ' '+identification.country)
}
}
}
let action = "event"
let updatedFields = []
if (body.topic === "users-export") {
action = "Export users"
//return {} //don't add rows when exporting users
} else if (body.topic === "users-create") {
action = "Add user"
} else if (body.topic === "users-delete") {
action = "Remove user"
} else if (body.topic === "users-update") {
action = "Update user"
const properties = Object.keys(user)
updatedFields = properties.filter(filterForNonIDField)
}
return {
topic: body.topic,
action, //human readable even (what kind of action is this)
date: new Date().toLocaleString('no-NO', {timeZone: "Europe/Oslo"}),
...user, //Include everything from the object
phone: (user.phone || "").replace(/\s/g, ""), //Remove white space
fullAddress,
fullBankAccount,
fullName: (user.familyName && `${user.familyName}, ${user.givenName}`) || '',
updatedFields: updatedFields.join(", "),
supervisor,
nationalIdNumber: nationalIdNumber.join(", "),
passportNumber: passportNumber.join(", "),
custom: JSON.stringify(user.custom), //all custom fields are sent to excel as a string
//salary: JSON.stringify(user.salary), //Do you want to send salary??
}
})

Steg 5: Ta imot dataene i Excel
- Legg til en ny handling ved å klikke på + under den forrige handlingen
- Velg «Microsoft Excel» og «Add row» som «Event», og klikk «Continue»
- Hver nye hendelse fra Huma lager en ny rad i regnearket
- Koble til Microsoft Excel-kontoen din og klikk «Continue»
- Last ned regnearket vårt her. Det må legges i OneDrive
- Velg regnearket og arket du vil ha endringsloggen i
- Under «Actions» kobler du endringene fra Huma til de ulike kolonnene i regnearket
- Test handlingen.
- Gå til regnearket og sjekk at det er laget en ny rad:




Steg 6: Test integrasjonen
- Gå til din egen profil i Huma og endre fødselsdatoen din
- Endringen vises i regnearket slik:
- Nå er du ferdig og har en endringslogg! Endringer i profilene sendes nå til regnearket

⚠️ Viktig!
- Dette er et eksempel, og Huma garanterer ikke at det fungerer.
- Vi anbefaler at du får hjelp av en utvikler med teknisk kompetanse når du setter opp webhook-integrasjonen.
- En webhook kan brukes på mange måter, og dette er bare ett eksempel. Du kan lese mer om webhooks og hva som støttes, her.