技術情報ブログ
SharePoint
2023.11.01

Power Automate×SharePoint:SharePoint上からPower Automateを実行する方法

Power Automate×SharePoint:SharePoint上からPower Automateを実行する方法
小刀稱知哉

こんにちは。アーティサン株式会社の小刀稱(ことね)です。

皆さん、SharePoint上からPower Automateを実行する方法をご存知ですか?

標準であれば、SharePointリストやライブラリのアイテム横の3点リーダー自動化対象のフロー名(以下では「データのコピー」という名前) を選択することで、Power Automateを実行できます。

SharePoint上でPower Automateを実行(標準)
SharePoint上でPower Automateを実行(標準)

しかし上記の方法では、フローを実行するまでの手順が多いため、フローの存在を知らない人は実行することが難しいのではないでしょうか。

そこで、今回は小ネタとしてSharePointリストにボタンを配置し、ボタン押下時にPower Automateを実行する方法について紹介します。

 

やりたいこと

今回はSharePointリスト上にボタンを配置します。
そしてそのボタンを押下すると、値をコピーするPower Automateを実行する機能を実装します。

イメージは以下です。

SharePointリストのボタンを押下するとPower Automateを実行
SharePointリストのボタンを押下するとPower Automateを実行

 

実装方法

実装の手順は以下のとおりです。

 

Power Automateの作成

まずは、Power Automateの作成です。

内容としては選択したアイテムの値をコピーする機能を実装しています。
また詳細は割愛しますが、トリガーとしては選択したアイテムの場合を使用しています。

作成したフローは以下です。

作成したPower Automate
作成したPower Automate

 

Power AutomateのGUIDを取得

続いて、作成したPower AutomateのGUIDを取得します。

先程のPower Automateの詳細画面に遷移してください。
本画面のURL部分にGUIDに含まれています。

(以下赤字部分がGUIDです。)
https://make.powerautomate.com/environments/Default-xxxxxxxxxxxx/flows/c14cde3b-8755-4e9c-8d2b-70d0914c83f8/details

フローのGUID
フローのGUID

 

SharePointの書式設定でボタンを作成

それでは、SharePointリスト上にボタンを作成し、Power Automateを実行できるようにしましょう。
こちらではJSONを用いてボタンを作成します。

手順は以下です。

  • 新しい列(1行テキスト)を作成(※今回は「フロー実行」という列名で作成)

  • 「この列の書式設定」 → 詳細モード からJSONを記載する画面を表示

  • 以下のJSONを記載

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "elmType": "button",
  "txtContent": "値のコピー",
  "customRowAction": {
  	"action": "executeFlow",
  	"actionParams": "{\"id\": \"c14cde3b-8755-4e9c-8d2b-70d0914c83f8\"}"
  }
}
作成したJSON
作成したJSON

ポイントとしては、上記の赤字部分に先程取得したPower AutomateのGUIDを指定することです。

これにより、ボタンを押下すると指定されたPower Automateが実行されるようになります。

SharePointリストのボタンを押下するとPower Automateを実行
SharePointリストのボタンを押下するとPower Automateを実行

 

Power Automateの権限設定

上記までの手順で、機能の実装は完了です。

最後にPower Automateを共有することで、フローにアクセス許可を与えてください。
※実行権限が与えられていないユーザーは、「ボタンが見えているが、押下しても何も反応しない」という状態となります。

共有に関する詳細については、以下URLを参照してください。
クラウド フローを共有する

 

補足:ボタンのデザインを変更したい

先程作成したボタンはデザインを何も設定していないので、簡素なデザインになっています。

JSONを活用することで、きれいなボタンを作成することも可能ですので、挑戦してみてください!
(HTML To Formatterを用いると、HTMLやCSSをJSONに変換することを手助けしてくれます。)
HTML To Formatter

 

ボタンのサンプル1(リッチなデザイン)

以下では、デザインをリッチにしたサンプルボタンを紹介します。

ボタンサンプル1
ボタンサンプル1

JSONは以下のとおりです。

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "elmType": "div",
  "style": {
    "width": "100%",
    "height": "100%",
    "position": "absolute",
    "margin": "auto"
  },
  "children": [
    {
      "elmType": "button",
      "customRowAction": {
        "action": "executeFlow",
        "actionParams": "{\"id\":   \"<Flow ID>\"}"
      },
      "style": {
        "border": "solid 1px #ffffff",
        "border-radius": "55px",
        "display": "flex",
        "justify-content": "center",
        "align-items": "center",
        "padding": "6px 15px",
        "margin": "0 auto"
      },
      "attributes": {
        "class": "ms-bgColor-communicationPrimary ms-bgColor-communicationShade20--hover ms-fontColor-white"
      },
      "children": [
        {
          "elmType": "span",
          "style": {
            "margin-right": "10px"
          },
          "attributes": {
            "iconName": "Copy"
          }
        },
        {
          "elmType": "span",
          "txtContent": "値のコピー"
        }
      ]
    }
  ]
}

 

