Documentación

Google Form a Cadulis


Configure un formulario de Google

Dirígete a https://docs.google.com/forms y crea un formulario

Cadulis Google form

Agrega los campos que te interesen ;)

Crear un acceso en Cadulis

Dirígete a https://app.cadulis.com

Ve a Paramètres > Accès externes > Créer un accès externe

Elige el tipo “Webservice REST”

Autorizar la creación de actividad

¿En la sección API Rest aprendiste a crear tu acceso webservice?

Marca la casilla para permitir Créer une activité y según tu necesidad Créer un client

Guarda.

Copia tu clé API disponible en el recuadro correspondiente

Configura el script de GoogleForm para inyectar en Cadulis

Ahora queremos inyectar las respuestas del formulario Google Form directamente en Cadulis. Vamos a automatizar esto gracias al editor de scripts.

Desde tu formulario GoogleForm, haz clic en y elige Editeur de scripts

Código

Agrega un archivo y utiliza el siguiente código, asegurándote de reemplazar la clé API por la que obtuviste anteriormente

A continuación, recuerda reemplazar al inicio del script apiKey y activityTypeId :

  • apiKey es la clave API obtenida anteriormente en tu acceso externo Cadulis
  • activityTypeId es el identificador de tu tipo de actividad. Este identificador se encuentra en la url cuando haces clic en el tipo de actividad en el catálogo.

function onFormSubmit(e) {  
    // apiKey: Reemplaza con la clave del acceso externo de tu configuración Cadulis
    var apiKey = 'XXXXXXXX';
    // activityTypeId: Reemplaza con el id del tipo de actividad (en catálogo) que deseas crear
    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 = {};
    
    // Generar una cadena que contenga todas las preguntas por título y su respuesta
    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;
    }
    
    // generar una referencia única a partir del ID de respuesta de Google Form
    var cref = responseId.substring(0, 15) + '-' + responseId.substring(responseId.length - 15);
    
    // preparar los datos para Cadulis
    var formData = {
        'cref': cref,
        'reference': cref,
        'intervention_type':{
            'id': activityTypeId
        },
        'comment': responseString,
        'title': 'Réponse sur 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());
}

Disparador

Para que este script se utilice en cada registro de formulario, dirígete al menú de la izquierda y elige Déclencheurs

En “Type dévénement”, selecciona Lors de l'envoi du formulaire, y guarda.

¡Y listo! Cada vez que se responda el Google Form, se creará una actividad en Cadulis.