Como conectar Discourse com centenas de aplicativos usando Make

Agora você pode integrar o Discourse usando o Make. O Make é uma plataforma de integração sem código onde você pode conectar facilmente quase qualquer aplicativo ou API ao Discourse. O aplicativo do Discourse no Make possui vários módulos (ações, gatilhos e buscas) que permitem automatizar suas comunicações no Discourse e sincronizar dados automaticamente.

What is integromat@2x

Os módulos do Discourse permitem monitorar, criar, atualizar, recuperar ou excluir posts e tópicos na sua conta do Discourse. Os gatilhos disponíveis podem monitorar posts, tópicos e mensagens privadas no Discourse para, em seguida, transferir e armazenar dados em outro aplicativo.

O Make permite criar qualquer integração que você possa imaginar. Usando o construtor visual, você pode arrastar e soltar quantos aplicativos ou etapas forem necessários para simular o fluxo de trabalho real. Atualmente, há mais de 700 aplicativos disponíveis, além de vários aplicativos genéricos que permitem conectar-se a qualquer API por meio de HTTP/JSON.

Veja a lista completa de módulos do Discourse disponíveis e modelos de integração prontos, ou clique nas capturas de tela abaixo para ver o cenário:

Esses modelos pré-definidos tornam a criação de cenários muito mais fácil. O assistente do Make guiará você passo a pelo processo de construção. Claro, você sempre pode expandir e personalizar o cenário para atender às suas necessidades individuais ou criar o seu próprio.

Para começar, você precisará se cadastrar em uma conta do Make e, em seguida, fazer uma conexão com sua conta do Discourse. Após o registro e login, siga este guia passo a passo.

Para começar a criar um cenário (cenários são o termo usado no Make para integrações), você entrará no construtor visual de cenários. Comece escolhendo a ação do Discourse desejada e, em seguida, será solicitado a criar uma conexão. Para conectar sua conta do Discourse ao Make, você precisará obter a Chave de API e inseri-la na caixa de diálogo “Criar uma conexão” do Make.

Recursos

  • Recupera detalhes do post quando um novo post é criado
  • Recupera uma lista dos últimos posts em todos os tópicos
  • Recupera detalhes do post
  • Atualiza um post existente
  • Exclui um post existente
  • Recupera detalhes do tópico quando um novo tópico é criado
  • Recupera uma lista de tópicos
  • Recupera detalhes do tópico
  • Permite atualizar o título e/ou a categoria de um tópico existente
  • Exclui um tópico existente
  • Recupera detalhes da mensagem quando uma nova mensagem privada é recebida
  • Recupera mensagens privadas na sua conta
  • Cria um post, tópico ou mensagem privada
  • Permite executar uma chamada de API personalizada

:arrow_right: Instalar: Siga o guia de instalação do plugin para conectar o Discourse ao Make

Configuração

1. Faça login na sua conta do Discourse.

2. Abra o menu no canto superior direito.

3. Navegue até Admin > API.

01

4. Clique no botão Nova Chave de API.

5. Configure a Chave de API da seguinte forma:

  • Descrição: Insira o nome para a Chave de API.
  • Nível de Usuário: Selecione a opção Usuário Único para restringir o acesso via API ao usuário especificado no campo Usuário abaixo.
  • Usuário: Selecione o usuário ao qual deseja conceder acesso à API da sua conta do Discourse. Os nomes de usuário disponíveis serão exibidos conforme você digita.
  • Chave Global (permite todas as ações): Ative esta opção para permitir todas as ações. Caso contrário, defina os escopos específicos que deseja habilitar para o acesso à API.

6. Clique no botão Salvar e copie a Chave de API fornecida.

7. Acesse o Make e abra a caixa de diálogo Criar uma conexão do módulo do Discourse. Preencha os seguintes campos:

  • Nome da conexão: Insira o nome para a conexão com sua conta do Discourse.
  • URL do Host: Selecione a URL do domínio do seu Discourse (incluindo HTTPS), por exemplo, https://.discourse.group
  • Chave de API: Insira a Chave de API que você copiou no passo 6 acima.
  • Nome de Usuário da API: Insira o nome de usuário do usuário atribuído à Chave de API.

8. Clique no botão Continuar para estabelecer a conexão.

Agora, você pode continuar configurando o módulo e conectando o restante dos seus aplicativos de forma semelhante. Se precisar de ajuda para configurar suas integrações, entre em contato com a equipe de suporte do Make enviando um chamado.

