カテゴリ「Power Automate」の36件の投稿 Feed

2020年4月20日 (月)

Microsoft Teams 内の各チームには[ファイル]タブが用意されています。このファイルタブの実体は SharePoint サイトです。

もっというと、チーム内の[ファイル]タブは SharePoint サイト上にある「ドキュメント」ライブラリ内のチャネルごとに生成されるフォルダーが紐づいています。しかし、Teams の[ファイル]タブは、SharePoint の標準的な機能の一部が実装されていません。もちろん、あくまで[ファイル]タブ経由で利用するとという限定的な話であり、[ファイル]タブのコマンドバーから "SharePoint で開く" をクリックすることで、Webブラウザーから直接 SharePoint のライブラリにアクセスすれば、標準機能がフルに利用できます。

Teams 内から SharePoint サイトにアクセスする

※補足 : Teams がリリースされて間もないころはSharePoint が持つファイル管理機能のごく基本的な機能のみしか提供されていなかったのですが、数か月前からだいぶ SharePoint のオリジナルの持つ機能に近づいては来ています。

そのため、今回のブログのタイトルにあるような Power Automate を使った承認フローを実装するには、少し工夫が必要です。

Webブラウザーから直接SharePointサイトを利用するときには、格納しているファイルに対して承認フローを開始する方法としてはファイルのプロパティを確認し、例えば "下書き" から "公開" といった値に変更したときに承認フローを自動的に開始できるようにすることも少なくありません。しかし、[ファイル]タブでは現時点(2020/4/18)ではプロパティを編集できません。さらに、手動でワークフローを開始するにもフローを手動開始するコマンドメニューがありません。SharePoint 標準では本来はできることです。

そこで、[ファイル]タブを使ってフローを開始するのであれば、手動開始とプロパティの値をトリガーにすることはあきらめる必要があります。「ファイルを新規に作成したら」という自動的にフローが開始されるトリガーを使うのが妥当でしょう。

例えば、[ファイル] タブ内の特定のフォルダーにファイルを移動したらフローが開始されるというような実装を考えます。ただここで問題なのが、SharePoint コネクターのトリガーによってはサブフォルダーからはフローが開始されないものがあるということ。[ファイル]タブはサブフォルダーに紐づいているので、ここが重要なのです。

以上のことから、トリガーには次のいずれかを使うようにします。このトリガーはサブフォルダーでも動作します。

  • ファイルが作成されたとき(プロパティのみ)
  • ファイルが作成または変更されたとき(プロパティのみ)

自動開始を前提とするので、フローを起動したときに承認者を選択させることができないので、最初から承認者を固定で指定しておくか、上司の自動取得をするなど何かしら工夫をしておく必要があります。

ところで、トリガーを設定するときですが、SharePoint サイトとの関係が把握できていないとどのフォルダーをトリガ―指定すればよいのか迷うところです。チャネルとフォルダーの関係を図解しておくと次のようになります。トリガーを構成するときには、この図を念頭に置いたうえで、チーム名と同じ名前の SharePoint サイトのURLとフォルダーを指定するようにしましょう。

Teams 内のチャネルとSharePointフォルダーの関係

なお、チャネルを最初に作ったときに(もっと正確にいうと、チャネルを作成後に[ファイル]タブに初回アクセスしたときに生成) SharePoint側にフォルダーが作成されるのですが、フォルダー生成後はチャネル名を変更しても既存のフォルダ名は変更されません。そのため、現在 Teams 内のファイルタブには関連づいているフォルダー名が表示されるようになっているので、これを手掛かりにするとよいでしょう。

Teamsファイルタブにひもづくフォルダー名

以上を踏まえ、最もシンプルな承認フローを構築すると次のようになります。ここでは細かい設定については触れませんが、詳細は例えば、既存の承認用のテンプレートを使いトリガー部分を差し替えるなどしてみてください。

承認フロー

 

【研修】SharePointユーザーのための Power Apps & Power Automate入門

AdobeStock_194043476対象者は SharePoint サイトの基本的な操作や用語が理解できている方で、Power Automate や Power Apps を使った業務改善などを検討している方です。

2020年4月 3日 (金)

Power Automate を使ってリスト内のアイテムを一気に他のリストに移動させたいということもあります。しかし、残念なことに、SharePoint Designer で開発するワークフローには存在していた「アイテムのコピー」というアクションは SharePoint コネクターにはありません。

