29 augustus 2012

Bevestigingsmailtje ontvangen na versturen Google Docs formulier

Ook op mijn werk bij saMBO-ICT maken we veel en dankbaar gebruik van de mogelijkheden van Google Docs formulieren. Wat we na de vakantie constateerden was dat veel mensen zich voor de tweede keer aanmeldden voor onze komende conferentie. Waarschijnlijk vergeten dat ze dat voor de vakantie al een keer gedaan hadden?
Daarover doorpratend kwamen we tot de conclusie dat dit wellicht komt omdat mensen die zich aanmelden geen bevestigingsmailtje ontvangen.

"Willem, kun je dat niet inbouwen?"
Een mooie uitdaging en na wat zoekwerk en testen kan ik zeggen: "Ja, dat kan!"

Ik kwam terecht op deze pagina en daar staat precies uitgelegd wat je doen moet om iemand die een formulier heeft ingevuld een bevestigingsmailtje te sturen. Waar het op neerkomt is dat je een script moet schrijven met de scripteditor. Als je wilt kun je alle gegevens die zijn ingevuld netjes meesturen. Eventueel kun je een cc'tje naar jezelf sturen. Op genoemde pagina staat een uitgewerkt voorbeeld en aanvullende instructies en tips.

Als er veel belangstelling voor blijkt te zijn wil ik een en ander wel vertalen naar het Nederlands. Laat het me dan even weten via dit formulier. Daarmee kun je gelijk uittesten hoe het werkt, want je krijgt een keurige ontvangstbevestiging met daarin de door jou ingevulde gegevens!

Dit is de code die ik heb gebruikt:
function onFormSubmit(e) {
  var timestamp = e.values[0];
  var naam = e.values[1];
  var toAddress = e.values[2];
  var mening = e.values[3];
  var opmerking = e.values[4];
  var subject = "Ontvangstbevestiging voor " + naam;
  var emailBody = "Beste " + naam + ",\n\nBedankt voor je reactie, verstuurd op " + timestamp + "\n\nDit is wat je hebt ingevuld: " + "\nNaam: " + naam + "\nE-mail adres: " + toAddress + "\nMening: " + mening + "\nOpmerking: " + opmerking;
  var htmlBody = "Beste " + naam + ",<br/><br/>Bedankt voor je reactie, verstuurd op " + timestamp + "<br/><br/>Dit is wat je hebt ingevuld:<br/>Naam: " + naam + "<br/>E-mail adres: " + toAddress + "<br/>Mening: " + mening + "<br/>Opmerking: " + opmerking;
  var optAdvancedArgs = {name: "Trendmatcher", htmlBody: htmlBody};
  MailApp.sendEmail(toAddress, subject, emailBody, optAdvancedArgs);
}

5 opmerkingen:

  1. Ik kom er niet helemaal uit hoe je aan een bestaande reactie knop (waarmee je een kopie van je ingevulde antwoorden krijgt) nog een CC kunt toevoegen. Iemand tips? Wel fijn dat dit mogelijk is trouwens!

    BeantwoordenVerwijderen
  2. Bedankt voor de gouden tip!

    BeantwoordenVerwijderen
  3. even een vraag,

    is het mogelijk om een alert te krijgen als ontvanger, of moet je constant in googel docs de reacties in de gaten houden ?

    BeantwoordenVerwijderen
  4. @Kees,
    Ja hoor, dat gaat heel makkelijk!
    Kies in de spreadsheet voor Extra, Meldingsregels...
    Zet een vinkje Bij Wijzigingen en keis of een dagelijks overzicht wilt hebben of gelijk een mailtje.
    Klaar!

    BeantwoordenVerwijderen