Power AutomatePower Platform

【Power Automate】社員情報検索フローを作成する方法

今回の記事では、詳細なユーザー情報(表示名・姓名・会社名・部署名・役職など)を検索/表示させるフローの作成方法を紹介しています。
アダプティブカードの仕組みを利用することで、シンプルかつ使いやすいフローを実装することができます。

スポンサーリンク

完成イメージ

Power Automateのフロー実行画面からフロー実行ボタンを押します。

フローの実行

TeamsのWorkflows (ワークフロー) チャットにユーザー選択画面が表示されるため、名前やメールアドレスを入力して検索・選択します。

社員の検索
社員の選択

ユーザー情報の詳細 (氏名・メールアドレス・会社名・部署・役職名など) が返信されます。
どんな情報を表示させるかはカスタマイズ可能です。

社員情報の表示
スポンサーリンク

フローの作成

フローの全体像

フローの全体像は以下の通りです。

フロー全体像
No.アクション名説明
#1フローを手動でトリガーするフロー実行ボタンが押されたタイミングでフローが開始されます
#2アダプティブ カードを投稿して応答を待機するフロー実行ボタンを押した人にアダプティブカード (ユーザー検索/選択カード) を送信し、入力を受け付けます
#3ユーザー プロフィールの取得 (V2)直前のアクション(#2)で選択されたユーザーについて、詳細なユーザー情報を取得します
#4作成直前のアクション(#3)で取得した情報から、必要な項目・情報をピックアップします
#5HTML テーブルの作成直前のアクション(#4)で作成した内容を、見やすいようHTML形式に変更します
#6チャットまたはチャネルでメッセージを投稿するフロー実行ボタンを押した人に、直前のアクション(#5)の結果をチャットします

フローの作成・トリガー設定

まずはフローを作成していきます。
Power Automateポータルの「作成」メニューから、「インスタント クラウド フロー」を選択します。

フローの新規作成

ポップアップが表示されるため、フロー名とトリガーを選択します。
トリガーは「フローを手動でトリガーする」を選択、フロー名は任意ですが「社員情報検索」としました。

フロー名とトリガーの設定

アクションの配置・設定

フロー開発画面が表示されるため、アクションを配置・設定していきます。

「+」ボタンを押し、Teamsコネクタの「アダプティブ カードを投稿して応答を待機する」アクションを選択します。

アダプティブカードアクションの追加

投稿者は「フロー ボット」を、投稿先は「フロー ボットとチャットをする」を選択します。

アダプティブカードアクションの設定

メッセージには以下のJSONを入力します。
右上の青いコピーボタンでJSONをコピーし、メッセージ欄に貼り付けてください。

{
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "type": "AdaptiveCard",
    "version": "1.3",
    "body": [
        {
            "type": "TextBlock",
            "text": "社員情報検索",
            "size": "Large",
            "weight": "Bolder",
            "wrap": true
        },
        {
            "type": "Input.ChoiceSet",
            "id": "selectedUser",
            "label": "社員を選択",
            "choices.data": {
                "type": "Data.Query",
                "dataset": "graph.microsoft.com/users"
            },
            "isRequired": true,
            "errorMessage": "社員を選択してから検索してください。",
            "placeholder": "名前を入力して検索..."
        }
    ],
    "actions": [
        {
            "type": "Action.Submit",
            "title": "検索",
            "style": "positive"
        }
    ]
}
アダプティブカードJSONの入力

Recipientには動的なコンテンツを使用し、「ユーザー メール」を選択します。

アダプティブカードの送信先設定
アダプティブカードの送信先設定2
アダプティブカードの送信先設定3

続いて、Office 365 ユーザーコネクタの「ユーザー プロフィールの取得 (V2)」アクションを選択します。

プロフィール取得アクションの追加

ユーザー (UPN)には、動的なコンテンツから「body/data/selectedUser」を選択します。

プロフィール取得アクションの設定
プロフィール取得アクションの設定

続いて、「作成」アクションを配置します。

作成アクションの追加

入力の中には、以下のJSONをコピーして貼り付けてください。