一つ断っておくとすると、SharePoint Designer での開発はサイトを越えた処理は基本的にはできず、SharePoint REST API を使うなどしていましたので、もともとそう高機能だったというわけでもありません。

話を戻しましょう。

Power Automate の場合は元のアイテムのデータをもとに新しいリストにアイテムを新規に作成するという、コピー作成を行うことになります。「移動」にしたければ最後にアイテムを削除すればよい。

まずは機能検証するためにコピーまでとし、元のリストアイテムの削除はしません。これを実現する最も手軽な方法は、次の SharePoint コネクターのアクションを使うことです。

  • 複数の項目の取得 (Get items)
  • 項目の作成 (Create an item)

さて、複数のアイテムがあるのでこれを一気にコピーしたいのですが、とりあえず手動でフローをトリガーしてやることにします。処理が終わったらMicrosoft Teams にチャットメッセージを投稿するようにします。以上を踏まえると以下のようなフローの組み立てがシンプルです。

Bulk List Item Copy 1

さて、フローをテスト実行し、手動開始してみます。今回、元のリストには1,000件以上のアイテムがあります。が、試すと Apply to each では 100件までしか処理していないことが分かります。

Bulk List Item Copy 2

さて、なぜこうなっているのか? 

昔から SharePoint の一括操作(バルク処理)は100がしきい値というのはおなじみのところであり、SharePoint の API もクエリを使って取得するデータの上限は既定値が 100 というのもよくある話。さて、これはどこの設定が関わっているのか確認してみましょう。

先ほどの「複数の項目の取得」の詳細オプションを確認すると「上から順に取得」という項目あります。英語だと Top Count という項目です(英語の方が分かりやすい...)。SharePoint の開発をしたことのある方なら、ここでピンとくるかもしれません。これが要はREST API の引数の $top に当たるわけです。これが既定値のままだと、100アイテムを取得するという既定の動作となるのです。

Bulk List Item Copy 3

この値を2000ほどに変更しておくと、今度は1,000件以上のアイテムが取得できました。

Bulk List Item Copy 6

なお、「上から順に取得」で指定できる上限は SharePoint は一度の呼び出しで最大  5,000までしか取得できません。

そして このアクションのあとに Apply to each を使用しますが、 Office 365 およびフリーのライセンスでは5,000までしか対応していません。これ以上の値を指定したい場合は Power Automate per flow または per user (もしくは Plan2 か Plan1)が必要になります。有料プランであれば上限は100,000 になります。

このことについては詳しくは下記に記載されているので一度目を通しておきましょう。

さて、5,000以上指定したい場合は、上記のライセンスを持っているのであれば、「複数の項目の取得」アクションの設定から、改ページ (Pagination) のしきい値をたとえば20,000などに指定します。

Bulk List Item Copy 4

Bulk List Item Copy 5

改ページをオンにすることで、しきい値の指定がなければすべてのアイテムを、もしくはしきい値があればその値に達するまで呼び出しを続けるようになります。「改ページ(Pagination)」に関しては次のブログに記載されています。

Do Until の利用

ところで Power Automate per user や per flow などの有料プランを持っていない場合に対処方法はあるのか?

Do Until を使う方法であれば、これをクリアできそうです。たとえば、上限である5,000アイテムずつ繰り返し取得して行くというアプローチが取れるようになります。ただし、フローは若干、複雑になります。

まず変数の準備。次のように変数を用意します。

Bulk List Item Copy 7

次に Do Until を挿入します。条件は ItemEmpty が true になるまで。

あとはこのコンテナの中に「複数の項目の取得」アクションと「項目の作成」アクションを挿入します。

Bulk List Item Copy 8

「複数の項目の取得」アクションの設定で改ページをオンにします。しきい値は5,000にしておきます。

Bulk List Item Copy 9

また「複数の項目の取得」アクションのフィルター条件に TargetItemID の値以上を指定します。

Bulk List Item Copy 10

Do Until コンテナ内の処理の続きとして条件を指定します。

Bulk List Item Copy 11

条件は「empty(body('複数の項目の取得')?['value'])」が true です。

「はい」のときは ItemEmpty を true に設定し、「いいえ」のときは TargetItemIDの値に「複数の項目の取得」アクションで取得した最後のIDを格納します。式は次の通り。