ボタンのサンプル2(ステータスに応じて、ボタンのデザインを変更)

下では、ステータス列の値に応じて、ボタンのデザインを変更しています。

ボタンサンプル2
ボタンサンプル2

JSONは以下のとおりです。

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "elmType": "div",
  "style": {
    "width": "100%",
    "height": "100%",
    "position": "absolute",
    "margin": "auto"
  },
  "children": [
    {
      "elmType": "button",
      "customRowAction": {
        "action": "executeFlow",
        "actionParams": "{\"id\": \"<Flow ID>\"}"
      },
      "style": {
        "border": "solid 1px #ffffff",
        "border-radius": "55px",
        "display": "=if([$Status]=='申請中', 'flex', 'none')",
        "justify-content": "center",
        "align-items": "center",
        "padding": "6px 15px",
        "margin": "0 auto"
      },
      "attributes": {
        "class": "ms-bgColor-communicationPrimary ms-bgColor-communicationShade20--hover ms-fontColor-white"
      },
      "children": [
        {
          "elmType": "span",
          "style": {
            "margin-right": "10px"
          },
          "attributes": {
            "iconName": "Warning"
          }
        },
        {
          "elmType": "span",
          "txtContent": "承認する"
        }
      ]
    },
    {
      "elmType": "button",
      "style": {
        "border": "solid 1px #ffffff",
        "border-radius": "55px",
        "display": "=if([$Status]!='申請中','','none')",
        "justify-content": "center",
        "align-items": "center",
        "padding": "6px 15px",
        "margin": "0 auto"
      },
      "attributes": {
        "class": "ms-bgColor-gray40 ms-fontColor-white"
      },
      "children": [
        {
          "elmType": "span",
          "style": {
            "margin-right": "10px"
          },
          "attributes": {
            "iconName": "Like"
          }
        },
        {
          "elmType": "span",
          "txtContent": "承認済"
        }
      ]
    }
  ]
}

 

おわりに

今回は、小ネタとしてSharePointリストにボタンを配置し、ボタン押下時にPower Automateを実行する方法について紹介しました。

JSONを使いこなすことができるとSharePointの表現の幅が拡がるので、ぜひ覚えていただきたい内容です。
(実は、X-SP | SharePoint デザイン・機能拡張サービスもJSONを活用することで実装していたりします(笑))

最後まで読んでいただき、ありがとうございました!

Power Platform(SharePoint・Power Apps・Power Automate)に関する営業活動や設計、開発などを担当:小刀稱知哉

小刀稱知哉

🖊小刀稱知哉さんのブログ一覧はこちら

大分県出身(温泉大好き)、現在は茨城県在住

1990年生まれ

30才でメーカーの技術営業からIT業界にジョブチェンジ!!!

趣味は読書(最近書道を始めました)

主にMicrosoftのローコード(SharePoint・Power Platform)に関するに関する営業活動や設計、開発などを担当しております!

(最近はCopilot Studioについても勉強中)

Microsoft MVPを受賞させていただきました!

持ってる資格はPL-200/PL-300/PL-400/PL-600/MS-700/AZ-104/AZ-305/SC-200/SC-100

Microsoftクラウド関連

シェアする
記事カテゴリ
最新記事
2026.03.25

SharePointの便利なURLパラメータ活用術|ヘッダー削除・リスト絞り込み・メンテナンスモード

2026.03.18

Dataverse入門(6)!テーブルへのアクセス権限を管理する-部署とセキュリティロールを使いこなそう

2026.03.03

Dataverse入門(5)!モデル駆動型アプリの作り方-キャンバスアプリとの違いは?

2026.03.03

Dataverse入門(4)!代替キーってどんな場面で役に立つの?-データの重複を許さない

2026.02.25

Dataverse:Dataverse入門(3)!リレーションでデータを構造化する-テーブル間の連携とは?

