Naar de inhoud

Google Sheets ​

Met de actie Google Sheets gebruik je een gewone spreadsheet als klantenbestand of als logboek. Tijdens het gesprek kan de assistent een klant opzoeken op klantnummer; na het gesprek voegt de actie een rij toe met datum, telefoonnummer, samenvatting en je eigen variabelen. Programmeren is niet nodig, een eenmalige voorbereiding in Google Cloud wel. Om dit in te stellen heb je in Yarla de rol Bewerker of Beheerder nodig.

Voorbereiding in Google Cloud ​

Yarla leest en schrijft in je spreadsheet via een serviceaccount: een technisch Google-account dat alleen toegang heeft tot wat je er expliciet mee deelt.

  1. Ga naar de Google Cloud Console en maak een nieuw project aan, of kies een bestaand project.
  2. Ga naar API's en services → Bibliotheek, zoek Google Sheets API en klik op Inschakelen.
  3. Ga naar IAM en beheer → Serviceaccounts en klik op Serviceaccount maken. Geef het een herkenbare naam, bijvoorbeeld "yarla". Rollen zijn niet nodig.
  4. Open het serviceaccount, ga naar het tabblad Sleutels en kies Sleutel toevoegen → Nieuwe sleutel maken → JSON.
  5. Download het JSON-bestand en bewaar het veilig. Het bevat een privésleutel; deel het niet per e-mail of chat.

De koppeling toevoegen ​

  1. Ga in Yarla naar Instellingen → Koppelingen en klik op Koppeling toevoegen.
  2. Geef de koppeling een naam en kies bij Soort de optie Google-serviceaccount (voor Sheets).
  3. Plak bij Waarde de volledige inhoud van het gedownloade JSON-bestand en klik op Opslaan.

De sleutel wordt versleuteld opgeslagen en niet meer getoond. Yarla controleert de inhoud niet bij het opslaan en toont het e-mailadres van het serviceaccount niet. Dat adres (iets als yarla@jouw-project.iam.gserviceaccount.com) vind je in het JSON-bestand bij client_email, of in de lijst met serviceaccounts in Google Cloud. Je hebt het in de volgende stap nodig.

Spreadsheet delen ​

  1. Open de spreadsheet in Google Sheets en klik op Delen.
  2. Plak het e-mailadres van het serviceaccount.
  3. Kies de rol Bewerker. Voor het toevoegen van rijen is dat vereist; wil je alleen lezen, dan volstaat Kijker.
  4. Zet de melding uit en klik op Delen.

Zorg dat de kolomkoppen in rij 1 staan; de actie gebruikt die koppen als veldnamen.

De actie instellen ​

  1. Open de assistent, ga naar het tabblad Taken, open Acties, klik op Nieuw toevoegen en kies Google Sheets.
  2. Geef de actie een naam en kies de Modus. Wanneer gaat automatisch mee: Rij toevoegen (na het gesprek) zet het op Na het gesprek, Rijen opzoeken (tijdens het gesprek) op Tijdens het gesprek.
  3. Vul de onderstaande instellingen in.

De actie wordt automatisch opgeslagen zodra ze een naam en een spreadsheet-id heeft; een knop om op te slaan is er niet.

InstellingBetekenisStandaard
ModusRij toevoegen (na het gesprek) of Rijen opzoeken (tijdens het gesprek)Rij toevoegen (na het gesprek)
Spreadsheet-idHet lange id uit de URL van de spreadsheet, tussen /d/ en /edit. Bij https://docs.google.com/spreadsheets/d/1AbCdEfGhIjKlMnOpQrStUvWxYz/edit is dat 1AbCdEfGhIjKlMnOpQrStUvWxYz.—
Naam werkbladDe naam van het tabblad onderaan, bijvoorbeeld Klanten of Blad1. Pas de standaardwaarde aan als je tabblad anders heet.Sheet1
Google-serviceaccountHet serviceaccount uit Instellingen → Koppelingen. Je kunt de JSON-sleutel ook hier plakken bij Nieuwe sleutel plakken en op Opslaan als sleutel klikken. Hij staat daarna onder de naam Google bij je koppelingen.—

