目標: ユーザーログイン時に Slack に通知する
ユーザーがログインしたときに Slack チャンネルにメッセージを送信する Action を作成します。このチュートリアルでは Post Login トリガー を使用しますが、ここで紹介する内容は、どの種類の トリガー でも役立ちます。 このタスクを実行するには、次の手順を行います。- Action を作成する
- シークレットを追加する
- 依存関係を追加する
- 下書きを保存する
- カスタムロジックを追加する
- Action をテストする
- Action をデプロイする
- フローに Action を追加する
- テナントログで Action の結果を確認する
前提条件
このActionはSlackチャンネルにメッセージを送信するため、Slackワークスペース用のIncoming Webhookを作成する必要があります。Slack Webhook URL を取得したら、このガイドの手順に進んでください。Action を作成する
特定のフローで Action を動作させるには、Action を作成してからそのフローに追加する必要があります。- Auth0 Dashboard > Actions > Library, に移動し、Create Action > Build from scratch を選択します。
- Name を入力し、Action を ログインフロー に追加するため、Login / Post Login トリガー を選択して、Create をクリックします。

テンプレートからActionを作成する
Actions のテンプレートギャラリーには、Action の作成を始める際に利用できるさまざまなスターターテンプレートが用意されています。テンプレートから Action を作成するには、次の手順に従います。- Auth0 Dashboard > Actions > Library に移動し、Create Action を選択します。
- Choose from template を選択します。
- Action の作成に使用するテンプレートを選択します。
- テンプレート内のコードの読み取り専用プレビューが表示されます。続行するには、Use this template を選択します。
- 名前を入力し、Create を選択します。
シークレットを追加する
各 Action にはシークレット値を含めることができ、や API キーなどの機密情報を保持するのに適しています。Slack の Webhook URL をシークレットとして保存しましょう。- コードエディターの左側のサイドバーにある鍵アイコンを選択します
- Add Secret を選択します。
- シークレットに
SLACK_WEBHOOK_URLという名前を付けます。 - Slack から提供された Webhook URL を貼り付け、Create を選択します。
event.secrets と入力するとコード補完で新しいシークレットを利用できるようになります。

シークレットは一度作成すると、その値が再度表示されることはありません。Auth0 はすべてのシークレットを暗号化し、安全に保存します。
依存関係を追加する
Slack にメッセージを簡単に送信するために、@slack/webhook npm パッケージを使用します。ネイティブアドオンに依存せずインストールできるものであれば、Action ではほぼすべての公開 npm パッケージを利用できます。
依存関係を追加するには、次の手順に従います。
- サイドバーで Dependency アイコン (キューブのアイコン) を選択します。
-
Name に
@slack/webhookと入力します。 デフォルトでは、Action は依存関係を追加した時点での最新バージョンを使用します。 -
Create を選択すると、依存関係が Action に追加されます。

この Action を保存すると、依存関係の最新バージョンが解決され、以後のパッケージ更新によって Action が壊れないよう、特定のバージョン番号に置き換えられます。
下書きを保存
Save Draft を選択します。Action は保存されますが、まだどのユーザーフローでも実行されません。Actions を使うと、Auth0 テナントのトラフィックに影響が及ぶ前に、Actions を作成、編集、テストできます。Action の動作に問題がなければ、後でその Action をデプロイして フロー に追加します。カスタムロジックを追加
Action に Secret と依存関係を設定したので、次はコードを書いてみましょう。 すべての Action には、関連する トリガー に応じた読み取り専用のコンテキスト情報を含むevent オブジェクトがあります。Editor で event. と入力し始めると、event で利用できるすべてのプロパティが表示されます。各 トリガー で利用できる情報について詳しくは、Explore Flows and Triggers を参照してください。
では、Action を使って Slack に通知してみましょう。次のコードを Action に追加してください。
Action をテストする
実際のユーザートラフィックでこの Action をテナント内で実行する前に、想定どおりに動作することを確認するため、テストを行います。-
サイドバーの Test (三角形) アイコンを選択します。Payload セクションには、Action の作成時に選択したトリガーに関連する、編集可能な JSON データが表示されます。

- Run ボタンを選択すると、Slack チャンネルにメッセージが表示されます。
Actionをデプロイする
Actionが期待どおりに動作することを確認できたので、次はこれをデプロイします。 Deploy を選択します。Actionをデプロイすると、その時点のActionのスナップショットが作成され、Action Version として記録されます。 Version History を選択すると、Actionがバージョン1として記録されているはずです。
フロー に Action を追加する
新しい Action を設定し、テナントの実際のトラフィックの一部として実行されるようにする最後のステップは、その Action を フロー に追加することです。- 利用可能な フロー の一覧を表示するには、Auth0 Dashboard > Actions > Flows に移動します。
-
ログインフロー を選択し、
my-slack-actionを フロー にドラッグします。
- Apply を選択します。
テナントログで Actions を確認する
Action がログインフローの一部として実行されるようになったので、Auth0 は各 Action の実行情報をテナントログに記録します。これを確認するには、Auth0 Dashboard > Monitoring > Logs に移動し、Successful Login イベントを選択します。 そのフローの一部として実行された Actions の情報を含む Action Details ビューが表示されます。