データ構造.Net Core Test ExplorerレスポンシブUpdateContext承認フロー送信元リストLoopショートカットキー時間外非エンジニアDataverseSharePoint Framework転職Slide showMicrosoft365サイトの種類OpenAPI請負契約効率化Power Platform CLI業務キー部署モデル駆動型アプリSortByColumns関数Dataverse for TeamsDynamics 365ロードマップフォームメールの送信非表示Microsoftshortcut key通知体験談JavaScriptSPFx主キー比較移行要件定義MCPサーバー総合評価型入札資料作成開発手順複合キーリレーションシップPower AppsTypeScriptitem関数入門技術form差出人アプリdesignconcat関数ファイル勉強表示サンプルCopilot Studio社内ポータル多言語化サイト構成FAQエージェントデジタルトランスフォーメーション初心者向け拡張機能データ整合性1対多Power PlatformHTMLGoogle Maps初心者Itエクスポートインスタントクラウドフロー[市民開発者JSON文字制限フィルター クエリ内製化切替samplePowerAppsグループウェアMUI権限設計AIチャットボットプロポーザル方式ハウツービルドデータベース設計多対多SharePointEF CoreMarker Clusterer中級者DXインポート自動化したクラウドフロー構築デザインフロー実行ドキュメント ライブラリ市民開発登録者X-SPNFCタグエンゲージメントMultilingualデータ移行実運用官公庁システム画像挿入プロジェクト作成ユニークキーER図ExcelマイグレーションRANK()関数キャンバスアプリノウハウカスタマイズ委任自動化したクラウド フロー運用開発環境filter query管理システム列StyleDLPポリシー地方自治体MLJSON書式保守性デジタル化推進複数レコードPCFギャラリー一意制約入門編Power AutomateFramework CoreDynamics 365 SalesDatePicker情報技術componentVBAフローの種類選択肢列環境sortガバナンス登録日StudioTestCopilot Studiot共有リンクテンプレート化DX推進テーマカラーPDF変換業務システムURLパラメータ1行テキストC#Attribute directivesMicrosoft TranslatorDropdownメッセージIDダイアログエラーインスタント クラウド フロー参照列本番環境ソートerror notification更新者AICanvas自治体DXレポート化サイト複製作り方ダークモード資料自動作成キャンバスアプリ 違いメンテナンスモード複数行テキストattributeO/Rマッパーマーカークラスタリングライブラリviewメールコンポーネントエクセルスケジュール済みクラウド フローChatGPTライセンスmultiple itemエラー通知更新日生成系AITest Studio生成AI自治体APIPnP PowerShellページ承認Formulasプロパティフロー設計Power Apps 導入並べ替え選択肢validationazure sql databasetailwindcssビューfirst()関数dialogerrorレスポンシブ レイアウトOpenAI環境構築手順複数項目削除変更Copilotテスト事例HTTP リクエストカスタムスクリプトドキュメント管理カラーセットテンプレート活用Power Apps 比較ヘッダー非表示日付ローコードCase式マルチテナントアクセス制限nestTips復元responsive layoutオープンAIpipelineシェアポイントフォルダ外部DBlicenseテストスタジオ活用ワーケーション業務効率化IT管理カラーユニバーサルデザイン自動化事例モデル駆動型 とはリスト フィルタ整数AngularHTTP Requestドロップダウンメニューノーコード入れ子新機能restoreデータ行の制限チャットGPTCI/CD便利機能ゴミ箱連携添付ファイルコントロール使い方サイトブランド化名古屋ファイル保存申請システムアプリデザインNode.jsシステム構築便利データ型AccessCSSBreakpointObserver承認動的リスト変数Power BI引き継ぎgalleryパイプラインカレンダー完全削除接続ファイルサイズ基本知識フォントカスタマイズ体験記エンティティワークフロー自動化UI/UXVisual Studio CodeAlternate Key権限管理InfoPathxUnitメディアクエリリマインドcollection検索個人列退職ギャラリーDevOpsCalendarモデル駆動型データフローフルリモートワークPowerAutomateブランドセンター感想フォルダ構成設定アクセシビリティPCF代替キー注文管理アプリMatTable.Net Core 3.1スマホSetコレクションMicrosoft 365グループユーザー列所有者を変更スクロールMicrosoft 365Teamsセキュリティロールrecycle binアーティサンX-SP Designテーマ作成チームサイトMicrosoft Learn Docsアジャイル開発Wordテンプレート環境構築重複チェックサブグリッドAngular MaterialVSCodePCForAll複数の添付ファイルセキュリティグループSharePoint Online異動コンテナ簡易在庫管理ローコード開発ビジネスルールアクセス許可Artisanスライドショーデザイン拡張コミュニケーションサイトカスタムコネクタ準委任契約業務自動化カスタムコンポーネントGUIDDataverse テーブル
PageTop
ページトップに戻る