🏠 PA45トップ› 第24回 資料› ハンズオン手順
PA45 第24回|ハンズオン手順

Teamsのスタンプ👍で、出欠を自動集計Teamsの投稿に👍を押すと、押した人の名前が台帳にたまり、今の参加人数が届きます。ボタンもフォームも作りません。順番どおりに進めればできます。

今日つくるもの: 「懇親会出欠」チャネルの投稿に 👍 を押すと、押した人が参加者として台帳に記録され、今の参加人数がフローボットから届くフロー。
👍 リアクション→ 🪪 名前を取得→ 📝 台帳に記録→ 🔢 参加者を数える→ 📣 現在N名を通知
🔰 初参加の方へ: ここから始めても大丈夫です。1人でも完成します——自分の投稿に自分で👍を押せば、自分が参加者として記録され、人数「1名」まで動きます。ほかの人を集める必要はありません。
STEP 0

準備(チャネルと台帳を作る)

出欠を集める「場所」と、記録する「台帳」を先に用意します。ここは1回だけ。

  1. Teams で、出欠を集めるチーム(例:PA45)に 「懇親会出欠」チャネルを作ります。
    • チーム名の右「⋯」→「チャネルを追加」→名前は 懇親会出欠/種類は 標準。
  2. SharePoint で、記録用の 「出欠台帳」リストを作ります。
    • サイト →「新規」→「リスト」→「空白のリスト」→名前は 出欠台帳。
  3. 「出欠台帳」に列を1つ追加します。「回答」(種類=1行テキスト)。氏名は既定の「タイトル」列をそのまま使います。
    • 「日時」は作らなくてOK。SharePointが「作成日時」を自動で記録します(式を1つ減らせます)。
💡 なぜ「標準」チャネル? 出欠は参加者みんなが👍を押すもの。プライベートにすると押せる人が限られるので、全員が見える「標準」にします。
STEP 1

👍が押されたら動くトリガー

Power Automate で「最初から作成」→ 自動フローを選び、トリガーを検索します。

  1. トリガーの検索で Microsoft Teams を開き、「チャットでメッセージに応答があったとき」を選びます。
  2. 4つの設定を、下のとおりに入れます。ここが今日いちばんの山場です。
    追跡する絵文字👍(1つだけ)トリガー頻度すべてのリアクション(複数)トリガー対象のユーザー全員メッセージの種類チャネル
  3. 「メッセージの種類=チャネル」を選ぶと、下にチーム/チャネルの欄が出ます。先にチーム(例:PA45)→ 次にチャネル(懇親会出欠)を選びます。
⚠️ チャネルが選べない…と思ったら(詰まりポイント):
  • チームを先に選ぶ。チームが空だとチャネルは選べません。
  • チャネル欄の文字部分をクリックしない(別の入力候補=動的コンテンツが開いてしまいます)。欄の右はしのピッカー(アイコン)から選びます。
  • 固まる・出てこない時は ページを再読み込みすると直ることが多いです。
なぜこの2つを変える? すべてのリアクション(複数)にしないと1人目で止まり、全員にしないと自分以外の👍を拾えません。出欠を全員分あつめるための必須設定です。/追跡する絵文字は1つだけ(この回は👍に統一)。
STEP 2

「押した人」の名前を取り出す

トリガーが教えてくれるのは、押した人のID(記号の並び)だけ。これを氏名に変換します。

  1. +新しいステップ→ Office 365 ユーザーの 「ユーザー プロファイルの取得 (V2)」を追加します。
    • 初めて使う時はサインインして接続を作成します(自分のアカウントで1回だけ)。
  2. 「ユーザー (UPN)」の欄に、動的コンテンツから ユーザー ID(トリガーの userId)を入れます。
💡 ここがこの回の学び: システムは人をIDで扱います。「IDしか来ない → 名前に直す」という一手間は、いろんな自動化で出てくる定番です。次のステップで、この表示名を台帳に書きます。
STEP 3

出欠台帳に1行 記録する

