技術情報ブログ
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クラウド関連

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

SharePoint×Power Automate:承認フローの作り方完全ガイド(第1回:事前設定編)

2025.10.01

Copilot Studio活用アイデア(1):Microsoft Learn Docs MCP サーバーと連携したFAQエージェント

2025.09.17

Power Appsモデル駆動型アプリ×SharePoint統合:エンティティに基づくとは?

2025.09.03

SharePointサイトを効率展開!テンプレート化3つの方法を比較してみた

2025.08.27

SharePointで社内ポータルを作りたいと思ったときに読むブログ(後編)

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