Comment connecter Discourse avec des centaines d'apps en utilisant Make

Vous pouvez désormais intégrer Discourse via Make. Make est une plateforme d’intégration sans code où vous pouvez facilement connecter presque n’importe quelle application ou API à Discourse. L’application Discourse sur Make propose de nombreux modules (actions, déclencheurs et recherches) qui vous permettent d’automatiser vos communications dans Discourse et de synchroniser automatiquement les données.

Qu'est-ce qu'Integromat@2x

Les modules Discourse vous permettent de surveiller, créer, mettre à jour, récupérer ou supprimer des publications et des sujets dans votre compte Discourse. Les déclencheurs disponibles peuvent surveiller les publications, les sujets et les messages privés sur Discourse afin de transférer et stocker les données dans une autre application.

Make vous permet de créer n’importe quelle intégration imaginable. Grâce à l’éditeur visuel, vous pouvez glisser-déposer autant d’applications ou d’étapes que nécessaire pour simuler le flux de travail réel. Actuellement, plus de 700 applications sont disponibles, ainsi que diverses applications génériques qui vous permettent de vous connecter à n’importe quelle API via HTTP/JSON.

Consultez la liste complète des modules Discourse disponibles et des modèles d’intégration préfabriqués, ou cliquez sur les captures d’écran ci-dessous pour voir le scénario :

Ces modèles prédéfinis facilitent grandement la création de scénarios. L’assistant Make vous guidera étape par étape dans la construction. Bien sûr, vous pouvez toujours étendre et personnaliser le scénario pour répondre à vos besoins individuels, ou en créer un nouveau.

Pour commencer, vous devrez vous inscrire pour un compte Make, puis établir une connexion avec votre compte Discourse. Une fois inscrit et connecté, suivez ce guide étape par étape.

Pour commencer à créer un scénario (les scénarios sont le terme utilisé par Make pour désigner les intégrations), vous entrerez dans l’éditeur visuel de scénarios. Commencez par choisir l’action Discourse souhaitée, puis vous serez invité à créer une connexion. Pour connecter votre compte Discourse à Make, vous devrez obtenir la clé API et l’insérer dans la boîte de dialogue Créer une connexion de Make.

Fonctionnalités

  • Récupère les détails d’une publication lorsqu’une nouvelle publication est créée

  • Récupère une liste des dernières publications dans tous les sujets

  • Récupère les détails d’une publication

  • Met à jour une publication existante

  • Supprime une publication existante

  • Récupère les détails d’un sujet lorsqu’un nouveau sujet est créé

  • Récupère une liste de sujets

  • Récupère les détails d’un sujet

  • Vous permet de mettre à jour le titre et/ou la catégorie d’un sujet existant

  • Supprime un sujet existant

  • Récupère les détails d’un message lorsqu’un nouveau message privé est reçu

  • Récupère les messages privés de votre compte

  • Crée une publication, un sujet ou un message privé

  • Vous permet d’exécuter un appel API personnalisé

:arrow_right: Installer : Suivez le guide d’installation du plugin pour connecter Discourse à Make

Configuration

1. Connectez-vous à votre compte Discourse.

2. Ouvrez le menu dans le coin supérieur droit.

3. Accédez à Admin > API.

01

4. Cliquez sur le bouton Nouvelle clé API.

5. Configurez la clé API comme suit :

  • Description : Saisissez le nom de la clé API.

  • Niveau utilisateur : Sélectionnez l’option Utilisateur unique pour restreindre l’accès via l’API à l’utilisateur spécifié dans le champ Utilisateur ci-dessous.

  • Utilisateur : Sélectionnez l’utilisateur auquel vous souhaitez accorder un accès API à votre compte Discourse. Les noms d’utilisateurs disponibles s’afficheront au fur et à mesure que vous tapez.

  • Clé globale (autorise toutes les actions) : Activez cette option pour autoriser toutes les actions. Sinon, définissez les plages spécifiques que vous souhaitez activer pour l’accès API.

6. Cliquez sur le bouton Enregistrer et copiez la clé API fournie.

7. Allez sur Make et ouvrez la boîte de dialogue Créer une connexion du module Discourse. Remplissez les champs suivants :

  • Nom de la connexion : Saisissez le nom de la connexion à votre compte Discourse.

  • URL de l’hôte : Sélectionnez l’URL de votre nom de domaine Discourse (y compris HTTPS), par exemple https://.discourse.group

  • Clé API : Saisissez la clé API que vous avez copiée à l’étape 6 ci-dessus.

  • Nom d’utilisateur de l’API : Saisissez le nom d’utilisateur de l’utilisateur associé à la clé API.

8. Cliquez sur le bouton Continuer pour établir la connexion.

Vous pouvez maintenant continuer à configurer le module et connecter le reste de vos applications de la même manière. Si vous avez besoin d’aide pour configurer vos intégrations, vous pouvez contacter l’équipe de support de Make en soumettant un ticket.

16 « J'aime »

Superbe article ! Integromat est génial :heart:

2 « J'aime »

Pas … Michaela Staffova . Spécialiste en solutions - Généraliste chez Integromat par hasard ???

5 « J'aime »

C’est exact :slightly_smiling_face: Et je suis très heureux de travailler pour Integromat tout en trouvant cela génial :pray:

4 « J'aime »

C’est ma plateforme d’automatisation préférée :clap: Je l’utilise déjà depuis longtemps avec l’API Discourse — je pense que je peux maintenant migrer certains de mes modules :slight_smile:

8 « J'aime »

Merci pour vos retours positifs continus, @bartv ! Nous avons également vu le post que vous avez récemment publié à notre sujet :slightly_smiling_face:

3 « J'aime »

Des tarifs vraiment avantageux par rapport à Zapier. Une offre gratuite bien supérieure également. Je vais tester cette solution pour explorer des fonctionnalités potentielles avec ma communauté. J’aimerais relier les communications entre Discourse et le groupe Telegram.

2 « J'aime »

Bien sûr @Bill, nous avons également Telegram, vous pouvez le voir ici. Si vous avez besoin d’aide pour configurer vos scénarios, veuillez contacter l’équipe de support d’Integromat :slight_smile:

1 « J'aime »

Voici l’un de mes scénarios préférés que j’ai rédigé pour un récapitulatif hebdomadaire des meilleures œuvres d’art sur Blender Artists, que je publie sur mon autre site, BlenderNation. Je crée une feuille Google avec les URL des articles que je souhaite mettre en avant. Le scénario charge chaque sujet, récupère l’image miniature, la télécharge sur WordPress et génère l’article complet. Tout ce que j’ai à faire est de cliquer sur publier. Ce qui me prenait au moins une heure auparavant est maintenant réduit à 5 minutes de travail. (Le scénario que j’ai publié ci-dessus correspond à l’étape 2 de ce processus : il utilise la même feuille pour féliciter tout le monde, leur attribuer un badge, etc.).

13 « J'aime »

Wow, @bartv, c’est incroyablement impressionnant, merci de l’avoir partagé ! C’est toujours un plaisir de tomber sur un utilisateur avancé :slightly_smiling_face:. Continuez ce excellent travail et merci de vous automatiser avec nous :pray:

3 « J'aime »

J’ai ouvert une demande de fonctionnalité pour le support des balises Discourse :
https://www.integromat.com/en/requests/requests-to-update-existing-apps/p/discourse-add-tag-support

Je n’ai rien trouvé lié aux balises dans les champs disponibles sur Integromat. Je pense que ce serait extrêmement utile d’avoir cette option.

Dans mon cas précis, je souhaite pouvoir définir une balise sur un sujet dans Discourse et l’utiliser comme déclencheur dans Integromat pour transférer ensuite le contenu de ce sujet vers ClickUp. Plus précisément, je l’utiliserai pour signaler certains sujets du forum afin de suivre leur développement dans ClickUp (par exemple, nouvelle fonctionnalité, bug, etc.).

Tous les sujets du forum ne doivent pas être intégrés dans ClickUp, et nous souhaitons pouvoir utiliser les catégories pour différencier, par exemple, les bugs des fonctionnalités (ou d’autres éléments). Une solution de contournement actuelle consisterait à déplacer un sujet vers une catégorie spéciale « ClickUp » et à utiliser le support des données existant d’Integromat pour gérer cela, mais l’utilisation de balises serait beaucoup mieux et moins intrusive.

Merci pour le support exceptionnel d’Integromat !

Bonjour @oshyan, j’espère que vous allez bien et merci de nous avoir rejoint pour automatiser vos processus !

Malheureusement, il n’existe actuellement pas de méthode élégante pour réaliser ce que vous souhaitez. Cela est principalement dû aux limitations de l’API Discourse. Le problème principal est qu’il n’y a pas de moyen simple de surveiller les assignations récentes de tags.

Il existe une solution, mais comme mentionné précédemment, elle n’est pas très élégante.

  1. Récupérez la liste de tous les tags via le module « Effectuer un appel API » (apprenez à effectuer des appels API avec Integromat ici).
  2. Obtenez les détails de chaque tag = récupérez la liste des sujets assignés via le module « Effectuer un appel API ».
  3. Sauvegardez l’état actuel dans une base de données (cela pourrait être un Data Store au sein d’Integromat).
  4. Comparez l’état actuel avec le précédent.
  5. Identifiez les sujets qui ont de nouveaux tags.
  6. Exécutez l’action souhaitée dans ClickUp.

Ce qui est regrettable, c’est que ce scénario consommerait un nombre important d’opérations. Nous réalisons que ce n’est pas super pratique, mais Integromat ne peut fonctionner qu’avec ce que l’API spécifique autorise.

J’espère que cela clarifie la situation :slightly_smiling_face:

Si vous avez des questions, n’hésitez pas à les poser et nous nous assurerons de fournir plus de contexte.

Bonne journée !

1 « J'aime »