16 curtidas

Great post! Integromat is awesome :heart:

2 curtidas

Not … Michaela Staffova . Solutions Specialist - Generalist at Integromat by any chance???

5 curtidas

That is correct :slightly_smiling_face: And I am very happy to be working for Integromat while simultaneously finding it awesome :pray:

4 curtidas

This is my favorite automation platform :clap: I’ve been using it with the Discourse API for a long time already - I guess I can migrate some of my modules now :slight_smile:

8 curtidas

Thank you for the continued positive feedback, @bartv! We also saw the post you recently published about us :slightly_smiling_face:

3 curtidas

Really good pricing on this compared to Zapier. Much better free tier as well. I’m going to play around with this to test some possible functionality with my community. I would like to link Discourse and Telegram group communications.

2 curtidas

Sure @Bill , we have Telegram as well, you can see it here. If you need help setting up your scenarios, please contact Integromat’s Support team :slight_smile:

1 curtida

Here’s one of my favorite scenarios that I wrote for a weekly roundup of the best artwork on Blender Artists that I post on my other site, BlenderNation. I create a Google Sheet with URLs of posts that I want to feature. The scenario loads each topic, fetches the thumbnail image, uploads it to WordPress and builds the entire article. All I need to do is hit publish. What took me at least an hour to create before is now down to 5 minutes of work. (The scenario that I posted above is step 2 in this process - it takes the same sheet and congratulates everyone, gives them a badge etc).

13 curtidas

Wow, @bartv this is incredibly impressive, thanks for sharing! It’s always a pleasure to stumble upon a power user :slightly_smiling_face:. Keep up the great work and thanks for automating with us :pray:

3 curtidas

Abri uma solicitação de recurso para suporte a Tags do Discourse:
https://www.integromat.com/en/requests/requests-to-update-existing-apps/p/discourse-add-tag-support

Não consegui encontrar nada relacionado a tags nos campos disponíveis no Integromat. Acredito que seria super útil ter essa funcionalidade disponível.

No meu caso específico, quero poder definir uma Tag em um Tópico no Discourse e usá-la como um gatilho no Integromat para, em seguida, transferir o conteúdo desse tópico para o ClickUp. Mais especificamente, vou usar isso para sinalizar tópicos específicos do fórum para acompanhamento de desenvolvimento no ClickUp (por exemplo, nova funcionalidade, bug, etc.).

Nem todos os tópicos do fórum devem ir para o ClickUp, e queremos poder usar Categorias para diferenciar, por exemplo, Bugs de Funcionalidades (ou outras coisas). Uma solução alternativa atual seria mover um tópico para uma categoria especial “ClickUp” e usar o suporte de dados existente do Integromat para lidar com isso, mas seria muito melhor e menos intrusivo com o uso de tags.

Obrigado pelo excelente suporte do Integromat!

Olá, @oshyan! Espero que você esteja bem e obrigado por automatizar conosco!

Infelizmente, atualmente não há uma maneira elegante de realizar o que você deseja. Isso se deve principalmente às limitações da API do Discourse. O principal problema é que não existe uma forma fácil de monitorar atribuições recentes de tags.

Existe uma solução para isso, mas, como mencionado antes, não é muito elegante.

  1. Obtenha uma lista de todas as tags por meio do módulo “Fazer uma chamada de API” (aprenda a fazer chamadas de API com o Integromat aqui).
  2. Obtenha os detalhes de cada tag = obtenha a lista de tópicos atribuídos por meio do módulo “Fazer chamada de API”.
  3. Salve o estado atual em um banco de dados (pode ser um Data Store dentro do Integromat).
  4. Compare o estado atual com o anterior.
  5. Descubra quais tópicos têm novas tags.
  6. Execute uma ação desejada no ClickUp.

O problema é que o cenário consumiria um número considerável de operações. Entendemos que isso não é muito conveniente, mas o Integromat só pode trabalhar com o que a API específica permite.

Esperamos que isso esclareça a situação :slightly_smiling_face:

Se tiver alguma dúvida, sinta-se à vontade para perguntar, e garantiremos que forneceremos mais contexto.

Tenha um ótimo dia!

1 curtida

Uau, obrigado, isso é muito útil e informativo! Parece que preciso solicitar algumas atualizações da API para a equipe do Discourse.

