目次

3-6.Webhookのワークフローを設定する

Yamaguchi Kaori 更新 by Yamaguchi Kaori

本ページでは、外部システム(HRIS、IdP、カスタムツールなど)からAdmina にイベントをプッシュし、ID管理を自動化するための「Webhook 同期テンプレート」の設定手順を解説します。

前提条件

Webhookを利用した自動化を実施する前に、以下をご確認ください。

カテゴリ

項目

詳細・要件

送信元システム

アウトバウンドWebhook

HRIS、IdP、または独自システム側で外部へデータを送信するWebhook設定が可能であること。

データ形式

JSONボディから改行やスペースを除去し、コンパクトな文字列にしてから署名を生成してください。

送信側でインデントを含めて署名すると、Admina側の検証用データと乖離が生じ、署名エラーとなります。

HTTPヘッダー

X-Timestamp および X-Webhook-Signature(認証用)を送信可能であること。

サービス連携

入退社対応

自動プロビジョニング・デプロビジョニング対象の各SaaSが、Adminaに連携済みであること。

通知機能

Slack通知

AdminaとSlackの連携が完了していること。

メール通知

送信先となる受信者のメールアドレスが特定・把握できていること。

       

テンプレートの概要と選び方

目的に合わせた3つの事前構築済みWebhook同期テンプレートをご提供しております。

テンプレート名

主な動作

利用シーン(例)

外部オンボーディング同期

HRIS(人事労務システム)の新規入社者データをWebhookでAdmina へ送信することで、ID作成とSaaSのアカウント発行を自動化できます。

HRISで新入社員レコードを作成した瞬間、AdminaのID作成とSaaSのアクセス権限付与を自動化したい場合

外部オフボーディング同期

HRIS(人事労務システム)の退職者データをWebhookでAdminaへ送信することで、SaaSのアカウント削除やIDアーカイブを自動化できます。

HRISで退社とマークした瞬間、Adminaが全SaaSの利用停止とIDのアーカイブを自動化したい場合

リアルタイムID同期

外部システム上の変更データ(部署・役職等)をWebhookでAdminaへ送信することで、ID情報の更新と連携システムへの通知を自動化できます。

外部システムを正とし、属性変更(部署・役職等)をAdminaへ即時反映したい場合。変更内容をSlackやメールで通知も可能です。

     

設定手順

  1. 自動化 > [自動化を作成]をクリックします 。
  2. ダイアログからWebhookテンプレートを選択します。
    1. リアルタイムID同期:[リアルタイム同期を使用]をクリックします。
    2. 外部オンボーディング同期:[Webhookトリガーを使用]をクリックします。
    3. 外部オフボーディング同期:[Webhookオフボーディングを使用]をクリックします。
  3. 「ビルダー」画面の「1. Webhook」の「設定」タブで設定します。詳細は「ドキュメント」タブもご参照ください。
    「Webhook URL」のURLと「Webhook シークレット」のシークレットをコピーして保存後、送信元システム側でコピーしたURLとシークレットを設定して公開します。

    Webhookテスト

    「Webhookテスト」で[Webhookテストを開始]をクリックすると、Adminaが待機状態になります。 サイドバーに「Waiting for an incoming webhook request…」と表示されます。

    送信元システムから、テスト用のペイロード(JSON)を一度 POST送信します。

    テスト受信

    Adminaが受信したデータはパネルに表示され、以下の2つの用途で利用可能になります。

    署名設定の検証:受信時刻とOK / Errorバッジが表示され、正しく認証されているか確認できます。

    変数の自動推定:ペイロードのキーが自動抽出されます。以降のノードで{{trigger.<key>}} 形式の変数として参照・マッピングが可能になります。

    Webhookシークレット:生成時に一度しか表示されません。再生成した場合は、送信元システム側の設定も新しいシークレットへ更新する必要があります。
    テスト実行中の注意:サイドバーを閉じないでください サイドバーを閉じるとリスニングセッションが中断され、再度 [Webhookテストを開始] のやり直しが必要です。
  4. 「2. データマッピング」を選択すると、Adminaの標準IDフィールドと貴社のカスタムIDフィールドが一覧表示されます。
    [サンプルペイロードから自動入力] をクリックして、テスト受信したキーに基づき各フィールドを自動推測します(完全一致 > 前方・後方一致の優先順でマッチング)。
    保存前に必ず内容を見直してください。一致しなかったフィールドは空欄となり、実行時はスキップされます。
    上書きする場合、フィールドをクリックして [Insert Variable] から変数を選択するか、直接パス(例:{{trigger.user_displayName}})を入力して上書き・指定してください 。
    各フィールドに設定できるのは、1つの {{trigger.X}} のみです。複数入力すると無効になります。
    ターゲット:現在は、「identity」のみ選択できます。フィールドマッピング:データソースからターゲットフィールドへの変換ルールを定義します。カスタム項目も設定できます。
  5. 「2. データマッピング」以降は、選択したテンプレート毎に表示される画面が異なります。詳細はリンク先の手順もご参照ください。
    1. リアルタイムID同期:「3. アイデンティティ」> 「4. HTTPリクエスト」
    2. 外部オンボーディング同期:「3. アイデンティティ」> サービス選択(並列実行)> 通知
    3. 外部オフボーディング同期:サービス選択(並列実行)> 「3. アイデンティティ」> 通知
  6. 設定完了後に「ビルダー」の全てのチェックが緑色に変わりますので、[公開]をクリックします。
  7. 「ワークフロー自動化の設定を確認」画面が表示されますので、自動化名を入力して、[公開]をクリックします。
    ※自動化名にはご登録済の名称は登録できません。
  8. 「ワークフローが公開されました」と表示されますので[OK]をクリックします。

      

