Hoe we van simpele data
een AI-powered e-mail maakten

Nu iedereen wel weet wat ChatGPT is, vliegen de blogs & LinkedIn posts je om de oren. De mogelijkheden zijn eindeloos, met ladingen voorgekauwde prompts die van jouw idee een door AI uitgevoerde werkelijkheid maakt. Maar blijft het bij het invoeren van een prompt in ChatGPT, dan blijft het ook beperkt tot die functionaliteit. Als marketeer die het liefst alles wil automatiseren, gingen we aan de slag om onze e-mails met ChatGPT te verrijken. Het resultaat? Een gepersonaliseerd gedichtje in een AI-powered e-mail dat volledig is afgestemd op zijn ontvanger. Hieronder lees je hoe dat proces eruitziet en we laten je zien hoe je dit ook voor jouw e-mails kunt toepassen. 

Wat hadden we nodig?

  • Een formulier, wij gebruikten de formulieren-module uit Mail+
  • Een landingspagina, ook uit Mail+; 
  • Een koppeling tussen de formulierinzending en SendPro, hiervoor gebruikten we Zapier
  • Uit de vorige bullet point gokte je het al goed: SendPro
  • Een licentie bij een AI tool, in ons geval OpenAI; 
  • Een klein beetje verstand van webhooks en API’s, maar ook daar helpen we je graag bij

In dit simpele voorbeeld triggeren we vanuit een Mail+ formulier, via een webhook, een e-mail in SendPro. Die e-mail wordt, op basis van data uit het formulier, opgebouwd en verrijkt met een door AI gegenereerd gedichtje. Wat we uitvragen bij dit formulier wilden we zo simpel mogelijk houden, maar we wilden wel voldoende data uitvragen om ermee te kunnen personaliseren. Zo vroegen we alleen om e-mailadres, naam, taal, bedrijf en de branche waarin het bedrijf actief is. 

Stap 1: Formulierdata verwerken

Wanneer je formulierdata verzamelt in Mail+, wil je die natuurlijk ook in de rest van het proces kunnen gebruiken. Om die data door te sturen van het ene systeem naar het andere, gebruikten we een webhook. Die vind je bij het onderdeel ‘Verwerken’ van Mail+ formulieren. Hier stel je een adres in (zie stap 2) waar de data naartoe moet – een POST request. Ook is het belangrijk om hierbij de data uit het formulieren te mappen, wat ervoor zorgt dat een ander systeem jouw data weer kan verwerken. 

Data mapping betekent eigenlijk niets meer dan ervoor zorgen dat databasevelden overeenkomen. Verwerkt systeem 1 voornamen als ‘firstname’ en systeem 2 als ‘fName’? Dan zorg je tijdens het mappen dat systeem 1 de voornaam als ‘fName’ naar systeem 2 stuurt, met als waarde de data die systeem 1 kent als ‘firstname’. Dat ziet er ongeveer zo uit: 

Nu het formulier klaarstaat, is de volgende (tussen-)stap om die beschikbaar te maken op je website. In ons geval een simpele landingspagina, maar je kunt Mail+ formulieren ook makkelijk integreren met je website.

Stap 2: De data verwerken en een e-mail triggeren

Nu het formulier de data kan ontvangen en doorsturen, is het tijd om dat tweede systeem zijn werk te laten doen. Als je een vergevorderd API specialist bent, kun je het volgende overslaan, maar omwille van gebruiksgemak hebben we ervoor gekozen om Zapier tussen de systemen te hangen. 

Zapier is een tool die je toestaat verschillende systemen aan elkaar te koppelen en daar acties aan toe te voegen, vanuit een gebruiksvriendelijke interface. Leer meer over de koppeling tussen Mail+ en Zapier

Door in Zapier een trigger in te stellen op basis van een webhook (‘Webhooks by Zapier’) wordt een adres gegenereerd dat je in stap 1 kunt gebruiken. De webhook URL bestaat uit een reeks unieke cijfers en letters, zoals in het (aangepaste) voorbeeld hieronder:  

In Zapier kun je, ondersteund door de formulierdata, een bericht laten versturen door SendPro. SendPro staat je vervolgens toe om die data om te toveren tot een prachtige, gepersonaliseerde e-mail. Om dat te kunnen doen, moesten we eerst zeker weten dat al dat e-mailverkeer veilig verloopt.

Om je e-mails vanuit Zapier te kunnen triggeren in SendPro, moet er eerst een connectie gelegd worden met je account. Hiervoor heb je je account ID nodig en moet je een Source creëren. In Zapier hebben we dit proces in twee stappen ingericht:

  1. Haal authenticatie op bij SendPro om de e-mail te mogen versturen via jouw account;
  2. Lever de data aan met de door SendPro gegenereerde authenticatiesleutels.
Authenticatie

Voor iedere e-mail die gegenereerd moet worden, worden unieke authenticatiesleutels gemaakt (OAuth) – om te voorkomen dat iemand deze in handen krijgt en met jouw account kan gaan e-mailen. De response van de POST request naar SendPro bevat het volgende:

