高見知英のかいはつにっし(β)

高見知英のアプリケーション開発日誌 のほか、地域活動などの活動報告ブログ。

わたしとMicrosoft To-Do

このブログエントリーはOffice 365 Advent Calendar 2019の3日目の記事です。

さて今回は、MicrosoftのToDoアプリ(タスク管理ツール)、Microsoft To-Doの話しでも。Microsoft To-Doは、Office 365のサービスの一つで、読んで字のごとくのToDo管理サービスです。

タスク管理ツールとして有名だったWunderlistを買収し、Wunderlistを元に作られたサービス・・・ のはずなんですが、正直それほどパッとしないイメージはありますし、検索してもそれほど情報が上がってきません*1

とはいえ実はUserVoiceで独自のページが作られていて、そこそこに機能強化も頻繁に行われているタスク管理ツールです。

最近は、Microsoft Plannerで割り振られたタスクを表示したり、Outlookでフラグをつけたメールを一覧表示できたりと、ぼちぼち進歩してきました。

Microsoft To-Doは、タスク管理ツールとして、他のOffice 365サービスとは独立して使うこともできますが、もしOffice 365を契約しているような人であれば、同じアカウントで使うととても便利に使えるツールです。

是非Office 365のアカウントと同じアカウントでサインインして使うと良いでしょう。

わたしのMicrosoft To-Doの使い方

わたしのMicrosoft To-Doの使い方はこんな感じです。

  • すぐにできそうにない(or すぐにできても数時間かかりそう)タスクは、基本的に全部タスクリストに突っ込む
  • 毎日寝る前に、翌日やる予定のタスクを「今日の予定」リストに移動させる
  • 翌日はリストの中からやれそうなものを実行していく
  • やれなかったら反省する

という感じです。

f:id:TakamiChie:20191129202716p:plain
うちのMicrosoft To-Do

それとは別に、「特に期限は決まってないけど暇なときにやる」タスクや、買わなきゃいけないものリストなどのタスクリストをいくつか作って管理しています。

登録方法

登録方法については、先日の.NETラボ勉強会の資料にもすこし書いていますが

  • To-Doアプリから直接入力
  • Googleアシスタントと連携させて入力
  • Power Automateからボタンで入力
  • SharePointリストなどからPower Automateのフローを呼び出して入力

などいろいろなパターンで。

定型的なタスクなどはなるべく手入力を減らしておくと、あとで手間が増えずに便利です。

Microsoft To-Doのタスクはコピペができない上、繰り返しもあまり厳密な設定ができないため、必要に応じてPower Automateなどと連携する必要があります。

Googleアシスタントとの連携方法

こちらは.NETラボ勉強会の資料で書いたとおりですが、Power AutomateはGoogleアシスタントとの連携に非対応ですので…

  1. Power Automateで「HTTP要求の受信時」をトリガーにしたフローを作成する
  2. 1のフローで、Microsoft To-Doの「To-Doの追加(プレビュー)」アクションを使う
  3. 1のフローを保存すると、呼び出し用のURLが払い出されるため、これをIFTTTから呼び出す

という手順を踏みます。「HTTP」という名がつくトリガーやアクションはいくつかあるのでぱっと見分かりづらいのですが、12月現在「インスタントフローを作成」の「HTTP要求の受信時」がそれです。

f:id:TakamiChie:20191129203623p:plain
フローの作成画面

Googleアシスタントからコマンドを受け取りたい場合は、「要求本文のJSONスキーマ」のところにJSON文を書きます。分からない場合は、「サンプルから生成」のボタンを押して、「IFTTTから送りたいJSONデータ」を書くと、適当に作ってくれますので、それを使いましょう。

うちの場合、JSONスキーマには以下を指定しています。

{
    "type": "object",
    "properties": {
        "title": {
            "type": "string"
        },
        "limit": {
            "type": "integer"
        },
        "details": {
            "type": "string"
        }
    }
}

そして、IFTTTからは、次のようなJSONを送りつけます。

