Olá! Estou verificando se é possível integrar o Discourse com outra ferramenta que estamos usando via Zapier. Gostaria de ter um evento de gatilho de webhook que fosse específico para cada postagem e que enviasse as informações da postagem na entrega do webhook. As tags parecem estar no nível do tópico e não permitem especificidade para uma postagem. Distintivos podem ser concedidos por meio de uma postagem, mas não parecem acionar a entrega adequada do webhook.
Sim, isso pode ser feito usando um Webhook do Zapier como aplicativo de gatilho e configurando um Webhook do Discourse para enviar dados ao Zapier. A seção ‘Configurar Gatilho’ de Trigger a Zapier task with Discourse Webhooks fornece detalhes sobre como configurar isso. Você poderia ler esse tópico? Se algo não estiver claro, faça suas perguntas nesse tópico e nós retornaremos a você.
Tentei configurar isso com os webhooks, mas só consegui ver a opção de enviar todas as postagens para o Zapier, em vez de poder selecionar manualmente quais delas enviar. Ou seja, apenas postagens específicas sendo enviadas. Você sabe se há uma configuração ou maneira de escolher as postagens para conseguir isso?
Você pode limitar quais posts ou tópicos acionarão o webhook no Discourse nas configurações de Categorias Acionadas, Tags Acionadas e Grupos Acionados do webhook. Criar um grupo de tags com tags que só podem ser vistas ou usadas por membros da equipe pode ser uma boa maneira de restringir o webhook a tópicos específicos.
Você também pode adicionar uma etapa de filtro no Zapier para continuar apenas se o tópico atender a uma condição que você especificar. Há um exemplo de como configurar isso para um webhook de usuário na seção ‘Capturar o Evento de Criação de Usuário do Discourse’ em Create a Salesforce lead via Zapier when a user signs up on Discourse. Configurar um filtro para um tópico ou um post no Zapier seguiria um processo semelhante.
Pelo que entendi, se um Zap puder avançar até sua etapa de filtro, esse evento será contado como uma tarefa no Zapier. Seria melhor filtrar o máximo possível no Discourse antes de enviar a solicitação ao Zapier. Filtrar por categorias, tags e grupos é a melhor maneira de alcançar isso.
Obrigado novamente, @simon! Brinquei com as opções de configuração sobre as quais você está falando, mas não consegui encontrar nada no nível do post que permitisse reagir a uma mudança específica de dados do post no Discourse, indicando que o post deveria ser sincronizado com esse outro sistema.
Com certeza consigo enviar tudo para um Tópico com uma determinada tag; já vi que isso funciona. Isso exige um nível mais alto de conta no Zapier para montar o zap apropriado e lidar com o número resultante de tarefas, o que pode ser aceitável. O que ainda não consegui entender, porém, é como um administrador no Discourse pode fazer algo a um post que acione um webhook de forma que o Zapier perceba que um post específico no tópico deve ser enviado (em vez de todos os posts do tópico taggeado).
Sou completamente novo no Discourse, então estou me perguntando se há algo específico do post que estou deixando passar.
Filtrar no nível do post provavelmente terá que ser feito no Zapier. Que tipo de dados você quer usar para determinar se o Zap deve ou não ser acionado?
Esse é um ponto onde meu conhecimento sobre o Discourse definitivamente falha. Não tenho certeza de quais dados são específicos de uma postagem, que podem ser usados para especificar que a postagem deve ser sincronizada, e que são passados para o payload do webhook.
As flags servem a um propósito diferente… não tenho certeza de que isso funcionaria.
Não queremos alterar o conteúdo da postagem visível ao usuário.
As insígnias parecem possíveis, mas não vejo elas acionando os webhooks.
Minha primeira ideia foi que filtrar postagens marcadas como resolvidas ou postagens curtidas por um membro da equipe funcionaria. Infelizmente, nenhuma dessas ações dispara um webhook. Acho que há boas razões para não disparar um webhook em curtidas, mas talvez algo possa ser desenvolvido para disparar um webhook quando um tópico for marcado como resolvido.
Para disparar webhooks em postagens específicas com a funcionalidade atual do Discourse, você pode tentar configurar um webhook que seja acionado em Eventos de Sinalização. No Zapier, você pode filtrar as postagens sinalizadas procurando por postagens que foram sinalizadas como “Algo Mais” por um usuário específico do seu site.
A maneira mais fácil de ver o payload que é passado com um Evento de Sinalização é criar um webhook no Discourse com o Evento de Sinalização selecionado como seu gatilho. Para testar isso, você pode inserir qualquer URL no campo URL do Payload do webhook, por exemplo http://example.com. Após sinalizar uma postagem no seu site, vá para Admin / API / Webhooks e clique no link ‘Status de Entrega’ para acessar a lista de solicitações do webhook.
No Zapier, você deve ser capaz de acessar qualquer um dos valores no Payload da solicitação. Para filtrar postagens que foram sinalizadas como “Algo Mais” por um usuário específico, você precisará verificar se o flag_type da solicitação é notify_moderators e se o campo created_by da solicitação está definido como o nome de usuário do usuário que você deseja que dispare sua ação no Zapier.
Ok, consigo ver como isso poderia funcionar. As pessoas perceberiam que os posts sobre os quais estamos falando aqui estão sendo sinalizados? Gostaríamos de usar esse conteúdo específico como motivo de sinalização para “Algo Mais”… o que é um pouco de mágica negra para quem iria acionar esse webhook. Existe alguma maneira de adicionar ações a um post que automatizem esses passos (ou, se pudermos adicionar ações, uma forma de simplesmente criar uma ação que colete as informações que desejamos sobre o post e acione um endpoint de webhook do Zapier com elas)?
Apenas membros da equipe podem ver que uma postagem foi sinalizada como “Outro”.
Infelizmente, a mensagem que é adicionada quando uma postagem é sinalizada como “Outro” não está incluída no payload do webhook. Por esse motivo, acho que essa não será a melhor abordagem para você.
Um engenheiro precisará confirmar isso, mas acho que seria bastante simples criar um plugin que dispare um webhook personalizado quando um membro da equipe clicar em um botão adicionado ao menu de Ações de Admin da postagem.