last(body('複数の項目の取得')?['value']).id

このIDを使ってスライディングウィンドウを作るイメージです。

全体像は次の通りです。

Bulk List Item Copy 12

謝辞および参考資料

Power Automate を使って SharePoint のアイテムを一括で処理するところで悩んでいたところ、それを Twitter でつぶやいたら Yellow11(@br_Yellow11) さんが助け舟を出してくださいました! 

Do Until の利用か! なるほど、と思い、いろいろと調べていたところ、細かいところが分かったので、忘れないうちに記事にしようと思い立ったわけです。

また、海外の方が書かれている下記の記事も見つけることもでき、これを含めて今回の日本語の記事にまとめました。

How to get more than 5000 items from SharePoint Online in Flow

皆さんのおかげです

Pay it forward !!

2019年5月23日 (木)

2019年5月21日から23日までの日程で Las Vegas にて SharePoint Conference 2019 が始まりました。SharePoint に特化したセッションばかりの3日間です。今年は幸い現地にて参加しています。

SharePoint Conference は最初は Microsoft 主催でシアトルで開催されていましたが、それが Las Vegas 開催へと発展し、しばらくの間は Mandalay Bay (ホテル名)で行われていました。その後、SharePoint 以外も含めた Microsoft Ignite へと吸収されてしばらく開催がなくなってしまいます。しかし、2018 年から Microsoft 協賛の North America でのコミュニティイベントという形で復活しました。ですから、純然たる Microsoft のカンファレンスというわけではありません。登壇者も Microsoft の社員は勿論、Microsoft MVP などが担当します。現場視点での興味深いセッションも多く見られるというのが非常に特徴的です。

SharePoint Conference 2019 は、MGM Grand Conference Center で開催されています。

セッション数は SharePoint 関連だけで(Teams や Stream, PowerApps/Microsoft Flow なども含む)  200 以上。国内ではとてもこれだけの情報量はでてきません。

 

SharePoint Virtual Summit

さて、Keynote や主要なセッションについては SharePoint Virtual Summit として下記のURLから On-demand でどなたでも閲覧できます。

https://www.microsoft.com/en-us/spvs

94889ED9-DFBA-4115-A66A-6709A3EB888E

最新情報

その他のセッションは基本的には現地でしか見られません。とはいえ、SNS の恩恵により、現地にいなくても、息つく間もなく、このカンファレンスから発信される情報を拾えるので、便利な世の中になったものです。

