SharePointの一覧をHTML表にして1通のメールで送る
SharePointのIDと件名をHTML表にまとめ、Outlookで1通だけ送る練習です。2件・0件の入力例、カスタム列、送信前の確認、最大10件の取得制限を説明します。
画面上の名前は、表示言語やバージョンによって異なる場合があります。クラウドフローはトリガー(フローを開始する条件)から始まり、その後にアクションを実行します。値の受け渡しには、前のステップの出力を選ぶ「動的コンテンツ」を使います。式は[式]欄へ入力します。
実行前に確認
- SharePointとOffice 365 Outlookは標準コネクタですが、利用するサービスの契約、Power Automateの利用権、接続権限、組織のDLPポリシーを確認してください。すべての契約で追加費用なしに使えるという意味ではありません。
- 初回は作成アクションまでで確認し、送信を追加するときも宛先は自分だけにします。表のカスタム列は見せる列を絞る仕組みで、SharePointの閲覧権限をメール受信者へ引き継ぐものではありません。
- 最大10件の練習例です。再実行や送信処理の再試行による重複を防ぐ仕組みはありません。「1通」は1回の通常処理での配置を指し、厳密な一度だけの配信保証ではありません。
- 件名が空になる場合は標準タイトル列の内部名Titleを使っているか確認します。人物列や複数選択列は値が複雑になるため、この例には含めません。表の見た目は受信するメールアプリによって異なります。
1使うトリガーとアクション
- トリガー手動でフローをトリガーする
- アクション複数の項目の取得GetItems:練習用リストをID昇順で最大10件取得
- アクション条件value配列の件数が0より大きいか
- アクションHTML テーブルの作成はい:IDと件名の2列で一覧を作成
- アクションメールの送信 (V2)はい:表全体を自分へ1通送信。初回は作成アクションで確認
- アクション作成いいえ:対象なし、と記録。メールは送らない
図で見る処理のイメージ
概念図架空の備品点検2件を、IDと件名だけの1つの表にまとめる例です。
入力
備品の在庫確認/会議室の整理の2項目
取得・判定
ID昇順で最大10件。0件なら対象なしで終了
整形
はい:ID・件名の2列、データ2行のHTML表
事前確認
まず作成の出力で表を確認し、まだ送信しない
送信
確認後に追加。表全体を自分宛てのメール1通へ
2件なら見出し+データ2行を1通にまとめます。0件ならメールを送りません。
図は架空データの概念例です。実際のフローを実行して確認した結果ではありません。
設定と処理を説明する模式図です。実際の設定画面や実行結果のスクリーンショットではありません。
2実際の設定内容
入力する値・操作手順を確認する9ステップの設定と確認方法
- 1
準備:Microsoft 365の組織アカウントで、練習用SharePointリスト「一覧メール練習」を用意します。標準のタイトル列に「備品の在庫確認」「会議室の整理」を1件ずつ登録します。IDは自動採番された値を使い、1・2とは限りません。実データや機密情報は使わず、SharePoint接続の読み取り権限とOutlook接続のメールボックスを確認します。
- 2
インスタントクラウドフローで「手動でフローをトリガーする」を選び、SharePointの「複数の項目の取得」を追加します。後続の式を入れる前にアクション名をGetItemsへ変更します。サイトと練習用リストを選び、並べ替え順(Order By)=ID asc、上から順に取得(Top Count)=10、フィルタークエリ=空欄とします。この練習ではページネーションをオフにします。
- 3
取得の直後に「条件」を置き、左の式=length(body('GetItems')?['value'])、比較=次の値より大きい、右=数値の0にします。valueは今回取得した項目の配列です。body全体は取得結果の入れ物なので、表の元データには使いません。
- 4
はい側にデータ操作の「HTML テーブルの作成」を置きます。元(From)には式 body('GetItems')?['value']、列には「カスタム」を指定。1列目は見出しID/値の式 item()?['ID']、2列目は見出し件名/値の式 item()?['Title'] にします。item()はこの表に入れる各項目を指します。式は式欄に入力し、式全体を引用符で囲まないでください。
- 5
最初は送信アクションをまだ追加せず、はい側のHTML表の後にデータ操作の「作成」を置き、入力にHTMLテーブルの出力を選びます。いいえ側にも「作成」を置き、固定文字「対象なし」を入れます。手動テストで実行履歴を開き、GetItemsのvalueが2件、表の出力が見出しID・件名とデータ2行であることを確認します。作成の出力ではHTMLタグが文字で見えても正常です。
- 6
0件も確認します。同じ列構成の空の練習用リストを別に用意し、GetItemsのリストだけを一時的に切り替えて実行。いいえ側の「対象なし」だけが動き、HTML表側がスキップされることを確認します。確認後は元の2件のリストへ戻します。
- 7
表の内容を確認できたら、はい側の「作成」の後にOffice 365 Outlookの「メールの送信 (V2)」を追加します。宛先は自分の組織アドレス、件名は「一覧テスト(最大10件)」、本文にはHTMLテーブルの出力を動的コンテンツで挿入します。HTMLを編集する場合は本文エディターのHTML表示を使います。V2の本文はHTMLであり、別のIsHtmlスイッチを探す必要はありません。
- 8
「それぞれに適用する(Apply to each)」は追加しません。メールは項目ごとの繰り返し内ではなく、表を作成した後に1個だけ置きます。2件なら2行を含むメール1通、0件ならメール0通が期待結果です。何通も届く場合は送信アクションがループ内にないか、手動実行を繰り返していないか確認します。
- 9
11件以上で使う場合、この設定ではID昇順の先頭10件だけです。最新10件でも全件でもありません。全件報告が必要な業務にはそのまま転用せず、取得件数・フィルター・ページネーションとメールの大きさを別途設計します。
- 対象環境
- Power Automate クラウドフロー
- 更新日
- 2026年10月2日