Respondendo requisições HTTP feitas para o Microsoft Flow

Olá pessoas! Como vão?

Já pararam para pensar o quanto seria interessante se, ao fizer uma requisição Http para o Flow, obter uma resposta do processamento? Isso abre um leque de possibilidades, como por exemplo reaproveitamento de fluxos. 

Como fazer?

Existe uma ação/etapa bem interessante no Microsoft Flow que é o Response Request:

Utilizando essa ação, em conjunto com a trigger de “When a HTTP request is Received”, podemos gerar uma resposta para quem fez a requisição.

Exemplo:

Vou fazer um exemplo bem simples, onde eu faço uma requisição para um determinado Flow e gero uma resposta.

Vamos criar um Flow em branco:

Adicione uma ação de “When a HTTP request is received“:

Adicionei a ação de Obter Timeline do Twitter:

Essa ação de “Get user timeline” retorna uma serie de informações como por exemplo: data, url de imagem, menção, etc. No nosso caso quero apenas o tweet. Para isso utilizo a ação “Select” para obter apenas os textos do tweet:

Ok, era o que precisava. Por último adiciono uma ação do tipo Response:

Vamos preencher da seguinte maneira:

  • Status code: 200;
  • Headers:
    • Content-Type: application/json
  • Body:

Para os tweets vamos adicionar a saída na nossa ação Select:

E para o campo “Date” vamos usar a expressão

Vai ficar assim:

Neste caso específico vou alterar a trigger de ” When a HTTP request is received” para responder requests do tipo GET. Como é apenas um teste não é um problema isso.

Pronto! Agora é apenas copiar a url gerada na trigger e chamar diretamente no browser:

E podemos verificar a execução pelo Flow também:

Bom pessoal por hoje é apenas isso. Espero que essa dica possa ajudar!

Qualquer dúvida podem entrar em contato.