押した人を、STEP 0で作った「出欠台帳」に1行 書き込みます。

  1. +新しいステップ→ SharePointの 「項目の作成」を追加します。サイトアドレスとリスト 出欠台帳 を選びます。
  2. 2つの欄だけ埋めます。どちらも式は使いません。
    タイトル(氏名)表示名回答参加
    • 「タイトル」は動的コンテンツから 表示名(STEP 2で取った名前)を選ぶ。
    • 「回答」は文字で 参加 と入力するだけ。
💡 「日時」は入れません: SharePointが「作成日時」を自動で記録してくれるので、フローで日時を入れる必要はありません(式が1つ減ります)。回答の列が出てこない時は「すべて表示」を押すと出ます(表示名で選べばOK)。
STEP 4

「参加」の人をぜんぶ集める

人数を数えるために、台帳から「参加」の行だけを取り出します。

  1. +新しいステップ→ SharePointの 「複数の項目の取得」を追加します。リストは 出欠台帳。
  2. 詳細の 「フィルター クエリ」に、下を入れて「参加」だけにしぼります。
フィルター クエリ(コピーして貼る)
answer eq '参加'
💡 answer って?(覚えておくと役立つ) これは「回答」列の内部の名前です。フィルターだけは表示名(回答)ではなく内部名(answer)を使います。内部名は列を作った時に決まり、列の設定画面(FldEdit)の URL の Field= で確認できます。※これは「式(fx)」ではなくフィルターの書き方なので、フローで使う式が length() 1つだけ、という点は変わりません。
STEP 5

参加人数を数える

取り出した「参加」の行が何件あるかを数えます。このフローで式(fx)を使うのは、ここだけです。

  1. +新しいステップ→ 「作成」(データ操作)を追加します。
  2. 「入力」に、式(fx)で下を貼り付けます。件数=人数になります。
式(fx に貼る・人数を数える)
length(body('複数の項目の取得')?['value'])
おまじないの意味: length(…) は「いくつあるか数える」命令。body('複数の項目の取得')?['value'] が「さっき集めた参加の一覧」です。合わせて「参加の一覧が何件か」=参加人数になります。
STEP 6

「◯◯さんが参加! 現在N名」を通知

最後に、押してくれた人の名前と、今の参加人数を知らせます。

  1. +新しいステップ→ Microsoft Teamsの 「チャットまたはチャネルでメッセージを投稿する」を追加します。
  2. 投稿者=フロー ボット。投稿先は、まずは確実な 「フロー ボットとのチャット」(自分あて)にしておくと、当日つまずきません。
  3. メッセージに、名前(STEP 2の表示名)と人数(STEP 5の出力)を差し込みます。
メッセージの例
👍 [表示名] さんが参加! 現在 [作成の出力] 名
📣 チャネルに出したい時は: 投稿先を「チャネル」→ チーム=PA45 → チャネル=懇親会出欠 に変えると、みんなが見える所に「現在N名」が出ます(STEP 1と同じチーム先→チャネルのコツで選びます)。
STEP 7

保存して、テストする

  1. 右上の 「保存」→ フローをオンにします。
  2. 「懇親会出欠」チャネルに何か1件 投稿して、その投稿に 👍 を押します。
  3. 数秒待つと、各ステップに緑のチェック ✓。出欠台帳に自分の行が増え、フローボットから「👍 ◯◯さんが参加! 現在1名」が届きます。
💡 1人でもここまで動きます。 自分の投稿に自分で👍でOK(このチャネルの全員=自分も含まれます)。実際に使う時は、いつものチームのチャネルで使えば、みんなの👍がそのまま集まります。
うまくいかないとき:
  • フローが動かない → トリガーのチャネルを選んだか/フローがオンか。
  • 名前が入らない → STEP 2で userId を渡したか/接続がつながっているか。
  • 台帳に入らない → STEP 3で「すべて表示」から回答・日時を選んだか。
  • 人数が出ない → STEP 5の式を fx で入れたか(ふつうの入力ではなく式)。
← 第24回の資料にもどる 🏠 サイトのトップへ