Wow, merci, c’est vraiment utile et instructif ! On dirait que je dois demander quelques mises à jour de l’API à l’équipe Discourse.

En supposant que l’API soit mise à jour pour permettre la requête de nouveaux tags sur les sujets, je suppose qu’il ne serait pas difficile d’ajouter le support des tags dans Integromat à ce moment-là ?

Cela ne pourrait-il pas fonctionner avec un webhook de sujet ? Par exemple, chaque fois qu’un sujet est mis à jour dans Discourse et qu’il possède un tag, s’assurer qu’il est ajouté à ClickUp.

1 « J'aime »

Intéressant. Je ne suis pas tout à fait certain de la façon dont cela fonctionne ni de la procédure pour le configurer. Tant que cela pourrait déclencher lorsqu’une nouvelle balise est ajoutée à un sujet déjà créé, et n’exécuter l’action « Ajouter à ClickUp » que pour une balise spécifique (ou plusieurs), cela répondrait à mon besoin, du moins.

Je reste néanmoins convaincu que l’API nécessite une meilleure prise en charge des balises.

J’avais besoin de quelque chose de similaire : je voulais un flux de sujets avec un tag spécifique, triés par date de tag. J’ai fini par contourner le problème en configurant une requête dans l’explorateur de données, puis en appelant le rapport depuis un script externe. Je suis ravi de partager les détails si cela peut vous aider.

3 « J'aime »

Merci ! Je pense que cela me donne une piste à explorer si une solution basée sur Integromat ne se concrétise pas. Je vous tiendrai au courant si les détails peuvent être utiles. Merci encore. :slight_smile:

1 « J'aime »

@oshyan @bartv @JonathanShaw

:raised_hand_with_fingers_splayed: Salut à tous !

Après investigation approfondie, nous pouvons confirmer qu’une solution via notre module générique de webhooks pourrait être une option viable.

Si vous pouvez configurer des webhooks dans votre compte Discourse et utiliser une URL de webhook générique Integromat en tant que récepteur, vous pourrez alors écouter les événements « topic » qui contiennent des informations sur les tags dans le payload.

Un début de scénario pourrait ressembler à ceci :

Comme vous le savez, un topic peut avoir plusieurs tags, vous devez donc parcourir les tags avant d’exécuter toute action. Notre scénario d’exemple se termine par « Iterator », mais vous devrez ajouter d’autres modules pour effectuer les actions souhaitées (par exemple dans l’application ClickUp mentionnée ci-dessus).

Vous pouvez également consulter les éléments les plus importants du scénario dans les captures suivantes :



Nous examinons également la possibilité d’ajouter une prise en charge native des webhooks au sein de l’application Discourse existante avec notre équipe de développement, mais étant donné que les webhooks existent dans Discourse depuis 2016, il pourrait y avoir un problème technique qui nous empêche de le faire.

J’espère que vous trouverez cela utile !
Faites-nous savoir si vous avez besoin d’aide supplémentaire :robot:

1 « J'aime »

Wow, quel excellent support ! Merci encore. Cela évite-t-il donc d’avoir recours à un magasin de données et à un processus de comparaison ?

Heureux de vous aider, @oshyan :slightly_smiling_face:

Pour répondre à votre question :

Oui, dans ce cas précis, vous n’avez probablement pas besoin de vous soucier du Data Store (je suis positif à 90 %) et voici pourquoi :

  1. Nous partons du principe qu’une fois qu’un tag est attribué à un sujet, il est rarement supprimé. Seuls de nouveaux tags peuvent être ajoutés.
  2. Chaque modification de sujet génère un nouveau ping avec l’ensemble actuel des tags attribués au sujet : dès que vos tags « surveillés » apparaissent comme attribués à un sujet, votre scénario générant des actions ClickUp sera déclenché immédiatement.

Il pourrait néanmoins y avoir une raison d’utiliser un Data Store si vous souhaitez rendre le scénario infaillible (et assez complexe, pour être honnête) :

  1. Par exemple, un sujet reçoit un tag, puis le tag est supprimé, puis le même tag est réattribué plus tard => Cela déclencherait votre scénario pour effectuer la même action qui a déjà été traitée. Dans ce cas, vous voudrez peut-être stocker des informations sur ce qui a déjà été envoyé vers ClickUp et ce qui ne l’a pas été, et ne pas poursuivre si l’élément a déjà été envoyé vers ClickUp… D’un autre côté, vous pourriez simplement « Lister toutes les tâches » avant d’envoyer vers ClickUp et n’envoyer vers ClickUp que si la tâche n’y est pas encore, sans avoir à vous soucier d’un Data Store. Cela dépend vraiment de votre logique métier.
  2. Un Data Store pourrait simplement servir de bon journal des éléments traités si vous souhaitez un jour voir ce qui s’est passé à la date XYZ. D’un autre côté, vous pourriez simplement enregistrer le journal dans Google Sheets… Et, encore une fois, cela dépend de votre logique métier.

Faites-nous savoir si vous avez besoin de plus de clarifications.

1 « J'aime »