Zet je Wanneer daarna zelf om, dan blijft de modus staan. Rijen opzoeken werkt alleen tijdens het gesprek: staat het op Na het gesprek, dan wordt de actie overgeslagen. Een rij toevoegen kan wel tijdens het gesprek: de assistent doet dat dan zodra je voorwaarde past. Op dat moment zijn alle vaste variabelen, zoals {{personNumber}}, {{startTimestamp}}, {{contact.name}}, {{conversationLink}}, {{summary}} en {{outcome}}, nog leeg, net als je eigen variabelen. De assistent kan ze ook niet invullen, want deze modus heeft geen Parameters die de assistent invult. Zo'n rij blijft dus grotendeels leeg; laat een rij toevoegen daarom op Na het gesprek staan.

Rijen opzoeken (tijdens het gesprek) ​

In deze modus zoekt de assistent rijen op met een Filter. Je schrijft het filter als JSON in de stijl van MongoDB: de sleutel is de kolomkop, de waarde een operator met een waarde. Beschikbare operators: $eq, $ne, $in, $nin, $regex, $gt, $gte, $lt, $lte en $contains.

json
{ "Klantnummer": { "$eq": "{{customer_number}}" } }

Een kale waarde, zoals { "Status": "open" }, werkt als $eq. Hoofdletters maken bij het vergelijken van tekst niet uit. $gt, $gte, $lt en $lte vergelijken getallen; een cel als 12,5 of € 10 telt daarbij niet als getal en valt dus af. Laat je het filter leeg, dan krijgt de assistent de eerste 5 rijen.

Daarnaast stel je in:

InstellingBetekenisStandaard
Parameters die de assistent invultDe gegevens die de assistent uit het gesprek haalt, bijvoorbeeld customer_number (string, "Het klantnummer dat de beller noemt"). Gebruik ze in het filter als {{customer_number}}.—
Wanneer moet de assistent dit gebruiken?Wanneer de assistent de actie gebruikt en wat hij met het resultaat doet, bijvoorbeeld "Als de beller zijn klantnummer noemt. Bevestig naam en adres en vraag of de gegevens nog kloppen."—

Aan de telefoon kan de assistent in een paar woorden zeggen dat hij het nakijkt terwijl we zoeken.

De actie geeft de gevonden rijen terug als JSON (maximaal 5 rijen), met de kolomkoppen als veldnamen. Meerdere voorwaarden combineer je in één object; alle voorwaarden moeten dan kloppen:

json
{
  "Postcode": { "$regex": "^1012" },
  "Status": { "$in": ["actief", "proef"] }
}

Test je dit met Uitproberen, zet dan Acties echt uitvoeren aan. Anders wordt de actie alleen gesimuleerd en leest de assistent niets uit je spreadsheet.

Rij toevoegen (na het gesprek) ​

In deze modus koppel je bij Kolommen kolommen aan sjablonen. Elke regel bestaat uit een kolomkop en de waarde die erin komt:

KolomSjabloon
Datum{{startTimestamp}}
Telefoon{{personNumber}}
Naam{{contact.name}}
Uitkomst{{outcome}}
Samenvatting{{summary}}
Postcode{{postcode}}
Gesprek{{conversationLink}}

{{postcode}} is geen vaste variabele: voeg postcode toe onder Extra variabelen om te extraheren, dan haalt de assistent die na het gesprek uit het gesprek. {{startTimestamp}} is een tijdstempel in ISO-notatie, zoals 2026-11-03T09:30:00.000Z. {{outcome}} is een Engelse code: resolved, transferred, appointment_booked, abandoned, no_interaction, spam, voicemail of callback_requested.

Is het blad nog leeg, dan maken we rij 1 met de kolomkoppen automatisch aan. Voeg je later in de actie een kolom toe die nog niet in de sheet staat, dan zetten we die kolom achteraan. Bestaande kolommen worden op de exacte naam gematcht, dus de volgorde in je sheet mag afwijken van die in de actie.

