Documentatie van de software voor beheer, planning en optimalisatie van interventies

Google Form naar Cadulis


Configureer een Google-formulier

Ga naar https://docs.google.com/forms en maak een formulier aan

Cadulis Google form

Voeg de velden toe die je interesseren ;)

Maak een toegang aan op Cadulis

Ga naar https://app.cadulis.com

Ga naar Instellingen > Externe toegangen > Externe toegang aanmaken

Kies het type “Webservice REST”

Activiteit aanmaken toestaan

Heb je in het gedeelte API Rest geleerd hoe je je webservice-toegang aanmaakt?

Vink het vakje aan om Activiteit aanmaken toe te staan en indien nodig ook Klant aanmaken

Sla op.

Kopieer je API-sleutel die beschikbaar is in het betreffende vak

Configureer het GoogleForm-script om te injecteren in Cadulis

We willen nu de antwoorden van het Google Formulier rechtstreeks in Cadulis injecteren. We gaan dit automatiseren via de script editor.

Vanuit je GoogleForm-formulier, klik op en kies Script editor

Code

Voeg een bestand toe en gebruik de volgende code, waarbij je zeker API-sleutel vervangt door diegene die je hierboven hebt verkregen

Denk eraan om aan het begin van het script apiKey en activityTypeId aan te passen:

  • apiKey is de hierboven verkregen API-sleutel van je externe Cadulis-toegang
  • activityTypeId is het ID van je activiteitentype. Dit ID vind je in de url wanneer je op het activiteitentype in de catalogus klikt.

function onFormSubmit(e) {  
    // apiKey: Vervang door de sleutel van de externe toegang van je Cadulis-configuratie
    var apiKey = 'XXXXXXXX';
    // activityTypeId: Vervang door het id van het activiteitentype (in catalogus) waarvoor je een activiteit wilt aanmaken
    var activityTypeId = 1234;

    var form = FormApp.getActiveForm();
    var allResponses = form.getResponses();
    var latestResponse = allResponses[allResponses.length - 1];
    var responseId = latestResponse.getId();
    var response = latestResponse.getItemResponses();

    var responseMap = {};
    
    // Genereer een string met alle vragen per titel en hun antwoord
    var responseString = '# ' + responseId + "\n\n";
    for (var i = 0; i < response.length; i++) {
        var question = response[i].getItem().getTitle();
        var answer = response[i].getResponse();
        responseString += question + ' : ' + answer + "\n";
        responseMap[question] = answer;
    }
    
    // genereer een unieke referentie van het Google Formulier response ID
    var cref = responseId.substring(0, 15) + '-' + responseId.substring(responseId.length - 15);
    
    // bereid Cadulis data voor
    var formData = {
        'cref': cref,
        'reference': cref,
        'intervention_type':{
            'id': activityTypeId
        },
        'comment': responseString,
        'title': 'Antwoord op Google Formulier'
    };
    
    var options = {
        "method": "post",
        "contentType": "application/json",
        "payload": JSON.stringify(formData)
    };
    
    console.log(formData);
    var url = 'https://api.cadulis.com/connectors/' + apiKey + '/interventions';
    var result = UrlFetchApp.fetch(url, options);
    console.log(result.getContentText());
}

Trigger

Om dit script bij elke formulierinzending te gebruiken, ga je naar het menu aan de linkerkant en kies je Triggers

Bij “Gebeurtenistype” kies je Bij het verzenden van formulier, en sla je op.

En dat is het: bij elk antwoord op Google Formulier wordt er een activiteit aangemaakt in Cadulis!