Documentazione del software di gestione, pianificazione e ottimizzazione degli interventi

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”

Autorizza la creazione di attività

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

Spunta la casella per permettere di Creare un'attività e, se necessario, 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 tramite l’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 in precedenza

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 univoco dall'ID della risposta di Google Form
    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 fare in modo che questo script venga utilizzato ad ogni invio del modulo, vai nel menu a sinistra e scegli Trigger

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

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