Voorbeelden ​

Gesprekslogboek ​

Een actie met de modus Rij toevoegen (na het gesprek) en de kolommen uit de tabel hierboven. Laat Onder welke voorwaarde moet dit na het gesprek gebeuren? leeg: dan wordt elk gesprek één rij. Zet in de sheet een filter op de kolom Uitkomst met de waarde callback_requested om in één oogopslag alle terugbelverzoeken te zien, of gebruik postcode als eigen variabele om te zien uit welke wijken de meeste aanvragen komen.

Klant opzoeken ​

Een blad Klanten met de kolommen Klantnummer, Naam, Adres en Onderhoudscontract. Maak een actie met de modus Rijen opzoeken (tijdens het gesprek) en:

  • parameter customer_number (string, "Het klantnummer dat de beller noemt, meestal vijf cijfers");
  • filter { "Klantnummer": { "$eq": "{{customer_number}}" } };
  • bij Wanneer moet de assistent dit gebruiken?: "Als de beller zijn klantnummer noemt. Noem de naam en vraag of het adres nog klopt. Vermeld of er een onderhoudscontract is."

De assistent zegt dan bijvoorbeeld: "Ik zie dat je mevrouw De Vries bent aan de Prinsengracht, met een onderhoudscontract. Klopt dat?"

Problemen oplossen ​

Mislukt een rij na het gesprek, dan zie je de fout in de Inbox: open het gesprek, klap Technische details open en kijk onder Wat de acties hebben gedaan. Yarla probeert die rij niet opnieuw. Mislukt het opzoeken tijdens het gesprek, dan wordt de fout niet bij het gesprek bewaard. In een tekstgesprek gaat de assistent verder zonder de gegevens en zegt hij dat hij ze nu niet kan ophalen. Bij een telefoongesprek met een ChatGPT-stem krijgt de assistent bij een fout van Google of een ongeldige sleutel geen antwoord: hij kan dan stil blijven tot de beller weer iets zegt. Loop in dat geval de punten hieronder na.

  • Fout 403 (geen toegang): de spreadsheet is niet gedeeld met het e-mailadres van het serviceaccount, of alleen als Kijker terwijl je rijen wilt toevoegen. Controleer het deelvenster van de spreadsheet.
  • Fout 404 (niet gevonden): het spreadsheet-id klopt niet. Plak niet de hele URL.
  • Fout 400 (Unable to parse range): de naam van het werkblad bestaat niet. Neem de naam exact over van het tabblad onderaan.
  • no Google credential configured of Google credential not found: bij de actie is geen bestaand serviceaccount gekozen. Kies er een bij Google-serviceaccount.
  • Foutmelding over de sleutel of over JSON: de waarde van de koppeling is niet het volledige JSON-bestand. Plak de inhoud opnieuw met Vervangen bij Instellingen → Koppelingen. Het kan tot 5 minuten duren voordat de nieuwe waarde actief is.
  • Leeg resultaat bij opzoeken: de kolomkop in het filter komt niet exact overeen met rij 1 (let op hoofdletters en spaties), of de waarde wijkt af van wat er in de cel te zien is. We vergelijken met de tekst in de cel: een klantnummer dat in de sheet als 12.345 wordt weergegeven, matcht niet met "12345". Zet de kolom in de sheet op platte tekst.
  • Telefoonnummer zonder +: we vullen waarden in alsof je ze zelf typt, dus Google Sheets kan +31612345678 als getal opslaan. Zet de kolom in de sheet op platte tekst.
  • Een extra kolom achteraan: de koppen in rij 1 zijn aangepast na het instellen van de actie. De actie vindt de oude naam niet en maakt een nieuwe kolom. Zorg dat de namen in de actie en in de sheet gelijk zijn.
  • Melding dat de API niet is ingeschakeld: schakel de Google Sheets API in bij het juiste project (stap 2 van de voorbereiding) en probeer het na een paar minuten opnieuw.

Gerelateerde artikelen ​

Yarla Help — de handleiding voor jouw AI-telefoonassistent.