Behöver ert företag hjälp med att implementera AI? Kontakta oss och få prisoffert här →
AI Skolan
januari 22, 2026

Google Sheets till SinergiaCRM: rensade givarposter

Rickard Andersson Partner, Nodenordic.se

Att mata in givardetaljer på nytt från ett kalkylark till ditt CRM är den typen av jobb som känns ”snabbt” tills det plötsligt tar hela eftermiddagen. Och när du importerar data från face-to-face-insamling kan ett enda skrivfel i en e-postadress eller ett NIF i det tysta sabotera din rapportering senare.

Den här Sheets CRM sync slår hårdast mot fundraising ops, men CRM-administratörer och kampanjansvariga känner av det också. Du får givar-rader från Google Sheets in i SinergiaCRM automatiskt, med NIF-matchning för att minska dubbletter och en behandlad-flagga som förhindrar dubbelimporter.

Nedan ser du hur arbetsflödet beter sig, vad det löser och vad du behöver för att köra det stabilt i en riktig kampanj.

Så fungerar den här automatiseringen

Se hur det här löser problemet:

n8n Workflow Template: Google Sheets till SinergiaCRM: rensade givarposter

Utmaningen: offline-givardata blir CRM-kaos

Face-to-face-team samlar ofta in givardetaljer ”offline” i praktiken: ett delat Google Sheet från surfplattor, ett kalkylark som exporteras senare, eller en fil som bara synkas när teamet är online igen. Sedan måste någon föra över datan till SinergiaCRM, skapa givaren, koppla den till rätt relations- eller medlemskapspost och lägga upp åtagandet (pledge). Det låter enkelt tills du gör det rad efter rad, försöker undvika dubbletter och samtidigt kontrollerar vad som redan finns medan kampanjklockan tickar. Misstag kostar inte bara tid. De skapar dålig data som dyker upp veckor senare som röriga dashboards, felaktiga åtagandesummor och obekväma uppföljningar med supporters.

Inget av detta är problemet i sig. Tillsammans är de det.

  • Varje manuell återinmatning ökar risken för skrivfel i NIF, e-post och namn, vilket gör matchning senare mycket svårare.
  • Dubblettkontakter staplas på hög eftersom ”ser ut som samma person” inte är samma sak som en pålitlig identifierare.
  • Åtaganden och relationer missas när teamen har bråttom, så SinergiaCRM visar en kontakt men inte det åtagande du faktiskt behöver följa upp.
  • Utan en ”processed”-markering importeras samma rader två gånger efter en omsynk eller en överlämning mellan medarbetare.

Lösningen: synka kvalificerade rader till SinergiaCRM med NIF-matchning

Det här arbetsflödet bevakar ditt givar-Google Sheet efter nya rader och agerar bara på de rader du uttryckligen har godkänt att skicka. När en rad är markerad ”To CRM = Yes” och fortfarande ”Processed = No” kontrollerar n8n SinergiaCRM efter en befintlig kontakt med givarens NIF (en betydligt bättre matchningsnyckel än namn). Om kontakten finns går flödet direkt vidare till att skapa medlemsrelationen och betalningsåtagandet (pledge) du behöver för uppföljning. Om kontakten inte finns skapar det först kontakten och skapar sedan samma relation och åtagande direkt efter. Till sist skriver det tillbaka till Google Sheet och markerar raden som behandlad, så att du inte råkar importera den igen nästa gång arket synkas.

Flödet börjar med en rad-trigger i Google Sheets, följt av två snabba kontroller för att bekräfta att raden är avsedd för CRM och inte redan har hanterats. Därefter kommer NIF-uppslag, skapa-eller-uppdatera-logik och avslut med en ”Processed”-uppdatering tillbaka i Sheets.

Vad som ändras: före vs. efter

Effekt i verkligheten

Säg att teamet tar in 40 givarrader på en dag. Manuellt tar en noggrann registrering ofta cirka 5 minuter per rad när du räknar in kontroll av befintlig kontakt, tillägg av relation och skapande av åtagande, vilket blir ungefär 3 timmar fokuserat arbete. Med det här arbetsflödet är ”arbetet” att markera ”To CRM = Yes” (kanske 10 minuter totalt för hela batchen) medan n8n sköter CRM-stegen i bakgrunden och sedan växlar ”Processed” automatiskt. Du får tillbaka eftermiddagen och ditt CRM förblir konsekvent.

Krav

  • n8n-instans (prova n8n Cloud gratis)
  • Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
  • Google Sheets för att lagra offline-givarrader.
  • SinergiaCRM för att skapa kontakter, relationer och åtaganden.
  • SinergiaCRM OAuth/API-åtkomst (hämta det i dina admininställningar i SinergiaCRM).

Kunskapsnivå: Nybörjare. Du kopplar mest konton och säkerställer att dina kolumner i arket matchar fälten i arbetsflödet.

Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuterskonsultation).

Flödet i arbetsflödet

