1a. Är det möjligt?
Det är definitivt möjligt att utföra en import själv, beroende på den tekniska förståelsen som finns tillgänglig för klienten och deras tålamod att arbeta genom det.
Detta skulle fungera genom att ha en intern resurs skriva ett skript som kan ta information från deras befintliga databas, omvandla den till ett Teamtailor-färdigt format och sedan skicka den till oss. Detta kan göras antingen genom att ta data från klientens befintliga databas genom API eller genom ett dokument.
Till sist är det enda som spelar roll att ni har personer som kan förstå data och API:er.
1b. Borde vi göra det?
Det är en mycket svårare fråga - det finns många för- och nackdelar med det. Normalt sett skulle detta vara mer rekommenderat för större företag som har fler resurser att göra detta samt ett större behov av en snabbare lösning.
Fördelar
Kan göras enligt ert eget schema
Ni kan bestämma varje attribut och parameter som importeras och hur det ska se ut
Det är helt gratis
Vi kan erbjuda stöd för att förklara hur detta skulle kunna fungera
Nackdelar
Kräver att skriva ett i princip unikt skript som kan översätta information från en källa till ett format som Teamtailor accepterar
Offentligt API har ett frekvensbegränsning - 50 förfrågningar per 10 sekunder, vilket innebär att importera en stor databas kan ta mycket tid
Kräver god förståelse för hur data och API:er fungerar
2. Processen
Förstå Teamtailors data
Förstå Teamtailors offentliga API
Skriva skriptet
Teamtailor har en relationell datamodell, vilket innebär att objekt kan ha attribut som är unika för dem och relationer till andra objekt som inte är det. Dessa relationer är avgörande för att förstå hur Teamtailor fungerar.
Attribut innehåller data som är unik för denna specifika jobbansökan - när den skapas, om den är sourcad och så vidare.
Relationer innehåller data som inte är unik för denna jobbansökan men existerar utanför den. Till exempel har varje jobbansökan en relation till kandidat och jobb.
Dessa används för att bättre förstå vem som har fyllt i denna jobbansökan och vilken position den har skapats för.
Detta är hjälpsamt eftersom om det finns ändringar i Kandidaten eller Jobbet kommer jobbansökan fortfarande fungera eftersom den bara har en länk till det. Den påverkas inte direkt av ändringarna i de andra två. Dock innebär detta också att skapa vissa objekt inom Teamtailor kan kräva mer än en förfrågan.
Kandidatobjekt
Majoriteten av tiden görs importer för att importera kandidater och därför är det viktigt att förstå hur kandidatobjektet fungerar och vilka data som kan läggas till som attribut till objektet eller som relationer.
Som tidigare nämnts kommer ett kandidatobjekt ha en relation till en Jobbansökan om det har skett en ansökan tidigare men det finns många fler sådana relationer. Trots allt är kandidatobjektet det viktigaste på plattformen.
Attribut
Den mest grundläggande kandidatdatan finns här - mestadels är det namn, kontaktinformation, samtyckesdata och annan sådan information som ni kanske vill behålla där.
Ni kan dock märka att viss annan data inte finns här - till exempel finns det inte ett fält för 'kön' eller 'ålder'. Det är för att Teamtailor verkar med en öppen datastruktur i åtanke. Grunden finns här i attributen, men ytterligare data måste läggas till antingen som Anpassade fält eller Svar.
Relationer
Som ni kan se från denna tabell kan Kandidaten ha många olika relationer.
Relevant för import:
Frågor och svar innehåller data om vilka frågor kandidaten har svarat på och vilka svar som gavs. Båda dessa finns som individuella objekt utanför kandidaten.
Anpassade fältvärden innehåller svar på alla anpassade fält som tidigare konfigurerats. Till exempel, om det finns ett anpassat fält som kallas 'parent', kommer värdet för kandidaten att säga 'ja' eller 'nej'. Det anpassade fältet kommer att användas på samma sätt, men värdet kommer att vara unikt för kandidaten. Värdet för det anpassade fältet (ja eller nej) kommer att vara relaterat till kandidaten och det anpassade fältet (kön).
Anteckningar (kommentarer) kan innehålla vilken fri textinformation rekryteraren har angett och kan även läggas till via API. Detta kan också innehålla information som inte passar någon annanstans, till exempel ett CV-transkript.
Inte relevant för import:
Aktiviteter innehåller information om varje åtgärd som har vidtagits på kandidaten.
Uppladdningar innehåller alla ytterligare dokument som kandidaten har laddat upp.
Partnerresultat innehåller alla data vi har fått från andra integrationer ni kan använda, till exempel testresultat.
Avdelning, roll, regioner och platser innehåller olika data om var kandidaten ansöker - dessa är automatiskt ärvda från eventuella jobb de har ansökt om och är inte relaterade till kandidatens plats direkt.
2. Förstå Teamtailors offentliga API
Teamtailors offentliga API är utformat i enlighet med JSON:API-specifikationen. Detta innebär att vi främst använder JSON vid kommunikation genom API:et. Dokumentationen har exempel om det behövs och en användbar bibliotek som kan importeras till er Postman också.
Visa datan
Som tidigare förklarats har Teamtailor en relationell datamodell, vilket innebär att många av objekten existerar i relation till varandra, inklusive kandidater och deras anpassade fältvärden och svar. Eftersom endast ett nytt objekt kan skapas per förfrågan krävs ett visst antal förfrågningar att göras för varje kandidat.
För att underlätta är det möjligt att “öppna” vissa av dessa relationer i svaret genom att lägga till en include-parameter. Till exempel, om ni vill veta vilka anpassade fältvärden för en kandidat är, i begäran kan ni lägga till ?include=custom-field-values
vilket kommer att lägga till en ytterligare avsnitt nedanför datan som kallas included
, som kommer att innehålla all data om de individuella anpassade fältvärden som finns under den relationen.
Detta betyder även att varje anpassat fältvärde, svar eller anteckning (kommentar) som kommer att läggas till kandidaten måste läggas till som en separat begäran.
Förfrågningsgräns
Förfrågningsgränsen är 50 förfrågningar per 10 sekunder, så skriptet behöver vila när detta nås eller förfrågningarna bör vara utspridda så att de aldrig når denna gräns. Normalt sett är det bra att lägga till en 300 ms fördröjning mellan varje förfrågan för att förhindra att förfrågningsgränsen nås.
3. Att skriva skriptet
Här är en process för en grundläggande anpassad import:
Post Candidate endpoint - använd detta för att skapa en helt ny kandidat. Om det finns dubbletter kommer de att slås samman som standard (om attributet 'merge' är inställt på true). Detta bör innehålla grundläggande information om kandidaten - namn, e-post, telefonnummer, bild och CV.
Om ett CV behövs måste ni först ladda upp det på en offentlig server i minst 30 sekunder och sedan ange URL:en som CV. Vi kommer att ladda upp CV-filen inom dessa 30 sekunder så att ni kan ta bort dem senare.
Post Custom-field-value endpoin - använd detta för att lägga till anpassade fältvärden för kandidaten. Ni behöver kandidat-ID och anpassat fält-ID innan ni gör det. Anpassade fält kan skapas genom sin egen koppling eller läggas till på plattformen, vilket som är enklare.
Post Answer endpoint - använd detta för att lägga till svar på kandidatkortet. Svar kan ha en relation till en tjänst också om frågan är specifik för den tjänsten. Svar liknar anpassade fältvärden, men de är menade att vara något som kandidaten själv kan fylla i under ansökan, snarare än något som sattes in av rekryteraren.
Notes (Comments) endpoint - använd denna om ni vill ladda upp mycket data och ni inte är helt säker på hur mycket av den datan som redan finns. Detta hamnar på kandidatkortet, under fliken Kommentarer, som ett flöde. Anteckningar (Kommentarer) kräver en användare och en kandidat.
När uppladdningen är klar kan ni validera informationen som finns på plattformen genom att kontrollera antalet kandidater och om de har den önskade datan.
Support
Om ni stöter på problem som felmeddelanden eller om något helt enkelt inte fungerar som det ska, kan ni kontakta vår support genom att klicka på chattrutan i plattformen eller via e-post support@teamtailor.com
Om ni behöver hjälp med bredare frågor som att förstå processen bättre eller datamodellen, kontakta er säljare eller CSM så försätter de er i kontakt med någon som kan hjälpa till med det.