BoostlyVad vi görVad vi har gjortVilka vi är
Jobba hos ossKunskapsbank
Logga in till Sidekick Portal
Guide9 min

Så här bygger du ett CRM i SharePoint utan att köpa ett CRM

Marta López de Letona

Marta López de Letona

M365-utvecklare

Kontakter, företag, affärer och händelser som SharePoint-listor, ett gränssnitt ovanpå, och Microsoft Graph som gör mejl och kalender till data. En guide i sex steg till ett CRM som ni äger själva.

De flesta CRM-system används till tre saker: komma ihåg vem man pratat med, se vilka affärer som är på gång, och veta vad som hänt med en kund. Det är inte mycket data. Det är däremot data som måste hänga ihop med mejl, kalender och dokument, och det är där de flesta bolag fastnar: CRM:et blir en ö som ingen uppdaterar.

SharePoint har redan listor med kolumner, versioner, behörigheter och ett API. Microsoft Graph har redan er mejl och kalender. Den här guiden visar hur vi satte ihop det till ett CRM vi faktiskt använder varje dag.

Förutsättningar

Ni behöver en Microsoft 365-tenant med SharePoint, en app-registrering i Entra ID med rättigheter till Sites och Calendars, och någon som kan bygga ett gränssnitt. Vi byggde vårt i Next.js, men Power Apps eller ett SPFx-webbdelslager fungerar lika bra. Datamodellen är det viktiga.

Steg 1: Rita datamodellen innan du skapar en enda lista

Fyra listor räcker länge: Företag, Kontakter, Affärer och Händelser. Kontakter pekar på Företag. Affärer pekar på Företag och en huvudkontakt. Händelser pekar på Kontakt eller Affär och har en typ: mejl, möte, anteckning, bokning, portfoliobesök.

Gränssnitt

Staff, Power Apps, SPFx

API-lager

Egna routes, validering

SharePoint-listor

Företag, Kontakter, Händelser

Microsoft Graph

Mejl, kalender, Teams

Vanligt misstag: att lägga företagsinformation på kontakten. När kontakten byter jobb vill ni att historiken följer företaget, inte personen.

Steg 2: Skapa listorna med rätt kolumntyper

Använd uppslagskolumner (lookup) för relationerna och val-kolumner (choice) för status och typ. Lägg en textkolumn för externa id:n redan nu, till exempel kundnummer i ekonomisystemet. Den kolumnen är det som senare gör att signaturen kan skapa kunden i Fortnox utan dubbletter.

ListaNyckelkolumnerTips
FöretagNamn, Orgnr, Domän, Status, FortnoxIdDomänen gör att inkommande mejl kan matchas på kollega
KontakterNamn, E-post, Titel, Företag (lookup), LinkedInE-post som unik nyckel, inte namnet
AffärerTitel, Företag, Kontakt, Värde, Fas, Förslag-idFas som choice, aldrig fritext
HändelserTyp, Kontakt, Affär, Text, Tidpunkt, KällaKälla säger om det kom från mejl, hemsida eller en människa

Steg 3: Bygg API-lagret, inte bara en vy

Låt ingenting skriva direkt till listorna från gränssnittet. Ett tunt API-lager som validerar och normaliserar (e-post i gemener, domän ur e-posten, dubblettkontroll) sparar er från ett CRM fullt av skräp. Samma lager används sedan av automationerna: bokningen från hemsidan och signaturen från e-signeringen anropar samma funktioner som en människa gör.

Steg 4: Gör mejl och kalender till händelser

Här blir det ett CRM i stället för en adressbok. Med Microsoft Graph kan en bakgrundsjobb läsa en delad brevlåda eller kalender och skapa händelser på rätt kontakt:

    1. Ett möte i kalendern med en extern deltagare blir en händelse av typen möte.
    2. Ett svar på ett utskick matchas på konversations-id, annars på avsändarens adress, annars på domän. Domänmatchningen fångar kollegan som svarar åt mottagaren.
    3. En bokning på hemsidan skapar kontakten om den saknas, med källa hemsidan.

OBS: Läs bara det ni behöver. Ett CRM som speglar hela inkorgen blir en integritetsrisk och ett brus. Vi läser en dedikerad outreach-mapp, inte personliga brevlådor.

Steg 5: Lägg på gränssnittet sist

När datamodellen och API:et håller är gränssnittet ett dagsarbete per vy. Vi byggde tre: kontaktkortet med tidslinje, företagskortet med alla kontakter och affärer, och en lista över vad som behöver göras i dag. Det räcker för att ersätta ett köpt CRM för ett bolag på under tjugo personer.

Steg 6: Koppla på resten av kedjan

Nu kan allt annat skriva till CRM:et. Offertgeneratorn skapar affären. Signaturen flyttar affären till vunnen och skapar kunden i ekonomisystemet. Projektportalen läser kunden därifrån. Varje nytt system ni kopplar på gör CRM:et mer värt, utan att någon behöver uppdatera det för hand.

Checklista

    1. Fyra listor med lookup-relationer och ett externt id-fält
    2. Ett API-lager som alla skrivningar går genom
    3. Händelser från kalender och en avgränsad brevlåda via Graph
    4. Gränssnitt för kontakt, företag och dagens lista
    5. Automationer som skriver via samma API som människor

Vårt eget CRM, som vi kallar Staff, finns beskrivet som en del av vårt flaggskeppscase. Vill du ha hjälp att rita er datamodell är det ett bra första möte.

Vanliga frågor

Klarar SharePoint-listor tillräckligt många poster?

Ja för de flesta tjänstebolag. Gränsen på fem tusen poster per vy hanteras med indexerade kolumner och filtrerade vyer. Ett CRM med tiotusentals kontakter går bra, hundratusentals bör ligga i Dataverse eller en databas.

Varför inte Dynamics 365 eller HubSpot?

Det går utmärkt om ni redan har licenserna och använder dem. Vår erfarenhet är att små bolag betalar för funktioner de inte använder och ändå inte får mejl och kalender att hänga ihop. SharePoint plus Graph löser just det, på licenser ni redan har.

Hur hanterar vi GDPR i ett egenbyggt CRM?

Bättre än i många köpta system, eftersom ni vet exakt vad som lagras. Ha en spärrlista för avregistrerade adresser, logga källan till varje kontakt, och bygg en rutin för att radera en person på begäran.

SharePointMicrosoft 365Digital arbetsplats
Skapad med AI

Om artikeln

Denna artikel är framtagen delvis med hjälp av AI (Anthropic Claude) och kan därför innehålla felaktigheter eller generaliseringar. Innehållet är granskat av en människa innan publicering, men vi rekommenderar att du verifierar viktig information innan du fattar beslut baserat på den.