En ny givarrad dyker upp i Google Sheets. Det kan vara i realtid, eller ”senare” om era enheter var offline och arket synkas i efterhand. Triggern noterar helt enkelt nya rader.

Två snabba grindar avgör om raden ska hanteras. Arbetsflödet kontrollerar först ”To CRM = Yes” och bekräftar sedan ”Processed = No”. Om någon av villkoren inte uppfylls händer inget mer. Tyst.

Uppslag i SinergiaCRM sker med NIF. n8n söker efter en matchande kontakt baserat på NIF-värdet och tar sedan med den identifieraren in i resten av raden så att nästa steg kan fatta rätt beslut.

Skapa rätt poster i SinergiaCRM. Om kontakten redan finns skapar arbetsflödet medlemsrelationen och därefter betalningsåtagandet. Om kontakten inte finns skapar det först kontakten och skapar sedan relation och åtagande direkt efter.

Kalkylarket uppdateras så att du inte kan dubbelimportera. Sista steget skriver tillbaka till Google Sheets och sätter ”Processed” för raden, vilket blir din enkla granskningslogg.

Du kan enkelt justera logiken för ”To CRM” så att den matchar era kampanjregler utifrån era behov. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementering

Steg 1: Konfigurera Google Sheets-triggern

Det här arbetsflödet startar när en ny rad läggs till i ert Google Sheet.

  1. Lägg till noden Google Sheet Row Trigger och ställ in EventrowAdded.
  2. Välj Document som SinergiaCRM - Workflows och Sheet som Sheet2.
  3. Ställ in Poll TimeseveryMinute.
  4. Inloggningsuppgifter krävs: Anslut era googleSheetsTriggerOAuth2Api-inloggningsuppgifter.
⚠️ Vanlig fallgrop: Triggern körs bara för nyligen tillagda rader, inte för ändringar i befintliga rader.

Steg 2: Anslut Google Sheets

Markera varje behandlad post i arket för att förhindra dubbletter i CRM.

  1. Lägg till noden Update Sheet as Processed och ställ in Operationupdate.
  2. Välj samma Document SinergiaCRM - Workflows och Sheet Sheet2.
  3. I Columns mappar ni NIF till ={{ $('Assess Contact Presence').item.json.NIF }} och ställer in ProcessedYes.
  4. Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter.

Steg 3: Sätt upp validering av poster och parallell uppslagning

Filtrera rader som ska synkas till CRM och förhindra ombearbetning. Kör sedan en parallell uppslagning för att berika CRM-identifierare.

  1. I Validate CRM Flag ställer ni in villkoret till ={{ $json['To CRM'] }} är lika med Yes.
  2. I Verify Not Processed ställer ni in villkoret till ={{ $json.Processed }} är lika med No.
  3. Verify Not Processed skickar utdata till både Lookup Contact by NIF och Merge CRM Identifier parallellt.
  4. I Lookup Contact by NIF ställer ni in ModuleContacts och filtrerar på stic_identification_number_c med värdet ={{ $json.NIF }}.
  5. I Merge CRM Identifier ställer ni in Modecombine och Join ModeenrichInput2.
⚠️ Vanlig fallgrop: Om kolumnen Processed saknas eller stavas annorlunda kommer Verify Not Processed att stoppa giltiga rader.

Steg 4: Sätt upp fältmappning och beslutslogik för kontakt

Normalisera data från arket och routa befintliga kontakter kontra skapande av ny kontakt.

  1. I Map Record Fields mappar ni värden med uttryck som ={{ $json['First name'] }}, ={{ $json.NIF }} och ={{ $json['Bank Account'] }}.
  2. I Assess Contact Presence ställer ni in villkoret för att kontrollera att ={{ $json.id }} är notEmpty.
  3. Koppla utgången true (kontakt finns) till Add Member Link och utgången false (kontakt saknas) till Create CRM Contact.

Steg 5: Konfigurera Sinergia CRM-åtgärder

Skapa eller länka kontakter och skapa sedan betalningsåtaganden i Sinergia CRM.

  1. I Add Member Link ställer ni in Modulestic_Contacts_Relationships, Operationcreate och behåller Data-JSON:en som angiven, inklusive ={{ $json.id }} och den dynamiska start_date.
  2. I Create Payment Pledge ställer ni in Modulestic_Payment_Commitments och använder värden som ={{ $('Google Sheet Row Trigger').item.json.Amount }} och ={{ $('Google Sheet Row Trigger').item.json['Bank Account'] }}.
  3. I Create CRM Contact ställer ni in ModuleContacts och använder uttryck som ={{ $json['First name'] }} och ={{ $json.NIF }}.
  4. För flödet för ny kontakt konfigurerar ni Add Member Link Alt och Create Payment Pledge Alt med befintlig JSON, inklusive ={{ $('Create CRM Contact').item.json.id }} för kontaktlänken.
  5. Inloggningsuppgifter krävs: Anslut era SinergiaCRMCredentials-inloggningsuppgifter (gäller för alla Sinergia CRM-noder: Lookup Contact by NIF, Add Member Link, Create Payment Pledge, Create CRM Contact, Add Member Link Alt, Create Payment Pledge Alt).

