DiscourseをMakeを使って何百ものアプリと接続する方法

Discourse を Make を使って統合できるようになりました。Make はノーコードの統合プラットフォームであり、ほぼあらゆるアプリや API を Discourse に簡単に接続できます。Make 上の Discourse アプリには、Discourse 内のコミュニケーションを自動化し、データを自動的に同期するための複数のモジュール(アクション、トリガー、検索)が用意されています。

What is integromat@2x

Discourse モジュールを使用すると、Discourse アカウント内の投稿やトピックの監視、作成、更新、取得、削除が可能です。利用可能なトリガーは、Discourse 上の投稿、トピック、プライベートメッセージを監視し、そのデータを別のアプリに転送・保存するために使用できます。

Make を使えば、思い描くあらゆる統合を構築できます。ビジュアルビルダーを使用して、実際のワークフローをシミュレートするために必要なだけアプリやステップをドラッグ&ドロップできます。現在、700 以上のアプリが利用可能で、さらに HTTP/JSON を通じて任意の API に接続できる汎用アプリも多数用意されています。

利用可能な Discourse モジュールの全リストや、事前作成された統合テンプレートをご覧ください。または、下のスクリーンショットをクリックしてシナリオを確認してください。

これらの事前定義されたテンプレートを使用すると、シナリオの作成が非常に簡単になります。Make のウィザードがビルドをステップバイステップで案内します。もちろん、シナリオを拡張・カスタマイズして独自のニーズに合わせて調整することも、自分で作成することも可能です。

始めるには、まず Make アカウントに登録し、Discourse アカウントとの接続を設定する必要があります。登録してログインしたら、このステップバイステップガイドに従ってください。

シナリオ(Make 用語では統合を指します)の作成を開始するには、ビジュアルシナリオビルダーに入ります。まず、実行したい Discourse アクションを選択すると、接続の作成が求められます。Discourse アカウントを Make に接続するには、API キーを取得し、Make の「接続の作成」ダイアログに貼り付ける必要があります。

機能

  • 新しい投稿が作成されたときに投稿の詳細を取得
  • トピック全体の最新投稿リストを取得
  • 投稿の詳細を取得
  • 既存の投稿を更新
  • 既存の投稿を削除
  • 新しいトピックが作成されたときにトピックの詳細を取得
  • トピックのリストを取得
  • トピックの詳細を取得
  • 既存のトピックのタイトルまたはカテゴリを更新可能
  • 既存のトピックを削除
  • 新しいプライベートメッセージが受信されたときにメッセージの詳細を取得
  • アカウント内のプライベートメッセージを取得
  • 投稿、トピック、またはプライベートメッセージを作成
  • カスタム API コールを実行可能

:arrow_right: インストール: Discourse を Make に接続するには、プラグインインストールガイドに従ってください

設定

1. Discourse アカウントにログインします。

2. 右上隅のメニューを開きます。

3. 管理 > API に移動します。

01

4. 新しい API キーボタンをクリックします。

5. API キーの設定を以下のように設定します。

  • 説明: API キーの名前を入力します。
  • ユーザーレベル: 下の「ユーザー」フィールドで指定されたユーザーに API アクセスを制限するには、「単一ユーザー」オプションを選択します。
  • ユーザー: Discourse アカウントへの API アクセスを付与したいユーザーを選択します。選択可能なユーザー名は入力に応じて表示されます。
  • グローバルキー(すべてのアクションを許可): すべてのアクションを許可するにはこのオプションを有効にします。それ以外の場合は、API アクセスに対して有効にしたい特定の範囲を定義します。

6. 保存ボタンをクリックし、提供された API キーをコピーします。

7. Make に移動し、Discourse モジュールの「接続の作成」ダイアログを開きます。以下のフィールドを入力します。

  • 接続名: Discourse アカウントへの接続の名前を入力します。
  • ホスト URL: Discourse ドメイン名の URL(HTTPS を含む)を選択します。例: https://.discourse.group
  • API キー: 手順 6 でコピーした API キーを入力します。
  • API ユーザー名: API キーに割り当てられたユーザーのユーザー名を入力します。

8. 続行ボタンをクリックして接続を確立します。

これで、モジュールの設定を続け、他のアプリも同様に接続できます。統合の設定に困った場合は、チケットを送信してMake サポートチームにお問い合わせください。

「いいね!」 16

素晴らしい投稿ですね!Integromat は最高です :heart:

「いいね!」 2

もしかして、Integromatのソリューションスペシャリスト(一般担当)のMichaela Staffovaさんですか?

