新規ユーザー登録時にメール通知を受け取る方法

こんにちは!

Discourse コミュニティに新しいユーザーが登録されるたびに、自動的にメール通知を受け取れるようにする、Integromat を使った自動化ワークフローのセットアップ方法についてのチュートリアルへようこそ。

Discourse を Integromat に接続するには、Integromat のアカウントが必要です。まだお持ちでない場合は、こちらからサインアップ してください。

この方法は Discourse が提供する Webhook 機能を利用するため、作業を開始する前に Discourse コミュニティの管理者アクセス権を持っている必要があります。

管理者アクセス権をお持ちであれば、最初に新しい Webhook リクエストを作成する必要があります。そのためには、右上隅のプロフィールアイコンをクリックし、プロフィールタブから「サマリー」オプションを選択します。

これでプロフィールページに移動します。「管理者」ボタンをクリックして管理者ページへ移動してください。

「API」オプションをクリックします。

「Webhooks」タブを選択し、「新しい Webhook」ボタンをクリックして新しい Webhook リクエストを生成します。

設定ページは以下のようになります。

このフォームを記入するには、Discourse からコミュニティに新しいユーザーが登録されるたびに送信されるデータを受信するために使用する、新しい Integromat Webhook を生成する必要があります。

そのために、Integromat アカウントにログインし、新しいシナリオを作成します。

まず、トリガーモジュール、つまりシナリオを実行させるモジュールを設定する必要があります。この場合は Webhook モジュールを使用するため、疑問符アイコンをクリックして「Webhooks」アプリを検索します。

「Webhooks」アプリをクリックし、「カスタム Webhook」モジュールを選択します。

次に、Discourse から送信されるデータを受信できるように、新しい Webhook を作成します。そのために、「Webhooks」アプリをクリックして設定ウィンドウを開き、「追加」ボタンをクリックして新しい Webhook を設定します。

Webhook に名前を付けます。これは好きなもので構いません。例えば「Discourse Webhook」などです。

次のステップでは、「詳細設定を表示」オプションをクリックし、「リクエストヘッダーを取得」オプションを選択します。そうしたら「保存」をクリックして新しい Webhook を生成します。

これで Webhook が表示されるはずです。青くハイライトされた URL がそれです。「アドレスをクリップボードにコピー」ボタンをクリックして Webhook URL をコピーし、Discourse の Webhook 設定ページに移動します。

Integromat の Webhook URL を「ペイロード URL」欄に貼り付けます。

次に、リストから「ユーザーイベント」オプションを選択し、他の項目はすべて選択解除されていることを確認します。これにより、この Webhook がユーザー固有のイベントに基づいたデータのみを受信することが保証されます。

最後に、ページ下部の「ペイロード URL の TLS 証明書を確認する」と「アクティブ」のチェックボックスを選択し、「作成」ボタンをクリックして、Discourse コミュニティと Integromat Webhook の間の接続を設定します。

新しい接続は、Discourse アカウントの Webhooks ページに表示されるはずです。

次のステップは、Discourse コミュニティと Integromat Webhook の間の接続が確立されていることを確認することです。そのために、「非アクティブ」をクリックします。

すると、以下のような小さなメニューが表示されます。「Ping」をクリックし、Integromat のシナリオに移動して、Webhook がこのイベントを正常に検出したか確認してください。

成功した場合は、「正常に判定されました」というメッセージが表示されます。

次のステップは、Webhook が実際に Discourse コミュニティからデータを受信できるか確認することです。そのために、「一度実行」ボタンをクリックしてシナリオを一度実行する必要があります。

Webhook モジュールが回転し始めたら、Discourse コミュニティに移動し、ログアウトして新しいユーザーアカウントを作成します。新しいユーザーが正常に作成されると、Webhook がデータを受信し、以下のような状態になります。

これにより、Webhook が実際のイベント(Ping だけでなく)を検出できることを確認でき、また後続のチュートリアルで受信したデータ要素をメールアプリにマッピングすることも可能になります。Integromat の Webhook がイベントを正常に検出した場合、シナリオは正常に実行され、以下のような状態になります。

これで、Webhook モジュールが期待通りに機能し、新しいユーザーが作成されるたびに Integromat のシナリオがトリガーされることが確認できました。次に、シナリオを拡張し、すべてのユーザー情報をメールで自動的に送信するように設定します。

最初のステップは、Webhook トリガーモジュールに「イテレーター」モジュールを接続することです。これはシナリオビルダーの「ツール」メニューにあります。このモジュールの用途については後で説明します。

「イテレーター」モジュールをクリックして設定ウィンドウを開きます。

「配列」フィールドをクリックすると、左側に Webhook モジュールから取得されたデータ要素を含むメニューが表示されます。「Headers」というデータ要素をドラッグ&ドロップして、イテレーターモジュールの「配列」フィールドに追加します。これは多数の値を含む配列になります。