アイデンティティ

「ビルダー」画面の「3. アイデンティティ」で対象となるユーザーに対して、以下の操作を行います。

操作リアルタイムID同期 / 外部オフボーディング同期:アイデンティティを更新、外部オンボーディング同期:アイデンティティを作成が選択されています。

「アイデンティティを作成/更新 パラメータ」が表示されます。

{{identity.displayName}}(表示名)や {{identity.primaryEmail}}(メインメールアドレス)などの変数が正しく紐付いているか確認します。役職、部署名、従業員ID、契約終了日などの項目も必要に応じてマッピング可能です。

    

サービス選択(並列実行)
  1. 「並列実行」>[+別のサービスを追加]をクリックして、ワークフローに設定するサービスを追加します。
  2. 「プロビジョニング」または「デプロビジョニング 」に表示されるサービスを選択します。
    表示されるサービスは事前設定(マッピング)したサービスです。
    複数のサービスをワークフローに設定する場合、「複数選択」をONにします。
  3. 「並列実行」画面で選択したサービスをクリックすると、右側に「設定」画面が表示されます。
    「サービス設定 - ワークスペース名」をプルダウンから選択します。
    複数のサービスを設定する場合は[+別のサービスを追加]から設定します。

       

通知
  1. 「通知」>[+別の通知を追加]をクリックします。
  2. 「メッセージ」画面で通知方法「Slack/Email」を選択します。
    複数の通知を設定する場合、「複数選択」をONにします。
    Slackの手順は通知方法「Slack」の設定手順をご参照ください。
  3. 「通知」画面で選択したメッセージをクリックすると、右側に「設定」画面が表示されます。

HTTP リクエスト

「4. HTTPリクエスト」では、外部APIへのコールバックが必要な場合、メソッド(POST等)やエンドポイントURLを設定します。

送信元では以下の形式でWebhookを送出するよう設定してください 。

項目

指定値・要件

エンドポイント

Admina上で生成されたWebhook URL

メソッド

POST

ヘッダー:Content-Type

application/json

ヘッダー:X-Timestamp

Unix タイムスタンプ(ミリ秒、文字列)

ヘッダー:X-Webhook-Signature

sha256=HMAC-SHA256(secret, "{ts}.{body}")

リクエストボディ

コンパクトなJSON(空白・インデントなし)。送るキーがそのままAdmina上の変数になります。

            

ワークフローの自動実行と確認方法

このワークフローは手動で起動する必要はありません。署名付きの POST リクエストを受信するたびに自動実行されます。

Webhook URLに有効なリクエストが到達すると、Adminaは即座に「タイムスタンプ」と「署名」の正当性を検証します。検証を通過すると、ペイロードを保存した上でワークフローをバックグラウンドで開始します。

最新の実行で実際に使用されたペイロード値は、以下の場所で確認可能です。

エディタ:変数ピッカー内で実際の値を確認できます。

実行詳細:Variable Resolution(変数解決) パネルにて、展開されたデータの詳細が表示されます。

  

動作確認の手順

構築したワークフローが正常に動作するか、「実行」「ログ」タブで確認してください。

「実行」「ログ」タブを開き、「受信ペイロード」「解決された変数」「各アクションの成否」が詳細に表示されます。

送信元システムから実データ(またはデバッグパネル)を送信し、ステータスが Pending から完了へ進み、ID作成や通知が期待通りに行われるか確認します。

実行が Pending から進まない場合:これは設定間違いではなく、システム側のエンキュー(処理待ち)に関する問題の可能性があります。

       

トラブルシューティング

症状

考えられる原因と対処法

401 Unauthorized

署名不一致。ボディをインデントなしで文字列化してから署名しているか確認してください。

400 Bad Request

ヘッダー不足や、タイムスタンプ(ミリ秒)の形式、時計ずれを確認してください。

変数が解決されない

マッピングノードで[サンプルペイロードから自動入力]を再実行し、パスが正しいか確認してください。

シークレット紛失

「Webhook シークレット」のシークレットをコピーして保存後、送信元システム側でコピーしたシークレットに更新して公開します。

この記事はお役に立ちましたでしょうか?

3-4.スケジュールID更新のワークフローを設定する

4-1.ワークフローを手動で即時実行する(ディレクトリ画面)

お問い合わせ