Bygg en ändringslogg med webhooks
Ett exempel på hur du kan bygga en ändringslogg från Huma med webhook-integrationen
⚠️ Viktigt!
Det här är ett exempel och Huma garanterar inte att det fungerar.
Vi rekommenderar att du tar hjälp av en utvecklare med teknisk kunskap när du konfigurerar webhook-integrationen.
En webhook kan användas i många olika situationer och det här är bara ett exempel. Du kan läsa mer om webhooks och vad som stöds i Webhooks i Huma.
🔔🛡️ Kom ihåg att spara ett sådant Excel-ark med rätt åtkomstkontroll enligt GDPR, eftersom det innehåller personuppgifter.
Innehållsförteckning
- Roller och åtkomst
- Vad är en ändringslogg?
- Steg 1: Skapa ett Zapier-konto
- Steg 2: Konfigurera en Zap och skapa en trigger
- Steg 3: Konfigurera integrationen i Huma
- Steg 4: Testa triggern och skapa en åtgärd
- Steg 5: Ta emot uppgifterna i Excel
- Steg 6: Testa integrationen
- Vanliga frågor
Roller och åtkomst
| Roll | Åtkomst |
|---|---|
| Systemroll med fullständig åtkomst till Organisation | Kan konfigurera webhook-integrationen i Huma |
Vad är en ändringslogg?
En ändringslogg ger dig en lista över ändringar som har gjorts på användarnas profiler i Huma. Då har du koll på vilken typ av information som har ändrats och när.
Exempel:
En anställd uppdaterar sitt bankkontonummer eller lägger till sitt personnummer – ändringarna skickas till ändringsloggen.
I det här exemplet använder vi Microsoft Excel för att ta emot ändringarna från Huma. Många andra tjänster stöder webhooks, till exempel Google Drive, Slack och Teams, men i det här exemplet använder vi Microsoft Excel.
Steg 1: Skapa ett Zapier-konto
Gå till Zapier och skapa ett konto. För det här exemplet behöver du Professional-planen för att få de funktioner som krävs.
Zapier är ett webbaserat automatiseringsverktyg som kopplar ihop olika webbapplikationer och automatiserar arbetsflöden mellan dem, utan att du behöver kunna programmera. Du skapar «Zaps», automatiserade arbetsflöden som utlöser åtgärder i en app utifrån händelser i en annan app. Zapier stöder tusentals appar, bland annat Gmail, Trello och Slack.
Steg 2: Konfigurera en Zap och skapa en trigger
En Zap består av olika steg som skickar data mellan olika system.
- Klicka på «Create zap».
- Välj «Webhooks by Zapier».
- Välj «Catch Raw Hook» som «Event» och klicka på Continue.
- Kopiera webhook-URL:en.

Steg 3: Konfigurera integrationen i Huma
- Logga in i Huma.
- Gå till Integrationer.
- Leta upp Webhook och klicka på «Ny anslutning» och sedan «Konfigurera».
- Klistra in webhook-URL:en från Zapier i fältet «Target URL».
Vi rekommenderar att du även lägger till en client secret eller access token för bättre säkerhet. - Aktivera «Skicka profildata».
I det här exemplet tar vi bara emot ändringar av profildata. - Läs användarvillkoren och slutför anslutningen.

- Nu har du en aktiv anslutning mellan webhook-URL:en och er organisation i Huma.
- Klicka på «Exportera» och gå vidare till nästa steg.

Steg 4: Testa triggern och skapa en åtgärd
- Gå tillbaka till Zapier och testa triggern. Du bör nu ha en förfrågan som ser ut ungefär så här:

- Fortsätt och lägg till «Code by Zapier» som Action och «Run Javascript» som Event.

- Gå vidare till «Set up action», lägg till
rawBodyoch välj förfrågan1. Raw bodysom Input Data.
- Klistra in följande JavaScript-kod:
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??
}
})💡 Om ni vill visa datum i svensk tid kan ni ändra
'no-NO'och"Europe/Oslo"i koden till'sv-SE'och"Europe/Stockholm". - Nu ser det ut ungefär så här:

- Testa åtgärden och gå vidare till nästa steg.
Steg 5: Ta emot uppgifterna i Excel
- Lägg till en ny åtgärd genom att klicka på + under den föregående åtgärden.
- Välj «Microsoft Excel» och «Add row» som Event och klicka på Continue.
Varje ny händelse från Huma skapar en ny rad i Excel-arket. - Anslut till ert Microsoft Excel-konto och klicka på Continue.
- Ladda ner vårt Excel-ark här. Det måste läggas till i er OneDrive.
- Välj kalkylbladet (Spreadsheet) och arbetsbladet (Worksheet) där ändringsloggen ska ligga.

- Under åtgärderna kopplar du ändringarna från Huma till de olika kolumnerna i Excel-arket.

- Testa åtgärden. Du får ett svar som ser ut ungefär så här:

- Gå till Excel-arket och kontrollera att en ny rad har skapats:

Steg 6: Testa integrationen
- Gå till din egen profil i Huma och uppdatera ditt födelsedatum.
- Ändringen visas i Excel-arket så här:

- Klart – nu har du en ändringslogg! Ändringar i profilerna skickas nu till Excel-arket.
Vanliga frågor
Garanterar Huma att det här exemplet fungerar?
Nej. Det här är ett exempel. Vi rekommenderar att du tar hjälp av en utvecklare när du konfigurerar webhook-integrationen.
Måste jag använda Excel?
Nej. Många andra tjänster stöder webhooks, till exempel Google Drive, Slack och Teams. Excel används bara som exempel här.
Vilken Zapier-plan behöver jag?
För det här exemplet behöver du Professional-planen i Zapier.
Hur skyddar jag uppgifterna i ändringsloggen?
Ändringsloggen innehåller personuppgifter. Spara Excel-arket med rätt åtkomstkontroll enligt GDPR, och lägg gärna till en client secret eller access token i webhook-anslutningen i Huma.