Documentazione

Google Form verso Cadulis


Configura un modulo Google

Vai su https://docs.google.com/forms e crea un modulo

Cadulis Google form

Aggiungi i campi che ti interessano ;)

Crea un accesso su Cadulis

Vai su https://app.cadulis.com

Vai su Parametri > Accessi esterni > Crea un accesso esterno

Scegli il tipo “Webservice REST”

Autorizzare la creazione di un’attività

Nella sezione API Rest hai imparato a creare il tuo accesso webservice?

Spunta la casella per permettere di Creare un'attività e, secondo le tue necessità, Creare un cliente

Salva.

Copia la tua chiave API disponibile nel riquadro corrispondente

Configura lo script GoogleForm per l’inserimento in Cadulis

Ora vogliamo inserire le risposte del modulo Google Form direttamente in Cadulis. Automatizzeremo questo processo grazie all’editor di script.

Dal tuo modulo GoogleForm, clicca su e scegli Editor di script

Codice

Aggiungi un file e utilizza il seguente codice, ricordandoti di sostituire la chiave API con quella ottenuta sopra

Qui sotto, ricordati di sostituire all'inizio dello script apiKey e activityTypeId:

  • apiKey è la chiave API ottenuta sopra dal tuo accesso esterno Cadulis
  • activityTypeId è l’identificativo del tuo tipo di attività. Questo identificativo si trova nell’url quando clicchi sul tipo di attività nel catalogo.

function onFormSubmit(e) {  
    // apiKey: Sostituisci con la chiave dell'accesso esterno della tua configurazione Cadulis
    var apiKey = 'XXXXXXXX';
    // activityTypeId: Sostituisci con l'id del tipo di attività (nel catalogo) che vuoi creare
    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 = {};
    
    // Genera una stringa contenente tutte le domande per titolo e la loro risposta
    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;
    }
    
    // genera un riferimento unico dal Google Form response ID
    var cref = responseId.substring(0, 15) + '-' + responseId.substring(responseId.length - 15);
    
    // prepara i dati per Cadulis
    var formData = {
        'cref': cref,
        'reference': cref,
        'intervention_type':{
            'id': activityTypeId
        },
        'comment': responseString,
        'title': 'Risposta su Google Form'
    };
    
    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

Per utilizzare questo script a ogni invio del modulo, vai nel menu a sinistra e scegli Trigger

Nel campo “Tipo di evento”, scegli Al momento dell'invio del modulo e salva.

Ed ecco fatto: a ogni risposta su Google Form, verrà creata un’attività in Cadulis!