「いいね!」 5

その通りです :slightly_smiling_face: Integromat で働けて、かつその素晴らしさを実感できていることにとても嬉しく思います :pray:

「いいね!」 4

これが私の好きな自動化プラットフォームです :clap: 長らく Discourse API と一緒に使ってきました。そろそろいくつかのモジュールを移行できそうですね :slight_smile:

「いいね!」 8

@bartv さん、引き続き温かいご支援をいただきありがとうございます!また、先日当社について投稿された記事も拝見しました :slightly_smiling_face:

「いいね!」 3

Zapier と比べて、こちらの価格設定は本当に優れています。無料プランもはるかに充実しています。コミュニティでの可能性のある機能をテストするために、実際に使ってみるつもりです。Discourse と Telegram グループの連携を実現したいと考えています。

「いいね!」 2

もちろん、@Bill さん。Telegram もサポートしています。こちらでご確認いただけます。シナリオの設定でお困りの場合は、Integromat のサポートチームまでお問い合わせください :slight_smile:

「いいね!」 1

これは、私が別サイト「BlenderNation」で毎週掲載している、Blender Artists の最高傑作アート作品をまとめた週次まとめ用に作成したお気に入りのシナリオの一例です。掲載したい投稿の URL をまとめた Google スプレッドシートを作成し、このシナリオが各トピックを読み込み、サムネイル画像を取得して WordPress にアップロードし、記事全体を構築します。あとは「公開」ボタンを押すだけです。以前は少なくとも 1 時間かかっていた作業が、今では 5 分で完了します。(上記のシナリオはこのプロセスの 2 段階目で、同じスプレッドシートを読み込み、参加者全員にお祝いのメッセージを送り、バッジを付与するなどの処理を行います)。

「いいね!」 13

@bartv さん、これは本当に素晴らしいですね、共有ありがとうございます!パワープレーヤーと出会えるのはいつも嬉しいです :slightly_smiling_face:。素晴らしい活動を続けていただき、私たちと一緒に自動化を進めてくれて感謝します :pray:

「いいね!」 3

Discourseタグのサポートに関する機能リクエストを投稿しました:
https://www.integromat.com/en/requests/requests-to-update-existing-apps/p/discourse-add-tag-support

Integromatで利用可能なフィールドの中に、タグ関連のものは見つけられませんでした。この機能が利用可能になれば非常に役立つと思います。

私の具体的なケースでは、Discourseのトピックにタグを設定し、それをIntegromatのトリガーとして使用して、そのトピックの内容をClickUpに転送したいと考えています。具体的には、特定のフォーラムトピックをClickUpでの開発追跡(例:新機能、バグなど)のためにフラグ付けするためにこれを使用します。

すべてのフォーラムトピックをClickUpに取り込む必要はありません。カテゴリを使用して、バグと新機能(その他)などを区別できるようにしたいと考えています。現在の回避策としては、トピックを特別な「ClickUp」カテゴリに移動し、既存のIntegromatデータサポートを活用する方法がありますが、タグを使用する方がはるかに優れており、より自然で邪魔になりません。

素晴らしいIntegromatサポートに感謝します!

こんにちは @oshyan さん、お元気ですか?自動化のご利用ありがとうございます!

残念ながら、現在ご希望の機能を実現するエレガントな方法は存在しません。これは主に Discourse API の制限によるものです。主な問題は、最近のタグ割り当てを監視する簡単な方法がないことです。

解決策はありますが、前述の通り、あまりエレガントではありません。

  1. API コールの実行」モジュールを使用して、すべてのタグのリストを取得します(Integromat で API コールを行う方法については、こちらをご覧ください)。
  2. 「API コールの実行」モジュールを使用して、各タグの詳細(割り当てられたトピックのリスト)を取得します。
  3. 現在の状態をデータベース(Integromat 内のデータストアでも可)に保存します。
  4. 現在の状態を以前の状態と比較します。
  5. 新しいタグが割り当てられたトピックを特定します。
  6. ClickUp で必要なアクションを実行します。

残念なことに、このシナリオでは多くのオペレーションを消費してしまいます。これは非常に便利ではないことは承知していますが、Integromat は特定の API が許可する範囲内でしか動作できません。

これで状況が明確になったことを願っています :slightly_smiling_face:

ご質問がございましたら、お気軽にお尋ねください。さらに詳しい情報を提供いたします。

良い一日を!

「いいね!」 1

