Dokumentation der Software für Einsatzmanagement, Planung und Optimierung von Außendienstaktivitäten

Google Form zu Cadulis


Konfigurieren Sie ein Google-Formular

Gehen Sie zu https://docs.google.com/forms und erstellen Sie ein Formular

Cadulis Google form

Fügen Sie die gewünschten Felder hinzu ;)

Erstellen Sie einen Zugang in Cadulis

Gehen Sie zu https://app.cadulis.com

Navigieren Sie zu Einstellungen > Externe Zugänge > Externer Zugang erstellen

Wählen Sie den Typ “Webservice REST”

Erlauben Sie das Erstellen einer Aktivität

Im Abschnitt API Rest haben Sie gelernt, wie Sie Ihren Webservice-Zugang erstellen?

Aktivieren Sie das Kontrollkästchen, um das Erstellen einer Aktivität zu erlauben und je nach Bedarf auch Kunde erstellen

Speichern Sie.

Kopieren Sie Ihren API-Schlüssel, der im entsprechenden Bereich angezeigt wird

Konfigurieren Sie das GoogleForm-Skript zur Übertragung nach Cadulis

Nun möchten wir die Antworten des Google-Formulars direkt in Cadulis übertragen. Wir automatisieren dies mit dem Skripteditor.

Öffnen Sie in Ihrem GoogleForm-Formular das Menü und wählen Sie Skripteditor

Code

Fügen Sie eine Datei hinzu und verwenden Sie den folgenden Code. Ersetzen Sie dabei API-Schlüssel durch den oben erhaltenen Wert.

Denken Sie daran, zu Beginn des Skripts apiKey und activityTypeId zu ersetzen:

  • apiKey ist der oben erhaltene API-Schlüssel Ihres externen Cadulis-Zugangs
  • activityTypeId ist die ID Ihres Aktivitätstyps. Diese ID finden Sie in der URL, wenn Sie im Katalog auf den Aktivitätstyp klicken.

function onFormSubmit(e) {  
    // apiKey: Ersetzen Sie dies durch den Schlüssel Ihres externen Zugangs in Ihrer Cadulis-Konfiguration
    var apiKey = 'XXXXXXXX';
    // activityTypeId: Ersetzen Sie dies durch die ID des Aktivitätstyps (im Katalog), für den Sie eine Aktivität erstellen möchten
    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 = {};
    
    // Erzeugen Sie einen String, der alle Fragen nach Titel und deren Antwort enthält
    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;
    }
    
    // Generieren Sie eine eindeutige Referenz aus der Google Form-Antwort-ID
    var cref = responseId.substring(0, 15) + '-' + responseId.substring(responseId.length - 15);
    
    // Bereiten Sie die Cadulis-Daten vor
    var formData = {
        'cref': cref,
        'reference': cref,
        'intervention_type':{
            'id': activityTypeId
        },
        'comment': responseString,
        'title': 'Antwort über 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

Damit dieses Skript bei jeder Formularübermittlung verwendet wird, gehen Sie im linken Menü auf Trigger

Wählen Sie bei “Ereignistyp” die Option Beim Absenden des Formulars und speichern Sie.

Und das war’s: Bei jeder Antwort im Google Form wird eine Aktivität in Cadulis erstellt!