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

Ótimo post! O Integromat é incrível :heart:

2 curtidas

Não… Michaela Staffova? Especialista em Soluções - Generalista na Integromat, por acaso???

5 curtidas

Isso está correto :slightly_smiling_face: E estou muito feliz em trabalhar na Integromat, ao mesmo tempo em que a acho incrível :pray:

4 curtidas

Esta é a minha plataforma de automação favorita :clap: Já a utilizo com a API do Discourse há bastante tempo — acho que posso migrar alguns dos meus módulos agora :slight_smile:

8 curtidas

Obrigado pelo feedback positivo contínuo, @bartv! Também vimos a postagem que você publicou recentemente sobre nós :slightly_smiling_face:

3 curtidas

Preços realmente bons em comparação ao Zapier. Plano gratuito muito melhor também. Vou experimentar isso para testar algumas funcionalidades possíveis com minha comunidade. Gostaria de integrar as comunicações do Discourse com o grupo do Telegram.

2 curtidas

Claro @Bill, também temos o Telegram, você pode vê-lo aqui. Se precisar de ajuda para configurar seus cenários, entre em contato com a Equipe de Suporte da Integromat :slight_smile:

1 curtida

Aqui está um dos meus cenários favoritos, que escrevi para uma resumo semanal das melhores obras de arte no Blender Artists, que posto no meu outro site, BlenderNation. Crio uma planilha do Google com URLs de posts que quero destacar. O cenário carrega cada tópico, busca a imagem de miniatura, faz o upload para o WordPress e constrói todo o artigo. Tudo o que preciso fazer é clicar em publicar. O que antes levava pelo menos uma hora para criar agora leva apenas 5 minutos de trabalho. (O cenário que publiquei acima é o passo 2 desse processo — ele usa a mesma planilha e parabeniza a todos, concede uma medalha etc.).

13 curtidas

Uau, @bartv, isso é incrivelmente impressionante, obrigado por compartilhar! É sempre um prazer encontrar um usuário avançado :slightly_smiling_face:. Continue com o excelente trabalho e obrigado por automatizar conosco :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