サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
買ってよかったもの
mofumofupower.hatenablog.com
Power Automateの裏側って? 今回はPower Automateのトリガー・アクションの裏側を見るという内容です。 『裏側』と言っているのは、普段見ているトリガーやアクションの設定を表として、コード表示や設定表示を指しています。 あまり詳細に解説されていないので、それぞれの意味や、どう使うのかを紹介したいと思います。 2回構成で、最初はPeak codeと、それに関連したトリガー・アクション入力・出力へのアクセス方法です。 そもそもどうやってこれを表示するのか とにもかくにも、まずは・・・をクリックしましょう。そうすると、各トリガー・アクションのメニューが表示されます。 よく使うのは、Renameとか、Comment、あるいはConfigure run after (前のステップがどういうステータスで終了したときに実行するか)だと思います。 今回はそれ以外の、Settingsと
この投稿は 2021/11/16 に実施したライブ配信の参考情報まとめです。 珍しくランチタイム勉強会 - Power Automate - YouTube 基本 : SharePointへのHTTP要求アクション すこし応用 : 一覧されていないURLへのリクエストなど すごく応用:サポートされていないAPIを利用する Formsへのリクエスト Teamsへのリクエスト おわり 基本 : SharePointへのHTTP要求アクション Power Automate の SharePoint コネクターでは、SharePoint上の情報を読み書きする豊富なアクションが提供されていますが、これらのアクションにはないような操作も SharePoint REST API には含まれています。 『SharePointへのHTTP要求』のアクションは、このような"アクションで提供されていないREST
Power Automate に限らず iPaaS を使って何らかの自動化を行う場合、メールの受信をトリガーにするケースはよくあるかと思います。例えばメールに添付されてきたファイルをストレージに保存したり、重要度:高 で届いたら自分のToDoに登録したり。 しかし個人のメールボックスを利用する場合には対象とするメールの条件に該当しないメールも多数届くはずですし、専用のメールボックスを用意した場合でも期待する内容かどうかをある程度判定する必要があるかと思います。 (例えば問合せのメールで、決まったフォーマットになっているかのチェックをして、期待通りならトリガーしたいというケース) このようなメールを起点にした自動化を行う場合の、特に『どうやってトリガーさせないか』について Power Automate で考えてみます。 業務の数だけパターンがありそうなので、今回はよくあるだろうケースとして以
前回 前回はPower AutomateのメニューにあるPeak codeの紹介と、トリガー・アクションの入力・出力をどうやって取り出すかを紹介しました。 今回はもうひとつの「Settings」について、トリガー・アクションでそれぞれ代表的と思われるものを紹介します。 念のため、Settingsには↓ここからアクセスします。 Split-On (トリガーのみ) トリガーにしかない設定です。 Split-Onはトリガーしたときのアイテムsを分割してFlow実行してくれる機能です。 例えばSharePoint listのクイック編集でアイテム作成した場合、Split-On:OFFだと、トリガーは作成されたアイテムsで発生するので、配列を対象に処理することになります。 Split-Onを有効にすると、トリガーしたときの配列をバラバラにして、個別にFlowを実行してくれます。このため、トリガー以降
Power Apps で何らかのデータソースを利用してアプリを作成する場合、よくある要望に『データには利用者に直接アクセス権限を与えたくない』というものがあります。 例えば人事情報など、利用者にはデータの一部を見せたいけど全体にアクセス権を与えられないようなケースが想定されます。(他の人の人事情報をみせたくない) 通常、Power Apps から直接データソースにアクセスしてデータの読み書きをする場合には、利用者それぞれがデータソースに何らかのアクセス権を持っていなければなりません。 SharePointリストであればHidden属性を有効にすることでサイトコンテンツから隠すという方法や Power Automate を使って SharePoint リスト管理する (非表示設定) (SharePoint Technical Notes) これと併せて、アイテム個別権限を設定して、個々のアイ
もういろんな方が書かれている内容だと思いますし、私も部分的に一度書いていますが、知識もアップデートされているので改めて纏めようと思います。 JSONオブジェクト内の値を取得する場合、Power Automate でよくやるのは 対象を "JSONの解析" アクションを利用して構造を解析し、後続ステップで動的コンテンツから選択するというアプローチです。 もちろんこれができるケースであればそれに越したことはありません。また、JSON内でプロパティ名の重複がある場合 (例えば以下のJSONでいう firstname のようなケース) では、"JSONの解析”アクションのスキーマを弄ってあげることで動的コンテンツからの選択・見分けが容易になります。 Ref. : Power Automate の JSON の解析で値に名前を付けて分かりやすくする – idea.toString(); { "isb
Power Automate 関連のフォーラムでよく話題にあがるのが「テーブルじゃないExcelのデータを取り扱えないか」というものです。 Power Automate の Excel コネクターでは、原則テーブルが定義されているケースを対象としているので、非テーブル型なデータは取り扱えません。(表を取得とかができない) これを回避するためには、一度 Office Script を利用してテーブル化してあげればよいのですが、よく見るサンプルだと function main(workbook: ExcelScript.Workbook) { // Get the active worksheet. let sheet = workbook.getActiveWorksheet(); // Add a table that has headers using the data from B2:
トリガーの概要 新しいトリガー "When someone responds to an adaptive card"では、Teamsに投稿したAdaptive Cardの入力フォームからのデータ送信をきっかけとしてフローの実行が可能になります。 ユーザーの入力を受け付ける場合、これまでは "Post adaptive card and wait for response" を利用していましたが、新しいトリガーとユーザー入力を待たないPost adaptive card のアクションを組み合わせることでも、Adaptive cardを利用したユーザーとのインタラクションが可能になりました。 この新しいデザインパターンは、カード送信部分と入力受信後の処理を独立してメンテナンスできるだけでなく、後述するように、これまで困難であった/標準アクションでは対応できなかったようなシナリオを実現可能にし
Cloudmersive の APIドキュメントを読んでいたら Power Automate のコネクターにはないAPIがあったので試してみようと思ったら、意外と面倒だったので備忘録。 Cloudmersiveの画像合成APIはファイルを2つformDataで送るが・・・ API Consoleでどんなデータを送ればいいのか見てみると、formDataで、2つの画像ファイルを送る必要があるということでした。いつも通りPostmanで試してみたところ、非常にすんなりいったんです。form-dataでKeyとValue (この場合はファイル) を選択できるので。 じゃあ、Power Automateで~と思ったのですが、ここでいきなり躓きました。 どうやってファイルをform-dataで送ればいいのか! bodyをどう書くか まずは「作成 (Compose)」アクション2つでファイル2つを定義
[2022/03/08] かなり配信が遅いテナントの既定の環境でも当該アクションの追加が確認できました。 Power Automate で Teams にメッセージを投稿する場合、これまで標準アクションでサポートされていたのはユーザーへの@メンション のみでした。 このほかにGraph APIを使ったチーム/チャネルへのメンション、Teams APIを使ったタグメンションなどがHTTPアクションを利用することで実現できていました。 Power Automate でプレミアムアクションを使わずに Teams のチャネルやチームにメンションを送る - MoreBeerMorePower Post a teams message with Tag mention from Power Automate - MoreBeerMorePower 今回新たにTeamsの標準アクションとして チーム内の
ついに来ました!Power Automateビジュアル! Power Automate 側では数か月前からデフォルト環境でもトリガーが追加されており、Power BI 側の対応はまだかなと心待ちにしていた件です。 事前の情報では、他のビジュアルと同様に、何らかのテーブルデータをビジュアルに関連付けすると、トリガーした際に Power Automate にそのデータが渡されるよーというものでした。 今回はどんな動きをするのか、データ型によってどう渡されるか、最大件数は何件か、などを試してみました。 まず使い方 なんでもよいので、適当なデータを追加します。今回は日時型と文字列型の列を一つずつ持つようなテーブルを追加しました。 準備:テーブル追加 さっそく Power Automate ビジュアルを追加します。「視覚化」にある「…」をクリックして、「その他のビジュアルを取得」から、「Power
これまで Power Apps をチームで作成してきた方であれば度々出くわしたであろう問題、「アプリのバージョン管理どうしよう?」「複数人で開発するのにブランチって作れる?」など、残念ながら共同編集・共同作業のUXはあまり良いものではありませんでした。 この度、これらの問題を解決してくれる素晴らしいアップデート "Git version control" が発表されましたので、紹介します。 ※なお、本投稿では「どうGitHubでバージョン管理をするのか」の一般論については言及しません。 事前準備 この機能を利用するためには当然ながらGitHubのアカウントと操作可能なリポジトリを持っている必要があります。 GitHubのアカウント作成については検索すると山ほど記事がありますが、以下のブログがとても読みやすかったです。 reffect.co.jp また自分の作業用のブランチを作成する方法につ
少し前にPower AppsでExcelファイルをアップロードしてDataverseにデータ登録を行うようなアプリとフローを紹介しました。 mofumofupower.hatenablog.com 今回は少し応用して、複数ファイルを一括でフローに渡すようなケースを考えます。 説明の都合上、ファイル→Base64文字列への変換ボタンと、フローの実行は分けています。 アプリの構成 画面には添付ファイルコントロールとギャラリーコントロールを2つ、そしてデータ変換用ボタンを追加しています。 真ん中のギャラリーは変換の都合で追加しているだけなので、非表示でも問題ありませんし、右側のギャラリーは結果確認用なのでなくてもよいです。 ポイントは3つ ギャラリーコントロールのItems プロパティ = 添付ファイルコントロールのAttachments ギャラリーコントロールには画像コントロールを入れる Ba
Microsoft Teams と Power Automate の組み合わせで皆さんモヤモヤするのは『個人には@メンション送れるけどチームやチャネルには送れない!』ではないでしょうか。 これを打開するために、これまでにHTTPアクションでGraph APIを使う方法や、あるいはAzure ADへのHTTPリクエストで同様にGraph APIを実行する方法が考えられてきました。 しかしいずれも Power Automate 的にはプレミアムライセンスが必要で、みんなが簡単に使えるようなものではなかったです。 そんな中、(一部の)Graph APIをスタンダードアクションで実行する方法がPaul によって発見されました。 彼のビデオでは、Excelテーブルへのデータ登録を行うためにGraph APIを使っています。詳細は以下をご覧ください。 本投稿では、このPaulの方法を使って、Teams
はじめに Twitterで見かけたブログで、Power Automateの配列をランダムにする方法が出ていました。この方法では、Azure FunctionsをHTTPアクションで呼び出して配列のランダム化を実行しています。 montemagno.com でもFunctionsを使うまでもないような気がしたので、方法を検討してみました。 結果としては比較的簡単な方法で順序をシャッフルした配列が生成できました。使ったアクションは「選択」「作成」のみです。 配列をシャッフルするフローの全体 サンプルをGithubに置いてあります。インポートして試してみてください。 PowerApps365/ShuffleArray_sample.zip at master · mofumofu-dance/PowerApps365 · GitHub 準備 ここでは簡単のために、上の記事と同じ配列を入力にしてお
はじめに Power Automate でフローを作成していると、意図せず/特に問題視せず Apply to each を利用したループ処理を利用してしまいます。 多くの場合、問題になるのはその実行速度 (遅さ) です。特に設定を変更せず、Apply to each を使い、さらに配列変数への追加アクションをその中で実行すると処理件数や中でのアクション数に応じて数分~数十分かかるケースがでてきます。 今回は特に配列操作にApply to each を利用しているケースで、ループ処理の効率化を考えます。 そもそもどのくらい遅いのか 簡単のために、まずは他のデータソースへのアクセスを行わない場合を考えます。 入力として [1,2,3...,200] の1~200までの数字を配列として用意し、出力はその前に文字をくっつけただけの配列とします。 フローは非常に簡単で、以下のようなApply to
0. はじめに ビジネスコミュニケーションツールである Slack では、ユーザーとのインタラクションを可能にする Block Kit という仕組みが提供されています。 api.slack.com Block Kit は、JSON形式で定義されるパーツを組み合わせることで、デバイスに最適なUIを構築することができるフレームワークです。メッセージ送信API を利用することで、ユーザーがアクション可能なメッセージをチャット上に送ることができ、ユーザーの応答 (入力パーツへの入力結果) を任意のサーバーに送信することが可能です。 Block Kitで作成されるユーザーがアクション可能なメッセージ Microsoftでも Adaptive Card というフレームワークが提供されていますが、同じような目的・思想に基づいています。 メッセージ送信 API を利用するので、Logic Apps や P
5/13からパブリックベータが開始された Notion API と、最近勉強を始めたGASを組み合わせて、スプレッドシートの内容をNotionにコピーしてみました。 なお、Notion API の使い方は前回の投稿で紹介しています。 mofumofupower.hatenablog.com Notion の テーブル構成 非常にシンプルに、日付型の列を1つと、リッチテキスト型の列を1つテーブルに追加しました。 この場合、アイテム作成APIを実行するときのBodyは { "parent": { "database_id": "DATABASE_ID" }, "properties": { "Name": { "title": [ { "text": { "content": "Yurts in Big Sur, California" } } ] }, "Description": { "r
Dataverse for Teams が Office 365 の標準的なライセンスで利用できる、SharePointリストに変わるデータソースになりつつあります。(主観) 今回は Power Apps から直接ではなく、他のサービスから Power Automate を通して Dataverse for Teams にデータを登録するケースを考えます。 1. SharePoint リストにアイテムが追加されたら書き込み まずは基本を押さえるために、SharePointリストにアイテムが作成されたトリガーを考えます。 最も大事なのは 『Dataverse for Teams に対する操作が発生するフローはすべてPower Apps for Teams から作れ』 です。 普通に既定の環境でフローを作って、Dataverse for Teams にアクセスしようとするとプレミアムライセンス
『JSON でデータが得られるけど、目的の値どうやって取るかわからん!』 という方に朗報! とっても使いやすいツールがあったのでご紹介です。 lab.syncer.jp こちら、JSON Pretty Linter 。 その名の通り JSON の整形 (インデントとかきれいにしてくれる) や評価を行ってくれる Webツールです。 これだけなら、VS Codeで十分なのですが、今回注目するのは黄色でハイライト👇の箇所『JSONの構造や値へのパスを確認できます』です。 ツール画面 これがすごい便利! 例えばLINE BotのメッセージイベントのJSONを例に見てみます。 { "destination": "xxxxxxxxxx", "events": [ { "replyToken": "nHuyWiB7yP5Zw52FIkcQobQuGDXCTA", "type": "message",
Twitterで「Teams にメンバー数十人追加しないといけないけど、手作業で大変・・・」という投稿があったので作ってみました。 ダウンロードは以下からどうぞ github.com 作りはそれほど難しくないのでここでは使い方をご紹介します。 1. フローのインポート ダウンロードしたzipファイルはそのまま環境にインポートして使います。 Power Automate の左側のメニューにある 「マイフロー」から「インポート」を選びます。 ファイルの選択画面になるので、ダウンロードしたzipファイルを選択してください。 マイフローのインポートから、ダウンロードしたzipファイルをアップロード 続いてフローに利用する接続 (アカウント情報) を選択します。 「関連リソース」と書かれた一覧の「インポート時に選択する」をクリックすると、フローを実行する際に利用するアカウント情報を聞かれます。 すで
SharePointリストのフィルターを使って結果が1件になるように絞ったのに、次のアクションでその結果を使おうとしたら突然 "Apply to each" のループ処理が・・・ということありませんか? Apply to eachはそのループ内で変数の初期化が出来なかったり、そもそも処理が見えづらくなったり、1件だけを処理したい場合には圧倒的に向いていないですよね。 そんなモヤモヤを緩和できる方法をご紹介です。 『first() を使いましょう』 以上です... まずは 1件だけ取得できても結果は配列である点がポイントであり問題の原因です。 SharePointリストであれば「複数の項目を取得」アクションの結果ですが、これは例え結果が1件でも配列型のデータを返しています。 これによって、1件だけ取得できた結果のタイトル列を使いたいだけなのに、配列だからApply to eachになります。
2021年1月から、Office Script からの外部API利用がサポートされるようになったので、試してみました。 公式のアナウンスは下記を参照してください。 docs.microsoft.com 注意事項にも書かれていますが、外部APIを利用する場合には fetch API というものを使います。 この特性上、スクリプトは以下のような形式にしておく必要があります。 async function main(workbook: ExcelScript.Workbook): Promise <void> { //何らかの処理 let fetchResult = await fetch(.....); } ポイントは async と Promise <void>と await です。どれを入れ忘れてもスクリプトでエラーになるので、注意しましょう。また、fetch API を利用する場合には
Microsoft 365 を利用しているとたいていは何らかのグループを管理・利用することになるかと思いますが、みなさんグループメンバーの追加・削除ってどうしていますか? 例えばユーザーの属性に応じて自動設定するようなグループの場合 (部署とか役職とか) には、Azure AD の 動的グループメンバーシップ を利用するのが正攻法かと思います。 ただしその場合には Azure AD Premium P1 のライセンスが要求されます。それほど高額ではないですが、メンバー数分となるとそこそこしそうですね。 あるいは、何らかの Excel表 なんかで管理している場合 (たとえば例外的なメンバーをExcel/Listで管理していて、それをグループにするようなケース) では、メンバーの追加・削除のタイミングで一覧同士を比較する必要があるかと思います。 このように、『何らかの対象ユーザー一覧をもとにし
Qiitaで質問が出ていたものへの回答です。 Power Automate を利用して、SharePoint リストに添付されたファイルを通知したい - リンクを送りたい または ファイルそのものを添付したい - という要望はたびたび見かけます。 ここでは代表的と思われる3つの通知方法について、Power Automate でどう対応するかを紹介していきます。 1. Flow bot から Teams に投稿 Power Automate から Teams にメッセージを投稿する場合には、『ファイルを添付する』ということはできません。 代わりに、ファイルへのリンクとファイル名を送ってあげるのが適当かと思います。 Flow bot として単純なメッセージを投稿する場合、または Adaptive Cards を利用する場合、 いずれもMakrdown によるテキスト装飾がサポートされているので
Power Automate で Microsoft Teams 向けの新しいTメッセージアクションが一般の環境にもリリースされました。 本投稿では、以前のメッセージ投稿アクションとの違いを簡単に紹介しながら、何ができるのか、どんな制限事項が現時点であるのかを見ていきます。 新しいアクション "チャットまたはチャネルでメッセージを投稿する" 下図が今回新しく追加されたアクションです。 新しく追加されたアクション これは既存のアクション "メッセージを投稿する(V3)"と"フローボットとしてメッセージを投稿する"の統合版のアクションになります。 Docsでもすでにアクションの詳細 (というほどでもないですが) が記載されています。 docs.microsoft.com アクションの入力としてこれまでにないものが2つ "投稿元", "投稿先" が追加されています。 "投稿元" は ユーザーとし
このブログやQiitaのほうにもGoogle Analyticsを設定していて、どのページがどれくらい見られているかを時々確認しているのですが、どうせなら定期的に簡易なレポートを自分のよく見る場所に送りたいなと思ったのがきっかけです。 Google Analytics には Reporting API が用意されており、これを実行することでHTTPで任意のクエリを実行しデータを取得することができます。 developers.google.com 今回は Google Analytics の簡易レポートを自動作成するために Power Automate で Reporting API を実行して結果を Teams に送信してみたので、その手順を残しておきます。 Query Explorer Reporting API のクエリを構成する際には Query Explorer でお試し実行してみ
時には業務で使いそうなものも。 Dataverse for Teams が正式リリースとなりました。もはやTeamsにくっついている環境であればSharePointのカスタムリストを選択するというのはあまりないのかなと思えるくらい便利ですね。 ただちょっと面倒なのが、データをほかのファイルからインポートするという口がないところです。この投稿では、Power AppsでExcelファイルをアップロードし、その中のテーブルに含まれるデータをDataverse for Teamsの指定のテーブルに登録する方法を紹介します。 1回だけの初期データ投入とかならここまでする必要ないかなと思います。どちらかといえば定期的に追加があるような業務向け(簡易的なマスターの管理など) 準備 まず今回考えるのはExcelファイルの中でテーブルが定義されているケースです。そうでない場合にはOffice Script
まえおき ITの会社でも存在するExcel出勤簿。ついつい付け忘れてて、月末に上司に怒られながら適当な時間入れて申請とかありませんか? そもそもExcel開いて入力・印刷して手書きして~って単純にめんどくさいんですよね。そんなメンドクササを、Office ScriptsとPower Automateで解消してみよーという内容です。 Excelでも、テーブルにできるなら、Power AutomateのExcelコネクターで簡単にデータの登録ができるんですが、非テーブルの勤務表(セル結合とかふんだんに使っているもの)だとそう簡単でもありません。 そこで、Office Scriptsの出番です。 Office Scriptsについては、きぬあささんのブログがとても役立ちます。 (https://www.ka-net.org/blog/?p=12733) なにをどうしようか 考えるExcel出勤簿
次のページ
このページを最初にブックマークしてみませんか?
『MoreBeerMorePower』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く