Criar mais fluxos de trabalho avançados usando webhooks

Quem pode usar este recurso?
  • Todos os membros (por padrão)
  • Planos Padrão, Plus e Enterprise Grid

Fluxos de trabalho são processos ou tarefas de várias etapas automatizadas que podem ser executadas diretamente no Slack, ou conectar-se a outras ferramentas e serviços. Os fluxos de trabalho no Slack podem ter a simplicidade ou a complexidade que você quiser, e normalmente não exigem a escrita de nenhum código.

Se você for um desenvolvedor ou tiver alguma experiência com programação, poderá ter interesse em criar um fluxo de trabalho acionado por um evento em um serviço externo (como uma ferramenta interna que a sua empresa usa) com um webhook.

Confira tudo o que você precisa para começar

  • Saber como enviar solicitações HTTP por linha de comando ou outra ferramenta
  • Entender os webhooks recebidos. Confira orientações sobre isso na documentação da API do Slack ou peça ajuda a um desenvolvedor da sua equipe

O que você aprenderá

  • Como configurar um webhook para acionar um fluxo de trabalho no Slack
  • Como criar variáveis personalizadas e usá-las nas etapas do fluxo de trabalho
  • Como testar seu fluxo de trabalho antes da publicação

Observação: os proprietários e administradores podem restringir o acesso para a criação de fluxos de trabalho com webhooks. Se você não encontrar essa opção no criador de fluxo de trabalho, entre em contato com um proprietário ou administrador para pedir ajuda.

Dica: se você quiser relembrar como configurar um fluxo de trabalho e escolher um acionador, acesse a opção Configurar um fluxo de trabalho no Slack.


Configuração do fluxo de trabalho

Noções básicas do fluxo de trabalho com webhook

No Slack, todos os fluxos de trabalho são iniciados com acionadores. Para acionar um fluxo de trabalho com um webhook, você deverá configurar o webhook para começar o fluxo de trabalho no Slack quando ocorrer um evento específico em outro serviço. Por exemplo, você pode configurar um fluxo de trabalho que posta uma mensagem no Slack quando existir um problema no seu site ou serviço e for aberto um registro de incidente para entender e resolver os problemas.

Configurar o webhook

O serviço externo que você escolher para criar e configurar o webhook precisa ser capaz de fazer uma solicitação de HTTP POST ao Slack quando ocorrerem determinados eventos. O Slack vai gerar uma URL de solicitação exclusiva para o seu fluxo de trabalho após a publicação e você poderá configurar o webhook para transmitir as informações ao Slack através do corpo da solicitação de HTTP. Qualquer dado que o seu webhook enviar ao Slack poderá ser referenciado em posteriores etapas do fluxo de trabalho com a criação de variáveis.

Dica: Se você tiver dúvidas sobre como configurar o webhook, recomendamos que peça ajuda a um desenvolvedor da sua equipe ou consulte alguma documentação de suporte fornecida pelo serviço que você usa, como o Postman ou o Zapier.

Criar variáveis personalizadas

É possível adicionar até 20 variáveis para transmitir dados de outros serviços para o Slack e incluir informações específicas do Slack, como nomes exibidos ou endereços de e-mail nas etapas que você adicionar ao fluxo de trabalho.

Para criar uma variável personalizada, você deverá adicionar um par chave-valor no criador de fluxo de trabalho como variável baseada em texto. Depois de adicionar uma variável, você verá uma visualização do corpo HTTP de modo a verificar se os valores correspondem com as saídas JSON no outro serviço que você está conectando ao Slack através do webhook. Leve em consideração que, no momento, não é possível usar estruturas JSON agrupadas em variáveis de fluxos de trabalho.

No exemplo abaixo, se o usuário, a gravidade e a descrição incident_description não fossem enviadas com a solicitação de webhook, ocorreria uma falha no fluxo de trabalho. 

Incident_webhook_workflow.png

Dica: Se você precisar adicionar, remover ou modificar variáveis a qualquer momento, abra o fluxo de trabalho no criador de fluxo de trabalho. Em seguida, clique em Editar ao lado do Webhook a ser alterado. Você também precisará certificar-se de que qualquer alteração feita às variáveis seja refletida no serviço externo do qual a solicitação do webhook é enviada.

Obter a URL de solicitação da Web 

Após a publicação do fluxo de trabalho, o Slack vai gerar uma URL de solicitação exclusiva que você poderá adicionar ao webhook para garantir que o POST que você configurou seja enviado para o canal correto do Slack. As URLs começam com https://hooks.slack.com/workflows, seguido por uma string de caracteres aleatória.

Mantenha a URL de solicitação protegida, pois qualquer pessoa com o link poderá acionar o fluxo de trabalho.

Observação: os fluxos de trabalho de webhook estão limitados a uma solicitação por segundo. Saiba mais sobre os limites de taxas na API do Slack.


Coloque em prática o que você aprendeu

Adicionar etapas

Depois de ter configurado o webhook e criado todas as variáveis que você quiser usar, está tudo pronto para adicionar as etapas ao fluxo de trabalho

  1. Abra o fluxo de trabalho no criador de fluxo de trabalho. 
  2. Clique em Adicionar etapa
  3. Escolha o tipo de etapa que você quer adicionar, depois siga as indicações para personalizar a etapa.


Testar o fluxo de trabalho

Antes de publicar o fluxo de trabalho em um canal do seu workspace que esteja sendo ativamente usado pelos membros, você pode configurar para postar a primeira etapa em um canal de teste.

  1. Envie o POST para a URL de solicitação do seu fluxo de trabalho e acompanhe as etapas para assegurar que tudo esteja funcionando devidamente.
  2. Volte ao criador de fluxo de trabalho e atualize a primeira etapa do fluxo de trabalho para ser postada no canal da sua preferência e, em seguida, publique as alterações.


Regenerar uma URL de webhook

Se uma URL de webhook for exposta ou precisar ser alterada por algum motivo, siga as etapas abaixo: 

  1. Abra o criador de fluxo de trabalho e selecione seu fluxo de trabalho na lista.
  2. Clique em Editar ao lado do Webhook.
  3. Selecione Gerar novamente URL e salve as alterações.

Observação: depois que você regenera uma URL de webhook, a conexão entre o fluxo de trabalho no Slack e o outro serviço será interrompida. Atualize o outro serviço com a nova URL para manter o funcionamento perfeito.