Documentação

Google Form para Cadulis


Configure um formulário Google

Acesse https://docs.google.com/forms e crie um formulário

Cadulis Google form

Adicione os campos que desejar ;)

Criar um acesso no Cadulis

Acesse https://app.cadulis.com

Vá em Parâmetros > Acessos externos > Criar um acesso externo

Escolha o tipo “Webservice REST”

Autorizar a criação de atividade

Na seção API Rest você aprendeu a criar seu acesso webservice?

Marque a opção para permitir Criar uma atividade e, conforme sua necessidade, Criar um cliente

Salve.

Copie sua chave API disponível no quadro correspondente

Configure o script GoogleForm para injetar no Cadulis

Agora queremos injetar as respostas do formulário Google Form diretamente no Cadulis. Vamos automatizar isso usando o editor de scripts.

No seu formulário GoogleForm, clique em e escolha Editor de scripts

Código

Adicione um arquivo e utilize o código abaixo, lembrando de substituir chave API pela obtida anteriormente

Abaixo, lembre-se de substituir no início do script apiKey e activityTypeId:

  • apiKey é a chave API obtida acima no seu acesso externo Cadulis
  • activityTypeId é o identificador do seu tipo de atividade. Esse identificador está na URL ao clicar no tipo de atividade no catálogo.

function onFormSubmit(e) {  
    // apiKey: Substitua pela chave do acesso externo da sua configuração Cadulis
    var apiKey = 'XXXXXXXX';
    // activityTypeId: Substitua pelo id do tipo de atividade (no catálogo) que deseja criar uma atividade
    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 = {};
    
    // Gera uma string contendo todas as perguntas pelo título e suas respostas
    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;
    }
    
    // gera uma referência única a partir do ID da resposta do Google Form
    var cref = responseId.substring(0, 15) + '-' + responseId.substring(responseId.length - 15);
    
    // prepara os dados para o 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());
}

Disparo

Para que este script seja utilizado a cada envio do formulário, vá ao menu à esquerda e escolha Disparadores

Em “Tipo de evento”, escolha Ao enviar o formulário e salve.

Pronto: a cada resposta no Google Form, uma atividade será criada no Cadulis!