Din lead kommer in. Sedan… ingenting. Eller ännu värre: ett generiskt ”Tack för att du registrerade dig” som känns som att det är skrivet för alla, vilket betyder att det inte träffar någon.
Det är här SendPulse OpenAI-automation gör skillnad. Marknadschefer som försöker öka konverteringsgraden känner smärtan först, men småföretagare och byråteam som hanterar flera trattar dränks av den också.
Det här arbetsflödet förvandlar varje ny registrering till ett personligt välkomstmejl eller sms, automatiskt. Du får se vad det gör, vad du behöver och hur du får det att matcha er tonalitet.
Så fungerar den här automatiseringen
Hela n8n-flödet, från trigger till slutresultat:
n8n Workflow Template: SendPulse + OpenAI: smartare välkomstmejl och sms
flowchart LR
subgraph sg0["SendPulse MCP Client Flow"]
direction LR
n0@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model", pos: "b", h: 48 }
n1["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Get New Access Token"]
n2@{ icon: "mdi:cog", form: "rounded", label: "Get Token from Storage", pos: "b", h: 48 }
n3@{ icon: "mdi:cog", form: "rounded", label: "Save Token to Storage", pos: "b", h: 48 }
n4["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Generate Hash"]
n5@{ icon: "mdi:swap-vertical", form: "rounded", label: "Workflow Configuration", pos: "b", h: 48 }
n6@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Is Token Expired?", pos: "b", h: 48 }
n7@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Exists phone?", pos: "b", h: 48 }
n8@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Exists email?", pos: "b", h: 48 }
n9["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Create mailing list with pho.."]
n10["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Search Mailing Lists With Ph.."]
n11["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Search Mailing Lists With Em.."]
n12@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Is Exists Mailing List With ..", pos: "b", h: 48 }
n13@{ icon: "mdi:wrench", form: "rounded", label: "SendPulse MCP Client", pos: "b", h: 48 }
n14@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set Access Token", pos: "b", h: 48 }
n15@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Exists Mailing List With Ema..", pos: "b", h: 48 }
n16["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Create Mailing List With Ema.."]
n17@{ icon: "mdi:robot", form: "rounded", label: "Generate And Send Welcome Em..", pos: "b", h: 48 }
n18@{ icon: "mdi:robot", form: "rounded", label: "Generate Welcome SMS", pos: "b", h: 48 }
n19["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Add Email to Mailing List"]
n20["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Add Phone Number to Mailing .."]
n21["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Send SMS to Client"]
n22["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/webhook.dark.svg' width='40' height='40' /></div><br/>New Customer Registration"]
n23["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Get Mailing List"]
n8 --> n11
n8 --> n7
n7 --> n10
n4 --> n2
n23 --> n8
n14 --> n23
n6 --> n1
n6 --> n14
n0 -.-> n17
n0 -.-> n18
n18 --> n21
n1 --> n3
n13 -.-> n17
n3 --> n14
n2 --> n6
n5 --> n4
n19 --> n17
n22 --> n5
n16 --> n19
n9 --> n20
n20 --> n18
n15 --> n19
n15 --> n16
n11 --> n15
n10 --> n12
n12 --> n20
n12 --> n9
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n17,n18 ai
class n0 aiModel
class n13 ai
class n6,n7,n8,n12,n15 decision
class n1,n9,n16,n19,n20,n21,n22,n23 api
class n4,n10,n11 code
classDef customIcon fill:none,stroke:none
class n1,n4,n9,n10,n11,n16,n19,n20,n21,n22,n23 customIcon
Problemet: långsam, generisk uppföljning som läcker intäkter
De flesta leads ”kallnar” inte för att de hatade ditt erbjudande. De kallnar för att första kontakten aldrig landar, eller landar sent och slätstruket. Den manuella varianten är ett haveri: exportera från ditt formulärverktyg, strukturera datan, välj rätt lista, skriv ett vettigt meddelande och kom sedan ihåg att göra det igen i morgon. Och när du har mycket att göra blir uppföljningen inkonsekvent. Den inkonsekvensen är dyr, eftersom välkomstmeddelanden är ögonblicket då folk faktiskt är uppmärksamma och förväntar sig vägledning.
Friktionen bygger på. Här brukar det vanligtvis fallera.
- Nya registreringar blir liggande i timmar eftersom ingen ”äger” det första svaret.
- Listor blir snabbt röriga när e-post och telefonnummer hanteras på olika ställen.
- Generiska mallar tvingar dig till samma text för varje lead, så svarsfrekvensen förblir låg.
- API-tokens och behörigheter ignoreras tills något fallerar mitt i en kampanj.
Lösningen: skicka varje registrering till SendPulse och låt sedan OpenAI skriva välkomstmeddelandet
Det här arbetsflödet startar i samma ögonblick som någon skickar in sina uppgifter på din webbplats. n8n tar emot payloaden via en webhook, kontrollerar vilken kontaktinfo du faktiskt fick (e-post, telefon eller båda) och säkerställer sedan att rätt SendPulse-adressböcker finns. Om listan inte finns ännu skapar den den direkt. Därefter lägger den till kontakten i rätt lista och genererar ett anpassat välkomstmeddelande med OpenAI, med separat logik för e-post respektive sms. Till sist skickas meddelandet via SendPulse, så varje lead får en snabb, relevant första kontakt utan att du behöver kopiera, klistra in eller gissa.
Den hanterar också tokenhantering i bakgrunden genom att cacha SendPulse-åtkomsttoken i en n8n Data Table. Det minskar onödiga API-anrop och gör automatiseringen mer stabil över tid.
Vad du får: automatisering vs. resultat
| Vad det här arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att din webbplats tar in 30 nya leads om dagen. Manuellt kanske du lägger cirka 5 minuter per lead på att sortera kontaktinfo, lägga till dem i SendPulse och skicka en bra välkomsthälsning, vilket blir ungefär 2–3 timmar per dag. Med det här flödet är du nere på sekunder för att ta emot registreringen (det sker automatiskt), plus en kort väntan medan OpenAI tar fram texten och SendPulse skickar den. I praktiken går du från ”jag tar det senare” till att varje lead kontaktas samma dag, utan att du behöver vakta processen.
Det här behöver du
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- SendPulse för att lagra kontakter och skicka e-post/sms.
- OpenAI för att skriva anpassade välkomstmeddelanden.
- SendPulse Client ID + Client Secret (hämta dem i SendPulse-inställningar under API).
- OpenAI API-nyckel (hämta den från OpenAI:s sida för API-nycklar).
Kunskapsnivå: Medel. Du kopplar in inloggningsuppgifter, ändrar några fält och testar en webhook-payload.
Vill du inte sätta upp det själv? Prata med en automationsspecialist (gratis 15-minuters konsultation).
Så fungerar det
En ny registrering träffar din webhook. n8n tar emot kunddata från ditt webbformulär eller din landningssida och svarar direkt så att formulärskicket känns snabbt.
Token och kontoåtkomst hanteras först. Arbetsflödet kontrollerar en cachad SendPulse-åtkomsttoken i en n8n Data Table, validerar utgångstid och begär bara en ny token när det behövs.
Kontakter routas korrekt. Om e-post finns söker den upp dina e-postadressböcker; om telefonnummer finns kontrollerar den telefonlistorna. Saknas lista? Då skapar den en, och lägger sedan till kontakten på rätt ställe.
OpenAI skriver texten och SendPulse skickar den. Arbetsflödet använder separata AI-agenter för att skriva ett välkomstmejl respektive ett välkomst-sms och skickar sedan sms:et eller förbereder e-postflödet baserat på din uppsättning.
Du kan enkelt ändra listnamn, avsändaruppgifter och landsrouting så att det matchar dina kampanjer. Se hela implementeringsguiden nedan för alternativ för anpassning.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera webhook-triggern
Konfigurera den inkommande webhooken som tar emot nya kundregistreringar och skickar payloaden vidare in i arbetsflödet.
- Lägg till och öppna Incoming Customer Signup.
- Ställ in Path på
customer-registration. - Ställ in HTTP Method på
POST. - Spara webhooken och kopiera test-URL:en för senare användning.
body.name, body.email eller body.phone kommer de efterföljande “present”-kontrollerna att hoppa över skapande av listor och utskick.Steg 2: Anslut SendPulse-konfiguration och tokenlagring
Konfigurera SendPulse API-inställningarna och cachning av token så att arbetsflödet kan autentisera och återanvända access tokens.
- Öppna Workflow Settings och ange de statiska fälten: sendPulseApiUrl till
https://api.sendpulse.com, clientId tilloch clientSecret till. - Ange listnamn i Workflow Settings: mailingListWithEmails till
Customer emailsoch mailingListWithPhones tillCustomer phone numbers. - Konfigurera avsändarvärden: senderName, senderEmail, smsSender, routeCountryCode till
UAoch routeType tillinternational. - Säkerställ att de dynamiska tilldelningarna mappar registreringsdata: name till
{{ $json.body.name }}, email till{{ $json.body.email }}och phone till{{ $json.body.phone }}. - Verifiera att Compute Storage Hash förblir oförändrad (den genererar hashen som används av tokenlagringen).
- I Retrieve Token Storage och Upsert Token Storage, bekräfta att datatabellen är
tokens(IDl03FRqX5p37JB7a6) och behåll filtret hash satt till{{ $json.storageKey }}/{{ $('Compute Storage Hash').item.json.storageKey }}.
eller i Workflow Settings kommer Request New Access Token att misslyckas.Steg 3: Konfigurera tokenhämtning och upptäckt av utskickslistor
Konfigurera hur access tokens hämtas/valideras och hur utskickslistor upptäcks innan kontakter läggs till.
- I Validate Token Expiry behåller ni de två villkoren: tokenExpiry är inte lika med
nulloch{{ Date.now() }}är större än eller lika med{{ new Date($json.tokenExpiry).getTime() }}. - Öppna Request New Access Token och bekräfta att URL:en är
{{ $('Workflow Settings').item.json.sendPulseApiUrl }}/oauth/access_tokenmed body-parametrarna: grant_typeclient_credentials, client_id{{ $('Workflow Settings').item.json.clientId }}och client_secret{{ $('Workflow Settings').item.json.clientSecret }}. - Verifiera att Assign Access Token tilldelar accessToken till
{{ $json.accessToken }}. - Bekräfta att Retrieve Mailing Lists använder URL:en
{{ $('Workflow Settings').item.json.sendPulseApiUrl }}/addressbooksoch headern AuthorizationBearer {{ $json.accessToken }}. - Behåll logiken för listupptäckt i Find Email Lists och Find Phone Lists som den är (de söker i de hämtade adressböckerna och output:ar
isMailingListochmailingListId).
Steg 3: Konfigurera AI-meddelanden och verktyg
Konfigurera AI-modellen och verktyget som genererar och skickar personliga välkomstmeddelanden.
- Öppna OpenAI Conversation Model och välj modellen
gpt-4.1-mini. - Credential Required: Anslut era OpenAI-credentials i OpenAI Conversation Model (detta är språkmodellen som matar Compose Welcome Email och Compose Welcome SMS).
- Öppna Compose Welcome Email och bekräfta att prompten innehåller uttryck för avsändare och mottagare, såsom
{{ $('Workflow Settings').first().json.senderName }}och{{ $('Workflow Settings').first().json.email }}. - Öppna Compose Welcome SMS och bekräfta att prompten refererar till
{{ $('Workflow Settings').first().json.name }}och{{ $('Workflow Settings').first().json.phone }}. - Öppna SendPulse MCP Connector och behåll endpointen
https://mcp.sendpulse.com/mcpmed verktygetsmtp_emails_send. - Credential Required: Anslut era
httpMultipleHeadersAuth-credentials i SendPulse MCP Connector. Det här verktyget är kopplat till Compose Welcome Email, så lägg till credentials på verktygsnoden i sig.
Steg 4: Konfigurera listhantering och utskicksåtgärder
Konfigurera SendPulse-listoperationerna och meddelandeutskicken så att kontakter läggs till innan välkomstmeddelandena genereras.
- Säkerställ att Check Email Present utvärderar
{{ $('Workflow Settings').item.json.email }}och routar till Find Email Lists när den finns. - I Create Email List verifierar ni URL:en
{{ $('Workflow Settings').first().json.sendPulseApiUrl }}/addressbooksoch body-parametern bookName satt till{{ $('Workflow Settings').first().json.mailingListWithEmails }}. - I Append Email to List ställer ni in URL till
{{ $('Workflow Settings').first().json.sendPulseApiUrl }}/addressbooks/{{ $json.id || $json.mailingListId }}/emailsoch JSON Body till den angivna strukturen som använder{{ $('Workflow Settings').first().json.email }}och{{ $('Workflow Settings').first().json.name }}. - Säkerställ att Check Phone Present utvärderar
{{ $('Workflow Settings').item.json.phone }}och routar till Find Phone Lists när den finns. - I Create Phone List verifierar ni URL:en
{{ $('Workflow Settings').first().json.sendPulseApiUrl }}/addressbooksoch body-parametern bookName satt till{{ $('Workflow Settings').first().json.mailingListWithPhones }}. - I Append Phone to List behåller ni JSON Body som mappar
{{ $('Workflow Settings').first().json.phone }}och{{ $('Workflow Settings').first().json.name }}till vald adressbok. - I Dispatch SMS Message bekräftar ni att JSON Body använder
{{ $json.output }}för meddelandetexten och routningsfälten{{ $('Workflow Settings').first().json.routeCountryCode }}och{{ $('Workflow Settings').first().json.routeType }}.
Steg 5: Testa och aktivera ert arbetsflöde
Kör ett fullständigt test för att bekräfta att tokens, listoperationer och AI-meddelanden körs korrekt innan ni aktiverar arbetsflödet.
- Klicka på Execute Workflow och skicka en POST-request till Incoming Customer Signup-test-URL:en med
body.name,body.emailochbody.phone. - Verifiera att Request New Access Token eller den cachade token-vägen sätter Assign Access Token med
accessToken. - Bekräfta listupptäckt och skapande: Find Email Lists → Email List Exists? → Append Email to List, och Find Phone Lists → Phone List Exists? → Append Phone to List.
- Kontrollera AI-utdata: Compose Welcome Email ska skapa ett e-postmeddelande och Compose Welcome SMS ska skapa SMS-text som går vidare till Dispatch SMS Message.
- När testet lyckas hela vägen, växla arbetsflödet till Active för användning i produktion.
Vanliga fallgropar
- SendPulse-inloggningar kan gå ut eller kräva specifika behörigheter. Om det slutar fungera, kontrollera dina SendPulse API-inställningar (Client ID/Secret) och bekräfta att token-begäran lyckas.
- Om du använder Wait-noder eller extern bearbetning kan timing variera. Öka väntetiden om efterföljande noder misslyckas på tomma svar efter att OpenAI genererat utkastet.
- Standardprompter i AI-noder är generiska. Lägg in er tonalitet i agenterna “Compose Welcome Email” och “Compose Welcome SMS” tidigt och ärligt, annars kommer du att redigera utdata för alltid.
Vanliga frågor
Cirka en timme om dina SendPulse- och OpenAI-konton är redo.
Nej. Du klistrar mest in inloggningsuppgifter och ändrar några inställningar i n8n. Den enda ”kod”-delen finns redan med för token-hashning och listuppslag.
Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volym. Du behöver också räkna med kostnader för OpenAI API-användning, som beror på hur långa dina välkomstmeddelanden är.
Två alternativ: n8n Cloud (hanterat, enklast uppsättning) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serveradministration.
Ja, och det är en av de bästa anledningarna att använda n8n här. Uppdatera fälten i “Workflow Settings” (list names, senderName, senderEmail, smsSender och routing fields) så att de matchar varje kampanj. Justera sedan instruktionerna i agenterna “Compose Welcome Email” och “Compose Welcome SMS” så att AI:n skriver med rätt tonalitet och inkluderar rätt CTA. Vill du ha olika meddelanden baserat på formulärsvar, lägg till en Switch efter webhooken och routa till olika prompter.
Oftast är det en utgången eller ogiltig token, eller att Client ID/Client Secret klistrades in fel. Kontrollera noden för token-begäran och den cachade token-posten i din n8n Data Table (“tokens”-tabellen med hash, accessToken, tokenExpiry). Bekräfta också att SendPulse MCP Client-headers är korrekt satta (X-SP-ID och X-SP-SECRET) och att ditt SendPulse-konto har åtkomst till adressböckerna du försöker hantera.
Tillräckligt för de flesta små team. På n8n Cloud beror det på din månatliga exekveringsgräns; om du self-hostar beror det främst på din serverstorlek och hur många OpenAI-anrop du gör samtidigt. I praktiken hanterar välkomstflöden som detta tiotals till hundratals leads per dag utan problem när det är korrekt konfigurerat.
Ofta ja, eftersom det här flödet inte bara är ”skicka data från A till B”. Du har förgrening för e-post vs. telefon, logik för att skapa listor, token-cache och AI-skrivande – allt på ett ställe. n8n hanterar den typen av logik utan att tvinga dig in i dyra uppgifter i många steg. Zapier eller Make kan däremot vara enklare för ett grundläggande tvåstegs-välkomstmejl. Om du vill ha ett par extra ögon på upplägget, prata med en automationsspecialist så mappar vi det till din exakta tratt.
När det här är live får varje registrering en stark första kontakt utan att du behöver jaga den. Arbetsflödet tar hand om det repetitiva, så att du kan fokusera på erbjudanden och kampanjer som faktiskt gör skillnad.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.