Zoals je in bovenstaande afbeelding ziet, verloopt elke sleutelna 60 seconden. De sleutel zelf (access_token) gebruiken we vervolgens in een call richting SendPro om een bericht te versturen.

Lever de data aan bij SendPro

In de volgende stap gebruik je de access_token om in het goede account, met de goede authenticatie een e-mail aan te kunnen bieden. In die POST request verwerk je alle data die je naar SendPro wilt sturen:

Op basis van de data of de bron van het bericht (in dit geval dus Zapier) weet SendPro precies welke stappen het moet zetten om je bericht vervolgens op te maken en af te leveren.

Stap 3: De e-maildata verrijken met Artificial Intelligence en een design

Yes, je hebt data vanuit je Mail+ formulier klaargestoomd om gebruikt te worden in andere tools. In een eerdere stap hebben we een Source aangemaakt in SendPro, die gaan we nu gebruiken.

In dit geval noemen we de Source ‘Event API’ – omdat deze specifiek gemaakt was voor, je raadt het al, evenementen. Op het moment dat er data binnenkomt via deze bron, kun je in SendPro aangeven wat ermee moet gebeuren via zogeheten Flows: de manier om je e-mailstromen in te richten.

Bij het aanmaken van zo’n Flow kun je selecteren op welke source of andere voorwaarde deze Flow getriggerd moet worden. Zo kun je bijvoorbeeld ook op specifieke data binnen een bericht een andere Flow triggeren. Voor nu houden we het even wat simpeler en gaan alle berichten uit de ‘Event API’ source via deze Flow:

In de Flow geven we vervolgens aan wat er, stapsgewijs, moet gebeuren met je bericht. We hebben alleen wat formulierdata aangeleverd, dus willen we een connectie maken met ChatGPT (de ‘External Data’ stap) en een template toevoegen waarin we die data kunnen tonen. Je kunt dat gemakkelijk doen door de juiste ‘Flowsteps’ op de tijdlijn te slepen:

Binnen Flows werk je met Flowsteps; de stappen die een bericht moet ondergaan voordat ‘ie daadwerkelijk afgeleverd wordt. In ons geval zetten we een External Data-step op de tijdlijn, die het toestaat om tijdens het verzendproces externe data op te halen, ergens te posten, of bij te werken. Zo kunnen we aan ChatGPT vragen om een leuk gedichtje voor ons te schrijven:

Met een simpele prompt kun je ChatGPT aansturen om een gepersonaliseerde tekst te schrijven. Let wel: wij hebben hier expliciet toestemming gevraagd om persoonsgegevens door ChatGPT te laten verwerken. Wil je niet met persoonsgegevens aan de slag, kun je altijd andere gegevens gebruiken, zoals ‘taal’, ‘bedrijf’ of ‘industrie’.

De oplettende kijker ziet in de request body dat we model ‘text-davinci-003′ gebruiken en niet de laatste versie van GPT. Ten tijde van het maken van dit voorbeeld was gpt-4 nog niet beschikbaar – maar voor deze use case volstaat Davinci prima .

De prompt is simpel:

“Write a short poem in ${language} about the adventures of ${firstname} ${lastname}, working at ${company} in the ${industry} industry. Can you replace the /n with <br>?”

Deze prompt geeft je een kort gedichtje en sluit elke regel af met een HTML break, waardoor je ‘m makkelijker kunt gebruiken in je e-mail. Ik kreeg bijvoorbeeld:

“Tom Blijleven,
Tech-avonturen,
Spotler, zijn thuis,
Hij werkt hard en slim.
Hij leert veel,
En staat nooit stil,
Hij is een tech-held,
Met een grote wil.”

Hoewel ik niet verwacht dat we met ChatGPT onze nieuwe Joost van den Vondel gevonden hebben, bieden dit soort AI-gegeneerde teksten natuurlijk wel kansen om je content te hyperpersonaliseren. Maar nu eerst nog even zorgen dat die content ook in je e-mail verwerkt kan worden.

Een designsausje over al die data

De finishing touch voor elke e-mail is het design ervan. Die bak data is leuk, maar zonder mooie huls eromheen zal niemand je e-mails herinneren. In SendPro pak je dat superefficiënt aan door de slimme template composer. Die staat je toe om één template in meerdere talen te maken, zonder daarvoor allemaal verschillende variaties te maken. Leer er hier meer over.

Voor dit voorbeeld creëerden we één leidend template die gevuld wordt met teksten uit SendPro’s Language Packs. Op basis van de aangegeven taal in het formulier wordt dan het template ingevuld met de juiste teksten. Zo creëerden we met slechts één template deze drie variaties in het Nederlands, Duits en Engels:

Hoe we van simpele data een AI-powered e-mail maakten

Met de juiste tools kun je van een klein beetje data een gepersonaliseerde e-mail opstellen. In dit voorbeeld hebben we een beperkte use case gekozen, maar wel één die voldoende handvatten biedt om zelf te heroverwegen welke data je uitvraagt en wat je hiermee doet in je e-mails. Wil je hier nu een keer over sparren? Neem dan eens contact op met tom.blijleven@spotler.com of laat je inspireren door een van onze product demo’s.

Go to top