{ "title": "{{TextField}}", "limit": 7, "details": "Google Homeより追加" }

ちょっと面倒くさいですが、慣れると応用が利くので便利です。

一連の予定リストを一括投入する

たとえばうちの場合はまちづくりエージェント SIDE BEACH CITY.のSBCast.収録など、いくつかのステップにわかれていて、かつステップ毎に期限日の異なるタスクがあります。どういうことかというと

  • 配信予定日の1ヶ月前までに、ゲストの方にオファーをし、収録日を確定する
  • 配信予定日の2週間前までに、こちらからの質問リストを用意し、収録を行う
  • 配信予定日当日までに、編集を済ませ、公開作業を行う
  • 配信予定日の一週間後までに、YouTube版を公開する(これを一番忘れることが多く、自分的に問題になっていた)

という一連の流れ。

f:id:TakamiChie:20191129204837p:plain
SBCast.のToDo

Microsoft To-Doには、いちおうタスクのサブタスクという機能があり、そこにステップを書いていくこともできます。

しかし、Power Automateではサブタスクの登録を行うことができませんし、そもそもサブタスクには親タスクと異なる期限をつけることができません。

なのでこうやって別々にタスクを登録していっています。

こういうのは、Power Automateのボタンからタスクを生成するようにすると良いです。

ボタン押下時にはいくつか引数を作ることができるので、そこでタスク毎の変数(ここではゲストさんの名前は放送予定日)を指定するようにします。

本格的にやりたければPowerAppsで画面を作るのも一つの手でしょう。

f:id:TakamiChie:20191129205202p:plain
タスク作成フロー

SharePointリストからタスクを作成する

そしてもう一つは、SharePointのリストからタスクを作成する方法。

たとえばうちの場合、まちづくりエージェント SIDE BEACH CITY.イベントのブログレポートなどがあります。

自分が担当になった場合は、イベント日の2週間後を期限として、ブログレポート作成のタスクを作ります。

このようなときは、SharePointの「選択したアイテムの場合」というトリガーを使います。

わたしはSharePointリストで一つ項目を選択し、Flow>フローの作成>「選択した項目について・・・」ではじまるテンプレートをクリック で作りましたが、他に方法はあるんだろうか?

f:id:TakamiChie:20191129205815p:plain
フローの作成

ここで、レポートブログ作成フラグがONになっている項目を選択していたら、イベント日より14日後の期限を指定してタスクを作成します。

f:id:TakamiChie:20191129210135p:plain
ブログ作成タスクの作成

Microsoft To-DoはPower Automateと組み合わせることで真価を発揮する

Microsoft To-Doは、数あるタスク管理サービスの中ではけっこう機能的にも弱くて、未だ買収したはずのWunderlistに負ける部分も少なくありません。

ただ、ここまでPower Automateと連携できるタスク管理ツールも珍しいのでは?と、個人的には思っています(他のタスク管理ツール向けのアクションもPower Automateにはあるのですが)。

Microsoft To-Doは、Power Automateと連携することでできることの幅がかなり広がります。

是非みなさんもMicrosoft To-Doを活用してみてはいかがでしょう?そしてにしとも広場のもくもく会などで意見交換しましょう(と、唐突な宣伝*2 )。

今回紹介したPower Automate連携について

今回紹介したPower Automateについては、まちづくりエージェント SIDE BEACH CITY.内部用のものが大半となっています*3

もしまちづくりエージェント SIDE BEACH CITY.の内部システムが気になるようであれば、エージェントとしてまちづくりエージェント SIDE BEACH CITY.で活動してみる というのもアリだと思いますよ?(唐突な宣伝)

*1:あまりググラビリティの高くない名前なので、それもあるかと思いますが

*2:原則毎月祝日にやっています。残念ながら12月は祝日がないため、平日の12月16日にやっています

*3:まあ、個人事業主側もOffice 365 Business Premiumなんですが、SharePointと連携が必要になるような機会があまりないもので…