Zapierで、あるDiscourseのトピックを別のDiscourseのアクティビティストリームとして設定する

Discourse インスタンスから別のインスタンスへ最新のトピックを表示するために、Zapier ベースの統合を利用しました。これは、関心のあるカテゴリの新しいトピックの各 OP(最初の投稿)を取得し、任意の場所のトピックへの返信として投稿するものです。宛先は同じインスタンスでも、異なるインスタンスでも構いません。

この仕組みを構築する際に非常に参考になったのは以下のページです:

手順

  1. 元となる Discourse インスタンスで Webhook を設定し、適切なカテゴリの新しい投稿をキャッチできるようにします。
    • 「投稿」は「トピック」よりもはるかに多くのデータを含むため、後続の処理で役立ちます。
  2. Webhook をキャッチする Zap を設定します。
  3. 「投稿番号(Post Number)」が 1 かつ「投稿の閲覧数(Post Reads)」が 0 のもの以外を除外するフィルターを設定します:
    • これにより、新しいトピックのみをキャッチし、その後の編集(重複投稿の原因となる)を拾い上げないようにします。
  4. 受信側の Discourse インスタンスで、トラストレベル 4 のユーザーを設定します(閉じたトピックへの投稿を可能にするため)と、目的のカテゴリへのアクセス権を付与します。また、そのユーザー用の API を設定します。
  5. Zap 内で、この API を使用してコンテンツを目的のトピックに投稿します。
  6. 返信をカスタマイズして、リンクなどを追加します。例:
  7. 他のユーザーが投稿できないように、そのトピックを閉じます。
「いいね!」 7