Supondo que a API fosse atualizada para permitir a consulta de novas tags em tópicos, eu imagino que não seria difícil adicionar suporte a tags no Integromat a partir desse ponto?

Isso não poderia funcionar com um webhook de tópico? Por exemplo, sempre que um tópico for atualizado no Discourse e tiver uma tag, garantir que ele seja adicionado ao ClickUp.

1 curtida

Interessante. Não tenho certeza exatamente como isso funciona ou como configurá-lo. Desde que fosse possível detectar quando uma nova tag é adicionada a um tópico já criado e executar apenas a ação “adicionar ao ClickUp” com uma tag específica (ou tags específicas), isso atenderia à minha necessidade, pelo menos.

Ainda acho que a API precisa de um suporte melhor a tags, no entanto.

Eu precisava de algo semelhante: queria um feed de tópicos com uma tag específica, ordenados pela data de etiquetagem. Acabei contornando o problema configurando uma consulta no explorador de dados e, em seguida, chamando o relatório a partir de um script externo. Fico feliz em compartilhar os detalhes se isso ajudar você.

3 curtidas

Obrigado! Acredito que isso me dê uma direção para seguir caso uma solução baseada no Integromat não funcione. Avisarei se os detalhes forem úteis. Obrigado novamente. :slight_smile:

1 curtida

@oshyan @bartv @JonathanShaw

:raised_hand_with_fingers_splayed: Olá, pessoal!

Após investigação mais aprofundada, podemos confirmar que uma solução por meio do nosso módulo genérico de webhooks pode ser uma opção viável.

Se você conseguir configurar webhooks na sua conta do Discourse e usar uma URL de webhook genérica do Integromat como ouvinte, poderá monitorar eventos de “topic”, que carregam informações de tags no payload.

Um início de cenário poderia ser assim:

Como você sabe, um tópico pode ter mais de uma tag, então você deve iterar pelas tags antes de executar qualquer ação. Nosso cenário de exemplo termina com “Iterator”, mas você precisará adicionar mais módulos para realizar as ações desejadas (por exemplo, no aplicativo ClickUp mencionado acima).

Você também pode conferir as partes mais importantes do cenário nas seguintes imagens:



Também estamos investigando a possibilidade de adicionar suporte nativo a webhooks dentro do aplicativo Discourse existente com nossa equipe de desenvolvimento, mas, como os webhooks no Discourse existem desde 2016, pode haver um problema técnico que nos impede de fazê-lo.

Esperamos que isso seja útil!
Avise-nos se precisar de mais ajuda :robot:

1 curtida

Uau, esse é um suporte excelente! Obrigado, novamente. Então, isso elimina a necessidade de usar um armazenamento de dados e um processo de comparação?

Feliz em ajudar, @oshyan :slightly_smiling_face:

Para responder à sua pergunta - - →

Sim, neste caso específico, você não precisará se preocupar com o Data Store (90% de certeza sobre isso), e eis o porquê:

  1. Assumimos que, uma vez que uma tag é atribuída a um tópico, ela raramente é removida. Apenas novas tags podem ser adicionadas.
  2. Toda alteração em um tópico gerará um novo ping com o conjunto atual de tags atribuídas ao tópico. Assim, assim que suas tags “monitoradas” aparecerem atribuídas a um tópico, seu cenário que gera ações no ClickUp será acionado imediatamente.

Ainda pode haver uma razão para usar um Data Store se você quiser tornar o cenário extremamente robusto (e, para ser honesto, bastante complicado):

  1. Por exemplo, um tópico recebe uma tag, depois a tag é removida e, mais tarde, a mesma tag é adicionada novamente => Isso faria seu cenário executar a mesma ação que já foi processada anteriormente. Nesse caso, você pode querer armazenar informações sobre o que já foi enviado ao ClickUp e o que não foi, e não prosseguir se o item já tiver sido enviado ao ClickUp… Por outro lado, você pode simplesmente “Listar Todas as Tarefas” antes de enviar ao ClickUp e só enviar ao ClickUp se a tarefa ainda não estiver lá, sem precisar se preocupar com um Data Store. Isso realmente depende da sua lógica de negócios.
  2. Um Data Store pode ser simplesmente um bom registro dos itens processados, caso você queira ver o que aconteceu em uma data XYZ. Por outro lado, você pode simplesmente salvar o log no Google Sheets… E, mais uma vez, isso depende da sua lógica de negócios.

Avise-nos se precisar de mais esclarecimentos.

1 curtida