Steg 6: Testa och aktivera ert arbetsflöde

Validera att nya rader synkas korrekt till CRM och markeras som behandlade.

  1. Klicka på Execute Workflow och lägg till en ny rad i Sheet2 med To CRM inställt på Yes och Processed inställt på No.
  2. Bekräfta att Lookup Contact by NIF och Merge CRM Identifier körs parallellt och att antingen flödet för befintlig kontakt eller flödet för ny kontakt slutförs.
  3. Verifiera att Update Sheet as Processed uppdaterar den matchande radens kolumn Processed till Yes.
  4. När ni är nöjda växlar ni arbetsflödet till Active för att aktivera kontinuerlig synk.
🔒

Lås upp fullständig steg-för-steg-guide

Få den kompletta implementeringsguiden + nedladdningsbar mall

Se upp med

  • Google Sheets-uppgifter kan löpa ut eller kräva specifika behörigheter. Om något slutar fungera, kontrollera först n8n:s test av autentiseringsuppgifter och arkets delningsinställningar.
  • Om era offline-enheter synkar många rader på en gång kan körningar klumpa ihop sig. Bearbetningstider varierar, så om efterföljande noder någon gång kör innan ett uppslag hinner svara, öka eventuella väntetider du lagt in (eller bearbeta i mindre batchar).
  • Fältkrav i SinergiaCRM varierar mellan installationer. Om arbetsflödet fallerar vid skapande är det ofta ett obligatoriskt fält som assigned_user_id eller en modulbehörighet (Contacts, stic_Contacts_Relationships, stic_Payment_Commitments).

Vanliga frågor

Hur snabbt kan jag implementera den här Sheets CRM sync-automatiseringen?

Vanligtvis cirka 30 minuter när dina kolumner i arket är klara.

Kan icke-tekniska team implementera den här Sheets CRM sync?

Ja. Ingen kodning krävs, bara kontokopplingar och ett par fältkontroller i Google Sheets.

Är n8n gratis att använda för det här arbetsflödet för Sheets CRM sync?

Ja. n8n har ett gratis alternativ för egen drift och en gratis provperiod på n8n Cloud. Molnplaner startar på 20 USD/månad för högre volym. Du behöver också räkna in kostnader för SinergiaCRM API-åtkomst, som vanligtvis ingår i din CRM-plan.

Var kan jag hosta n8n för att köra den här automatiseringen?

Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen drift på en VPS. För egen drift är Hostinger VPS prisvärd och hanterar n8n bra. Egen drift ger dig obegränsade körningar men kräver grundläggande serverhantering.

Hur anpassar jag den här Sheets CRM sync-lösningen till mina specifika utmaningar?

Du kan justera de två filterkontrollerna så att bara rätt rader går vidare (till exempel kräva en kolumn ”Validated” utöver ”To CRM”). Om din SinergiaCRM-installation använder andra fältnamn, justera dem i steget ”Map Record Fields” så att skapandet får det som din instans förväntar sig. Många team anpassar även relationstyp, åtagandebelopp eller periodicitet för att matcha varje kampanj. Vill du ha ett manuellt granskningssteg kan du lägga till en extra godkännandeflagga i arket innan ”Processed” sätts.

Varför misslyckas min SinergiaCRM-anslutning i det här arbetsflödet?

Oftast beror det på utgångna OAuth-uppgifter eller saknade modulbehörigheter i SinergiaCRM.

Vad är kapaciteten för den här Sheets CRM sync-lösningen?

Med n8n Cloud Starter kan du köra gott om dagliga givarimporter för ett typiskt kampanjark; om du kör egen drift finns ingen körningsgräns (det beror på din server). Den praktiska begränsningen är vanligtvis trigger-volym i Google Sheets och SinergiaCRM:s API-rate limits, inte n8n i sig. Om du importerar hundratals rader på en gång, kör i batchar och behåll ”Processed”-flaggan som ditt skyddsnät.

Är den här Sheets CRM sync-automatiseringen bättre än att använda Zapier eller Make?

Ofta, ja. Det här arbetsflödet behöver grenlogik (kontakt finns vs. finns inte) och en pålitlig dedupe-kontroll på NIF, och n8n hanterar det snyggt utan att göra varje gren till en betald ”task”. Egen drift är också viktigt för ideella organisationer som inte vill ha körningsbegränsningar under intensiva kampanjdagar. Zapier eller Make kan fortfarande fungera om din logik är enklare, men då slutar det ofta med att du jonglerar fler separata scenarion. Prata med en automationsexpert om du vill ha en snabb rekommendation för din exakta setup.

När det här väl rullar blir ditt ark en enkel inkommande kö och SinergiaCRM förblir felfritt. Arbetsflödet tar hand om repetitiva moment. Du fokuserar på uppdraget.

Kontakta oss

Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.

×

Använd mall

Få direkt tillgång till denna n8n-arbetsflödes JSON-fil

Launch login modal Launch register modal