次のステップは、イテレーターアプリの後に「メール」アプリを接続することです。「プラス」アイコンをクリックし、「メール」アプリを検索します。見つけたらクリックして使用するモジュールを選択します。

リストから「メールを送信」モジュールを選択し、Discourse コミュニティに新しいユーザーが作成されるたびに自分にメールを送信します。

メールモジュールを設定する前に、イテレーターとメールアプリの間にフィルターを設定する必要があります。これにより、コミュニティに登録したユーザーのメールのみを受信することが保証されます。これは、Discourse がデフォルトであらゆる種類のユーザー活動に対して Webhook リクエストをトリガーするため、必要です。

フィルター設定ウィンドウでは、まずラベルを入力します。これは好きなもので構いません。例えば「新規ユーザー」などです。

次に、このフィルターをトリガーする条件を作成します。条件の最初のフィールドでは、イテレーターモジュールから「Value」データ要素をマッピングします。論理演算子には「等しい」を選択します。最後に、下部のフィールドに「user_created」という値を入力します。

この条件の動作は以下の通りです:

ユーザーがアクションを取るたびに Integromat が Discourse から受信する Webhook データには、ヘッダー配列(値の集合)が含まれています。イテレーターの役割は、これらの値を個別に取得し、フィルターに適用して処理できるようにすることです。この値の配列のどこかに、ユーザーが実行したイベントの種類を指定する値が存在します。今回関心のあるイベントは「user_created」と呼ばれます(これはユーザーが新しいアカウントを作成したアクションを示すため)ので、Webhook データのヘッダー値に実際にこの値が含まれていることを確認するためのフィルターを設定する必要があります。含まれている場合は、後続のシナリオモジュールの実行に進みます。含まれていない場合は、シナリオの実行はすぐに終了し、メールは送信されません。

フィルターを設定したら、「メール」モジュールをクリックして設定ウィンドウを開きます。

最初に、メールを送信するために使用するメールアカウントを接続する必要があります。Gmail を接続する場合は、ステップバイステップでプロセスを説明しているこちらのガイド を必ずお読みください。

メールが接続できたら、メールモジュールの他のオプションを設定して進めます。

「宛先」フィールドでは、「受信者を追加」をクリックし、これらの更新を受け取りたいメールアドレスを入力します。

「件名」には好きなものを入力し、「コンテンツタイプ」では「プレーンテキスト」オプションを選択して、このモジュールが実行されるたびに送信するメッセージを作成します。

「コンテンツ」フィールドでは、メールのメッセージを作成します。ここでは、静的なテキスト(つまり、すべての実行で常に同じテキスト)を書くことができますが、Webhook モジュールから動的なデータ要素をマッピングすることもできます。Webhook には、ユーザー名、名前、メールアドレスなど、ユーザーに関する多くのデータが含まれています。

これで完了です!Discourse コミュニティに新しいユーザーが参加するたびに通知を受け取る Integromat シナリオを正常に作成することができました。

このチュートリアルが役立ったことを願っています!ご質問や、次にどのような内容を見てみたいかというご提案がございましたら、コメントでお知らせいただくか、サポートチケット を Integromat のサポートチームに送信するか、1 万人のメンバーがいる Integromat の Facebook コミュニティ をご覧ください。

自動化を楽しんでください!

リンク

:link: Integromat を使用して Discourse を数百のアプリに接続する方法

:link: https://support.integromat.com/hc/en-us/articles/360019209860-discourse?utm_medium=partner&utm_source=discourse-meta&utm_campaign=how-to-get-an-email-notification-when-a-new-user-signs-up-app-partner-community

:link: https://www.integromat.com/en/integrations/discourse?utm_medium=partner&utm_source=discourse-meta&utm_campaign=how-to-get-an-email-notification-when-a-new-user-signs-up-app-partner-community

:link: https://www.integromat.com/en/ticket?utm_medium=partner&utm_source=discourse-meta&utm_campaign=how-to-get-an-email-notification-when-a-new-user-signs-up-app-partner-community

:link: https://www.integromat.com/en/register?utm_medium=partner&utm_source=discourse-meta&utm_campaign=how-to-get-an-email-notification-when-a-new-user-signs-up-app-partner-community

:link: https://www.integromat.com/en/integrations?utm_medium=partner&utm_source=discourse-meta&utm_campaign=how-to-get-an-email-notification-when-a-new-user-signs-up-app-partner-community

「いいね!」 11

ご紹介ありがとうございます。ほぼ完了です。
しかし、フィルターに問題があります。

説明されたとおりにセットアップしました。条件の値を user_created に設定しました。
しかし、新しいユーザー作成イベントはこのフィルターを通過できませんでした。
値を直接確認する方法はありますか?フィルターの結果としてだけでなく。
イベントが発生したときにどのような値になっているか確認したいのですが、確認方法がわかりません。

「いいね!」 1