わあ、ありがとうございます!とても役立ち、情報豊富ですね!Discourse チームに API の更新をリクエストする必要があるようです。

もし API がトピックの新しいタグを照会できるように更新されたと仮定すると、その時点で Integromat にタグ機能を追加するのは難しくないのではないかと推測します。

この機能はトピックのウェブフックを使って実現できないでしょうか?例えば、Discourse でトピックが更新され、かつタグが付いている場合に、それを ClickUp に追加するといった具合に。

「いいね!」 1

興味深いですね。これがどのように機能するか、あるいはどのように設定するかは正確にはわかりません。ただし、すでに作成されたトピックに新しいタグが追加された場合に一致し、特定のタグ(またはタグ群)を持つ場合にのみ「ClickUp に追加」アクションを実行できるのであれば、少なくとも私の要件は満たされるでしょう。

とはいえ、API にはタグ機能の改善が必要だと今でも考えています。

似たような状況でした:特定のタグが付いたトピックを、タグ付けされた日付順に表示するフィードが欲しかったのです。最終的には、データエクスプローラーでクエリを設定し、それを外部スクリプトから呼び出して回避しました。もし参考になれば、詳細をお伝えできますよ。

「いいね!」 3

ありがとうございます!Integromat ベースの解決策がまとまらなかった場合、検討する方向性が得られたと思います。詳細が役立つようでしたら、後ほどご連絡いたします。改めてありがとうございます。 :slight_smile:

「いいね!」 1

@oshyan @bartv @JonathanShaw

:raised_hand_with_fingers_splayed: こんにちは!

さらに調査した結果、汎用ウェブフックモジュールを活用した解決策が有効なオプションであることが確認できました。

Discourse アカウントでウェブフックを設定し、リスナーとして汎用的な Integromat のウェブフック URL を使用すれば、ペイロードにタグ情報が含まれる「トピック」イベントを監視できます。

シナリオの一例は以下のようになります:

ご存知の通り、トピックには複数のタグを割り当てられるため、何らかのアクションを実行する前にタグを反復処理する必要があります。上記のサンプルシナリオは「Iterator」で終わっていますが、希望するアクション(上記の ClickUp アプリなど)を実行するには、さらにモジュールを追加する必要があります。

シナリオの重要な部分を以下のスクリーンショットでご確認いただけます:



また、開発チームと協力して既存の Discourse アプリにネイティブのウェブフックサポートを追加できるか検討していますが、Discourse には 2016 年からウェブフック機能が存在するため、技術的な課題によりそれができない可能性があります。

この情報が役立つことを願っています!
さらにサポートが必要でしたら、お気軽にお知らせください :robot:

「いいね!」 1

素晴らしいサポートをありがとうございます!改めてお礼申し上げます。これにより、データストアや比較プロセスを使用する必要がなくなるのでしょうか?

お手伝いできて嬉しいです、@oshyan :slightly_smiling_face:

ご質問への回答です:

はい、この特定のケースでは、データストアを気にする必要はないはずです(90%の確信があります)。その理由は以下の通りです:

  1. タグがトピックに割り当てられたら、ほとんど削除されないことを前提としています。新しいタグが追加されるだけです。
  2. トピックが変更されるたびに、そのトピックに割り当てられた現在のタグセットを含む新しいプッシュが発生します。つまり、あなたの「監視対象」タグがトピックに割り当てられた瞬間に、ClickUp アクションを生成するシナリオが即座にトリガーされます。

それでも、シナリオをより堅牢にしたい場合(正直に言うとかなり複雑になりますが)、データストアを使用する理由が考えられます:

  1. 例えば、トピックにタグが割り当てられ、その後タグが削除され、さらに後で同じタグが再度追加された場合、すでに処理済みのアクションをシナリオが再度トリガーしてしまう可能性があります。このような場合、ClickUp にすでに送信された項目と未送信の項目をデータストアに記録し、すでに送信済みの場合はそれ以上処理しないようにする必要があるかもしれません。一方で、ClickUp に送信する前に「すべてのタスクをリスト表示」し、タスクがまだ ClickUp に存在しない場合のみ送信するという方法もあり、データストアを気にする必要はありません。これは実際のビジネスロジックによります。
  2. データストアは、いつ何が起きたかを後で確認したい場合の、処理済みの項目のログとして役立つかもしれません。一方で、ログを Google スプレッドシートに保存するだけで十分な場合もあります。これも、ビジネスロジックによります。

さらに不明点があれば、お気軽にお知らせください。

「いいね!」 1