NOTEBOOK

Inicie processos no Fluig a partir do Google Forms.

Inicie processos no fluig à partir do google forms.

Criar formulários públicos pode ser um problema no Fluig, já que a plataforma não permite que o formulário e o processo seja publicado sem a autenticação na plataforma, portanto para usá-los é necessário utilizar um login e senha.

Apesar de existirem soluções que podem ser desenvolvidas no Fluig, para exibir o formulário utilizando páginas públicas, tenho um certo receio de expor algum dataset ou ponto de entrada publicamente (veja aqui o porquê), por este motivo irei demonstrar neste artigo um passo a passo de como integrar o Google Forms ao Fluig.

Criar uma solução para entrada de dados como um sistema ou interface também é uma solução, mas dependendo do projeto uma integração utilizando o Google Forms pode ser mais que o suficiente, já que não há preocupações com infraestrutura.

Aliás, esta combinação é perfeita, já que o custo é zero e a solução atende aos requisitos de segurança, pois os dados do formulário estão protegidos pela infraestrutura do Google.

Outro ponto importante a ser destacado é a velocidade do desenvolvimento, dada a facilidade de criar formulários no Google.

Como será o processo.

Neste exemplo será tratado um processo de seleção, contendo três campos: Nome, Telefone e Pretensão salarial.

Após o preenchimento do formulário por parte do usuário, o próprio Google Forms irá buscar estas informações digitadas e irá conectar ao Fluig, utilizando webservices da plataforma, para iniciar o processo desejado.

As integrações Fluig

Há duas formas de integração com a plataforma fluig, neste exemplo irei demonstrar a integração utilizando REST. Assumindo que você já tenha criado o seu processo e o seu formulário, siga os passos abaixo.

Acesse este link e confira a documentação “Cadastrar Aplicativo no Fluig“. Você vai precisar configurar um usuário para autenticação OAuth pelo Fluig, como resultado deverá obter os seguintes dados: CUSTOMER_KEY, CUSTOMER_SECRET, ACCESS_TOKEN e TOKEN_SECRET.

Após realizar o procedimento acima você deverá terá os dados necessários para autenticação no fluig.

Em caso de dúvidas entre em contato.

O formulário do Google Forms.

Neste artigo você deverá ser capaz de construir um formulário do Google Forms. Para isso, clique aqui e crie um formulário semelhante ao criado abaixo.

Após criar o formulário e publicar, vá até as propriedades ( ícone de três pontos, exibido no canto superior direito da tela ) .

Após clicar no ícone vá até a opção Editor de Script.

Acionador / Gatilho – Google Forms – Integrando com o Fluig

Editor de Script do Google Forms.

A primeira coisa a ser feita é clicar em Bibliotecas e adicionar uma biblioteca para autenticação por OAuth1 , já que o Fluig não permite a autenticação por Auth2.

Em bibliotecas clique no botão para incluir.

Google Forms API – Incluir Biblioteca.

Na janela que é aberta insira o código abaixo:

1CXDCY5sqT9ph64fFwSzVtXnbjpSfWdRymafDrtIZ7Z_hwysTY7IIhi7s

Observação: O Google descontínuo o uso do OAuth1 em 2015, conforme pode ser conferido nesta documentação . Para utilizar o OAuth1 a google recomendou utilizar uma biblioteca opensource, que é biblioteca representada pelo script consultado na imagem acima e pode ser consultada neste repositório.

Na janela, vá na aba de codificação, conforme exibido na imagem abaixo, e renomeie o arquivo gerado para startProcess.gs.

Acionador / Gatilho – Google Forms – Integrando com o Fluig

Após criar o arquivo é necessário inserir o código Google Script.

Neste exemplo abaixo o código irá ler o último registro inserido e em seguida realiza a chamada do webservice do fluig responsável por iniciar a solicitação na plataforma.

/**
 * CONFIGURACOES DE INTEGRACAO FLUIG
 */
var FLUIG_BASE_URL = "http://minhaurl.com";
var PROCESS_NAME = 'selecionar_pessoa';


var CONSUMER_KEY = 'x';
var CONSUMER_SECRET = 'x';

var ACCESS_TOKEN = 'x';
var TOKEN_SECRET = 'x';




function startProcess() {

var form = FormApp.getActiveForm();
var formResponses = form.getResponses();
var formResponseslength = formResponses.length;

/**
 * Obter o último registro do formulário.
 */
var nome = formResponses[formResponseslength-1].getItemResponses()[0].getResponse();
var telefone = formResponses[formResponseslength-1].getItemResponses()[1].getResponse();
var salario = formResponses[formResponseslength-1].getItemResponses()[2].getResponse();


var service = getFluigService();
  var url = FLUIG_BASE_URL  + '/process-management/api/v2/processes/' + PROCESS_NAME + '/start';

/**
 * Conteúdo para inserir no formulário do processo.
 */
var data = {
  'targetAssignee': 'academy.aluno',
  'subProcessTargetState': "0",
  'comment': "",
  'formFields': {
     "nome" : nome,
     "telefone" : telefone,
     "salario": salario
  }

};



var options = {
  'method' : 'post',
  'contentType': 'application/json',
  'payload' : JSON.stringify(data)
};

  var response = service.fetch(url, options);
  var result = JSON.parse(response.getContentText());

  Logger.log(JSON.stringify(result, null, 2));



Logger.log(nome);Logger.log(telefone);Logger.log(salario)

MailApp.sendEmail("[email protected]","STATUS INTEGRACAO", "SATUS DA INTEGRACAO");

 
}



function getFluigService() {
  return OAuth1.createService('fluig')
      .setConsumerKey(CONSUMER_KEY)
      .setConsumerSecret(CONSUMER_SECRET)
      .setAccessToken(ACCESS_TOKEN, TOKEN_SECRET);
}

O resultado final deve se parecer com a imagem abaixo.

Acionadores ( Gatilhos ) do Google Forms.

Os acionadores do Google Forms nada mais são que gatilhos, que irá executar alguma ação em determinado momento.

Neste exemplo será demonstrado a execução do script logo após a inserção de uma nova resposta do formulário.

Google Forms – Acionadores

Na tela de acionadores clique em adicionar acionador – botão azul no canto inferior direito da tela.

Ao abrir a tela preencha o Acionador conforme imagem abaixo.

Acionador / Gatilho – Google Forms – Integrando com o Fluig

O resultado esperado é este.

Acionador / Gatilho – Google Forms – Integrando com o Fluig

Resultado

Após o preenchimento dos dados clique em salvar.

Google Forms

Abaixo o processo inicializado automaticamente pelo aplicativo do Google Forms.

Formulário – Fluig

Erros

O próprio Google Script disparou um erro assim que eu forcei uma conexão inexistente, entretanto será necessário realizar mais testes e controles.

Repositório

Acesse aqui o repositório que contém o processo e o formulário deste projeto.

Conclusão

Este é um modelo de integração entre o Google Forms e o Fluig, utilizando a autenticação OAuth1 do Fluig.

Uma sugestão de melhoria é construir alertas por e-mail para avisar de possíveis inconsistências.

Referências

https://stackoverflow.com/questions/50491535/how-to-call-web-service-on-google-app-script

https://developers.google.com/apps-script/reference/forms/form

https://github.com/googleworkspace/apps-script-oauth2

https://github.com/googleworkspace/apps-script-oauth1

https://github.com/googleworkspace/apps-script-oauth1/blob/master/samples/Yelp.gs