[
  {
    "項目名": "表示名",
    "値": "@{outputs('ユーザー_プロフィールの取得_(V2)')?['body/displayName']}"
  },
  {
    "項目名": "姓",
    "値": "@{outputs('ユーザー_プロフィールの取得_(V2)')?['body/surname']}"
  },
  {
    "項目名": "名",
    "値": "@{outputs('ユーザー_プロフィールの取得_(V2)')?['body/givenName']}"
  },
  {
    "項目名": "ニックネーム",
    "値": "@{outputs('ユーザー_プロフィールの取得_(V2)')?['body/mailNickname']}"
  },
  {
    "項目名": "メールアドレス",
    "値": "@{outputs('ユーザー_プロフィールの取得_(V2)')?['body/mail']}"
  },
  {
    "項目名": "会社名",
    "値": "@{outputs('ユーザー_プロフィールの取得_(V2)')?['body/companyName']}"
  },
  {
    "項目名": "部署",
    "値": "@{outputs('ユーザー_プロフィールの取得_(V2)')?['body/department']}"
  },
  {
    "項目名": "役職",
    "値": "@{outputs('ユーザー_プロフィールの取得_(V2)')?['body/jobTitle']}"
  }
]
作成アクションの設定

表示するユーザー情報を変えたい場合は、こちらの入力欄の内容をご自身で変更してください。

続いて、「HTML テーブルの作成」アクションを追加します。

HTMLテーブル作成アクションの追加

Fromには、動的なコンテンツから「出力」を選択します。

HTMLテーブル作成アクションの設定2

次が最後のアクションになります。
Teamsコネクタの「チャットまたはチャネルでメッセージを投稿する」アクションを追加します。

チャット送信アクションの追加

投稿者には「フロー ボット」を、投稿先には「フロー ボットとチャットをする」を選択してください。

チャット送信アクションの設定

Recipientには、動的なコンテンツから「ユーザー メール」を選択します。
※間違えやすいため、必ず「フローを手動でトリガーする」の中の「ユーザー メール」を選択してください

チャット送信アクションの設定2
チャット送信アクションの設定3
チャット送信アクションの設定4

メッセージ欄には、直前のアクションの結果を入れていきます。
まず入力欄の右上にある「</>」アイコンを押し、中に入っている文字をすべて削除します。

チャット送信アクションの設定5

中に入っている文字が削除できたら、動的なコンテンツから「Output」を選択して完成です。

チャット送信アクションの設定6
チャット送信アクションの設定7

最後にフローを保存しておきましょう。

フローの保存

実行用リンクの取得

ここでは、今後フローを実行しやすいよう実行用のリンクを取得しておきます。

左上の「戻る」ボタンを押して、フロー詳細画面に移動します。

画面上部のURL欄を確認すると、最後が「/details」となっていることが分かります。

フローURLの変更

これを手動で「/run」と変更することで、実行用のURLを取得することができます。
お気に入り登録したり、メモとして保存しておくと次回以降の実行が楽になります。

フローURLの変更2

フローのテスト

フローを実行してみます。

フローの実行

TeamsのWorkflows (ワークフロー) チャットにユーザー選択画面が表示されるため、ユーザー名やメールアドレスを入力して検索・選択します。

社員の検索
社員の選択

ユーザー情報の詳細 (氏名・メールアドレス・会社名・部署・役職名など) が返信されます。

社員情報の表示

メッセージが届かない場合、エラーが発生していないかを確認してください。
アクション名や動的なコンテンツの設定ミスが見つかる可能性があります。

スポンサーリンク

まとめ

今回は、アダプティブカードを利用してユーザー情報を検索・表示させるフローを実装しました。
表示するユーザー情報は必要に応じて変更できるため、試行錯誤しながらご利用ください。

また、アダプティブカードを利用したフローとして以下の記事も用意していますので、ぜひご覧ください。

この記事は役に立ちましたか?

役に立った!
役に立たなかった...
フィードバックありがとうございました
スポンサーリンク
Hiromaru

普段からPower Platform・SharePointの技術を広めています!
デザインに力を入れて、見やすい・分かりやすい記事を投稿していきます

Hiromaruをフォローする
シェアする
Hiromaruをフォローする
タイトルとURLをコピーしました