ということで SharePoint Confernce 2019 (#SPC19) から発信された主だった最新情報を Twitter から引用してまとめておきましょう。日本語に訳している時間がないほどの情報量です。自分が発信したものだけでなく、他の方々もスライド部分を Twitter で公開しているので、それも含めます。

ちなみに、この記事を書いているのは 2日目が終了時点です(それでもすごいボリューム)。最終日にまとめていると、帰国の準備だなんだでバタバタするので、先にわかっている範囲でまとめます。追加があれば、改めて記事を書きます。

そしてまだモダンサイトをしっかりと勉強できていない方がいれば、これを機会に早めに取り組んでいってください。時間がたてばたつほど新たに覚えることが増える一方です。特にオンプレミス環境とは雲泥の差で、差は広がるばかり。。。

チームワーク全般

SharePoint Home site 

SharePoint Home sites っていうのが出てきます。

ポータル機能

近日中に利用できる機能としては Vertical Section 、コンテンツのコピー&ペースト、Webパーツとセクションの複製などが注目です。今年の後半はニュースやページのスケジュール公開がやはり根強い期待感があるところでしょうか。

イントラネットのデザイン周り

ハブの数が 100 から一気に 2,000 に拡大されるのが一番のポイントです。

SharePoint チームサイトとビジネスアプリ

個人的に注目しているのは サイトをサイトデザインに抽出できるようになる部分です。サイトのテンプレート化ができる。また、カードベースのリストビューというのも気になります。さらに、PowerApps Forms がゲストアクセスできる (リストのフォームの方だと思います。このセッションも参加できなかったので、詳細は確認できていません)!

SharePoint リストとライブラリ

OneDrive for Business のRoadmap

機能が盛りだくさん過ぎます。

Teams 内のチームの「ファイル」タブ

ファイルタブの中身が SharePoint のドキュメントライブラリとほぼ同等に使えるようになります(もともと実体は SharePoint ではあるのですが)。

Microsoft Teams を活用するためのエチケット

当該セッションには参加していないのですが(参加したいセッションが複数被るため)、コンパクトに分かりやすく infographics にまとめてくださっています。素晴らしい。

SharePoint 開発

SharePoint Framework に関するロードマップ。

Microsoft Search

去年からパブリックプレビューが始まり、先日 GA となった Microsoft Search です。SharePoint を含め検索機能は今後 Microsoft Search がベースになります。そして、今後は機能が結構増えそう。

Microsoft Search では今後 コネクターが用意される予定となっており、オンプレミスの共有フォルダー検索もこれで対応できるようになるとのこと。

 

SharePoint ECM 

Microsoft Stream roadmap

個人的に気になるところは Screen recording 、 External video sharing, Microsoft Search integration。Stream上のビデオって、意外とまだ Stream内からしか検索できません。ですから、Delve からも対象外となっている(内部的に検索機能を使っているので)。

サイトスクリプト

サイトスクリプトも新機能が続々登場される予定。

Yammer の Question and Answer 機能

Yammer に質問と回答の機能が追加されます。Live Events 内でも利用できます。

 

Yammer の新機能

 

Microsoft Flow に SharePoint 関連機能が追加

ようやくファイルのチェックイン/チェックアウト、権限設定などができるようになるようです。

サイトコレクションのURLが SharePoint Online 管理センターから変更できる

この機能は既に Target Release テナントから順次展開されていて、私が利用しているテナントでも利用できるようになっています。URLを変更しても旧URLから新しいURLへリダイレクトしてくれる機能も備えています。

Microsoft Kaizala

Teams とよく似たイメージの Kaizala。その違いを、またまた infographics にしてくださっています。すごくわかりやすい!

2018年8月 1日 (水)

さて、1週間前ほどになりますが、Excel 内から Microsoft Flow のフローが利用できるようになりました。といっても、まだプレビューです。

Flow is available in Excel and the Outlook Web App, introducing Business process flows, and more! | Flow のブログ

There are two new flow integrations: with the new Flow button in Excel, you can create and trigger automation directly on tables in your worksheets, and, you can now create flows that sync tasks to Microsoft ToDo in the Outlook Web App.

Excel の アドインとして提供されます。アドインの詳細は下記のリンク先などを参照してください。

Microsoft Flow for Excel (Preview)゜

Automate repetitive tasks by integrating your favorite apps and services with Microsoft Flow.

 2018/8/1 現在のアドインの概要は次の通り。

  • バージョン : 1.0.0.2
  • 更新日時 : 2018/7/17
  • サポートされている製品 : Excel 2016 + , Excel 2016 for Mac, Excel Online

つまり、Excel 2016 以降で利用できるということですが、注目すべきはいわゆる "Office Webアドイン" であるため Excel Online でも使えるということ。手元の環境が Excel 2013 以前だというケースでは Excel Online だと試せます。

Office ストアへのアクセス制限を考慮

ところで、このアドインは入手元は Office ストアです。Office 365 テナント管理者は組織内のユーザーが Office ストアにアクセスできるかどうかを制御できます。そのため、これを許可していなければユーザー自身が Office ストアからアドインを追加することはできません。試したくてもテナント管理者が許可していないなぁ。ということもあり得るので注意してください。

 

とはいえ、これは基本的に「ユーザーが勝手には」追加できないという話。管理者が今回の Microsoft Flow アドインのように、特定のアドインの利用を全てのユーザー、または特定のユーザーやグループにのみ許可することはできます。

2018-08-01_11-34-27

アドインを追加してみよう!

では上記の条件をクリアしている前提ですが、Excel 2016 でアドインを追加してみましょう。

追加すると[データ]タブに[Microsoft Flow]ボタンが追加されるようになります。これをクリックすると Flow 用のパネルが右側に表示されます。Excel Online を使っている場合も同様にアドインの追加が必要です。

2018-08-01_11-42-20

このパネルからフローを作成したり、開始したりできます。

Excel アドインでは Excel内に作成してあるテーブルを基軸にします。テーブル内の任意のセルを選択し、その行データを使ってフローを処理します。ですから、「選択した行から」というトリガーが基本。ちなみに現時点でExcelアドインを使ったテンプレートとして用意されているものは次の通りです。 

  • 選択した行から --> メールを送信する
  • 選択した行から --> SharePointにアイテムを作成する
  • 選択した行から --> Dynamicsにエンティティを作成する
  • 選択した行から --> 承認を送信する
  • 選択した行から --> Teamsにメッセージを投稿する
  • 選択した行から --> 他のスプレッドシートに行を作成する
  • 選択した行から --> Twitter にメッセージを投稿する

SharePoint と連携させてみよう!

 では SharePointリストと連携したフローを作成してみましょう。対象は SharePoint のカスタムリスト。Excel シート内のデータをここに手作業で書き写すのではなく、フローを使って素早くアイテムを追加できます。詳しくは YouTubeに動画を公開しましたので、ご参考まで。

トラブル対応情報

ちなみにビデオでは、Excel Online を使いました。デスクトップ版に比べるとトラブルが少ないためです。では、ここまでで遭遇したトラブルを以下に共有しておきます。いずれも Flow のパネル部分の問題であり、パネル自体は表示されるが、パネル内に何も表示されないか、エラーが表示されてしまう。

2018-08-01_16-04-15

私自身は、複数テナントを持っているので、これを切り替えるためにアカウントを切り替えて使っていたのですが、何度かやっていたら、「ウンともスンとも」画面がでてきません。アドインのアンインストールと追加も何度やったことか。。。Cookieの削除とか、あれこれ。しかも半日経っても治らない。そこで Twitter でこの困った件をつぶやいたら「Yugo Shimizu」さんからヒントを頂きまして、それをもとにあれこれやったら「サインイン」が出てくるところまでは何とか修正できました。

で、何をやったかというのをメモしておくと、そもそもこの部分は Office Webアドインであり JavaScriptで動作しているわけです。そのため、プラウザー側にも何かしら影響を受けます。そのため下記のことをやりました。が、正確にはどれが正しい処理なのかまでは追及しきれていないので、はっきりしたことが分かれば追記しようと思います。

  • IEと Edgeの両方を使っているので、念のためどちらも Office 365 ポータル (www.office.com) に入り直し、きちんとサインアウトする
  • 各ブラウザーでMicrosoft Flow ポータルにも入り直し、きちんとサインアウトする
  • 念のためPCを再起動

以上です。ただ、再び同様の現象が発生しているので、なかなか問題追及は難しいです。特にOffice 365 にサインインするときに「サインインを継続する」をオンにせずにいるとトラブルにあう可能性が高まります(これは、PowerAppsの方も同じですが)。

Edge を使って Excel Online 上でフローを利用しようとしていたら、下記のようなエラーメッセージにも遭遇しました。

2018-08-01_15-01-29

確かに IE側では、https://flow.microsoft.com はセキュリティ ゾーンにキチンと登録していなかった。。。ですが、Chrome に切り替えたらすんなり動きました。まだまだプレビューですし、不安定さありますが、それでも Excel Online + Chromeは安定しているようなので、検証する際にはまずはこの環境を利用することをお勧めします。

 

2017年12月19日 (火)

 

Microsoft Flow で利用する Outlook コネクターに新機能が追加されました。

Improvements to the Outlook connectors and more

This week we released several improvements to the Outlook connector, including saving an email as a ".eml" file, responding to calendar invitations automatically, and triggering flows when you are mentioned in an email thread.

 

メールのエクスポート機能

Outlook.com および Office 365 Outlook のコネクタにメールのエクスポート機能が追加されました。この機能を使って、OneDrive や SharePointサイトなどにメール(*.eml) を自動保存できます。ちょっと試してみましたが、Microsoft Flow ブログに記載されているスクリーンショット道理にやろうとすると詳しい手順は記載されておらず、 Message Id が取得できなくて、困ります。あれこれと調べたところ、これは手入力しないと出てこないんですね。下記が操作イメージで、「メッセージID」と手入力します。

 そのほかは、ブログのスクリーンショット通りに設定すればOKです。例えば下記のような設定です。

2017-12-19_8-00-09

新しく追加されたアクション

そのほかにも新しいアクションが追加されています。

  • 電子メールの転送
  • 開封済みにする
  • イベント招待に応答します(プレビュー)→これは "会議の出席依頼" などで自動承認などできるということです
  • 会議室の取得
  • 部屋リストから会議室を取得
  • 部屋リストの取得

まだ試していないものがありますが、どんどんと増えてきているので、急ぎ試さねば!