PA45 第30回|ハンズオン手順
Teamsの頼まれごとを1クリックでTo Doに入れるTeams のメッセージの「…」から押すと、その文が To Do のタスクになります。期限は押したときにカードで選び、選ばなければ3日後。最後にフロー ボットが「追加しました」と返します。
今日つくるもの: Teams のメッセージの
「…」 のメニューから押すと、
期限を選ぶカード が出て、メッセージの文を
タイトル にした To Do のタスクができ、
フロー ボットから確認 が届くフロー。
💬 manual=選択されたメッセージに対して(カードで期限) →
✅ To Do を追加する (V3)(空なら3日後) →
📨 フロー ボットで「追加しました」
■ 今回の考え方(スライドの考え方①〜⑤)
事務の仕事は、受け付ける/書き写す/判断する/知らせる/まとめる/作る、の6つの動詞の組み合わせ。時間が消えるのは動詞と動詞のあいだ(書き写し・待ち・渡し忘れ)。
決まりで決められること(書き写す・知らせる・決まった値)はフローに任せ、人が決めること(期限・優先度・承認)は1か所に集めて人に残す。
フローの始まり方は、決まった時刻に/何かが起きたら/人が押したら、の3つ。今回は人が押す形。押す=これは処理する、という判断になる。
今回は、受け付ける→判断する(人:期限)→書き写す(To Do)→知らせる(フロー ボット)を1クリックでつなぐ。入口と出口を入れ替えれば、依頼メール→Planner なども同じ組み立てでできる。
🔰 初参加の方へ: ここから始めて大丈夫です。用意するものはありません 。Teams と To Do が使える会社・学校のアカウントがあれば作れます。
目次
準備 練習用のメッセージ
準備 Copilot に1回で頼む
1. フローを作る
2. カードを貼る
3. To Do を追加する
4. 「追加しました」
5. 保存して押す
+ Copilotに聞く型
準備
練習用に、自分あてのチャットに頼まれごとを2つ書く(2分)
🧑💼 オートさん「なぜ」:課長のメッセージで試すと、課長に通知が飛ぶかもしれない。自分あてなら気兼ねなく何度でも押せるから
Teams で自分とのチャット(またはチームの練習用チャネル)を開きます。
次の2つを送ります:見積書、金曜までにお願いします / 議事録の共有、手が空いたらでいいよ
準備
Copilot に、カードの JSON と期日の式を1回で作ってもらう
🧑💼 オートさん「なぜ」:カードの形と期日の決まり(空なら3日後)は、日本語で伝えれば Copilot が作れる。先に用意しておけば、あとは貼るだけになる
ブラウザの別タブで M365 Copilot チャット (m365.cloud.microsoft/chat )を開きます。
下の指示をコピーして、1回送ります。
①カードの JSON と ②期日の式 の2つが返ってきます。このタブは開いたままにしておきます。
コピー
Power Automate で使うものを2つ作ってください。説明は不要で、2つだけ返してください。
① Teams のアダプティブ カードの JSON(バージョン 1.4)
・見出し:To Do に追加します
・入力1:期限(日付を選ぶ)。id は dueDate。ラベルは「期限(空なら3日後)」
・入力2:重要度(高・標準・低から1つ)。id は importance。値は high / normal / low。初期値は normal
・入力3:メモ(複数行・空でもよい)。id は memo
・ボタンは「追加する」1つ
② To Do の「期日」に入れる式を1行で
・triggerBody()?['cardOutputs']?['dueDate'] が空なら今日から3日後、入っていればその日
・形は yyyy-MM-ddT00:00:00
①カードの JSON の見本(Copilot の答えがうまくいかないとき・時間がないときはこちら):
コピー
{
"type": "AdaptiveCard",
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.4",
"body": [
{ "type": "TextBlock", "text": "To Do に追加します", "weight": "Bolder", "size": "Medium" },
{ "type": "Input.Date", "id": "dueDate", "label": "期限(空なら3日後)", "isRequired": false },
{ "type": "Input.ChoiceSet", "id": "importance", "label": "重要度", "style": "expanded", "value": "normal",
"choices": [
{ "title": "高", "value": "high" },
{ "title": "標準", "value": "normal" },
{ "title": "低", "value": "low" }
] },
{ "type": "Input.Text", "id": "memo", "label": "メモ", "isMultiline": true, "isRequired": false }
],
"actions": [
{ "type": "Action.Submit", "title": "追加する" }
]
}
②期日の式の見本:
コピー
if(empty(triggerBody()?['cardOutputs']?['dueDate']), addDays(utcNow(), 3, 'yyyy-MM-ddT00:00:00'), concat(triggerBody()?['cardOutputs']?['dueDate'], 'T00:00:00'))
STEP 1
フローを作る(トリガー=選択されたメッセージに対して)
🧑💼 オートさん「なぜ」:頼まれたメッセージを、自分で選んで押したい。メッセージの「…」から押せるのは「選択されたメッセージに対して」のトリガーだから
Power Automate で 「作成」→「インスタント クラウド フロー」 を選びます。フロー名がそのまま Teams のメニューに出る ので、短く分かる名前にします。
フロー名は To Do に入れる 。
トリガーの一覧から Teams の「選択されたメッセージに対して (V2)」 を選んで「作成」(キャンバスでは manual と表示されることがあります)。
画面左上の環境が既定の環境 になっているか確かめます(Teams のメニューに出るのは既定の環境のフローだけ)。
STEP 2
トリガーに、Copilot の①のカードを貼る
🧑💼 オートさん「なぜ」:押した瞬間に、期限・重要度・メモを選びたい。トリガーには、押した人に入力してもらうカードを付けられるから
アダプティブ カード =Teams に出せる、入力欄やボタンの付いた小さな画面。
トリガーをクリック →「アダプティブ カード の作成」 (最初は見本の「アンケートのお願い」が出ています)。
下へスクロールし、CARD PAYLOAD EDITOR の右の ⊞ で欄を開く → 中をクリック → Ctrl+A → Copilot の①を貼る。
プレビューに期限・重要度・メモのカードが出たら「カードの保存」 → フローの「保存」 。
💡 id が、そのまま動的コンテンツの名前になります。 入力欄に付けた dueDate ・importance ・memo は、押した人が入れた値と一緒にトリガーの出力(cardOutputs)に入ります。後ろのアクションでは ⚡ のいちばん下に body/cardOutputs/dueDate のように名前で出てきます。
STEP 3
To Do を追加する(5つの欄を、前のステップの値で埋める)
🧑💼 オートさん「なぜ」:書き写していた内容は、全部前のステップにある。タイトルは Teams のメッセージ、期日は②の式、重要度とメモはカードから
トリガーの下の + → to-do で検索 → Microsoft To-Do (仕事) の「To Do を追加する (V3)」 。
To Do リスト :タスク
タイトル :⚡ → manual の下の「プレーン テキスト形式のメッセージの内容」
期日 :欄で半角の / →「式を挿入する」 → Copilot の②を貼って、左下の「追加」
重要度 :⚡ →「表示数を増やす」→ いちばん下の body/cardOutputs/importance
本文 コンテンツ :最初の「項目のコンテンツです。」を消して、⚡ body/cardOutputs/memo
⚠️ 「to-do」で検索すると、コネクタが2つ出ます。 会社・学校のアカウントで使うのは Microsoft To-Do (仕事) の「To Do を追加する (V3)」です。Microsoft To-Do (コンシューマー) (「To Do の追加」・(V3) なし)は個人用の Microsoft アカウント向けなので選びません。
②期日の式の読み方:
部品 意味
if(条件, A, B) 条件が正しければ A、ちがえば B
empty(…dueDate) カードの日付が空か(条件)
addDays(utcNow(), 3, 'yyyy-MM-ddT00:00:00') 空のとき:今日+3日
concat(…dueDate, 'T00:00:00') 選んだとき:日付に時刻を足す(To Do の期限の形)
STEP 4
フロー ボットから「追加しました」と返す
🧑💼 オートさん「なぜ」:押したあと、Teams は何も言わない。入ったかどうかを、その場で知りたいから(Learn もこの形をすすめています)
To Do のアクションの下の + → Teams の「チャットまたはチャネルでメッセージを投稿する」 。
投稿者 :フロー ボット / 投稿先 :フロー ボットとチャットをする / Recipient :自分のアドレス。
メッセージ :To Do に追加しました: と打ち、⚡ から To Do の「タイトル」 。
STEP 5
保存して、Teams のメッセージから押す(2回)
🧑💼 オートさん「なぜ」:このフローの入口は Teams の「…」。日付を選んだときと選ばないときの両方を確かめる
右上の「保存」 。
Teams で 見積書、金曜までにお願いします の「…」→「To Do に入れる」 → カードで日付を選んで 「追加する」。
議事録の共有、手が空いたらでいいよ で同じように押し、今度は日付を選ばずに 「追加する」。
To Do の「タスク」に2件。期限が「選んだ日」「3日後」になっていて、フロー ボットから「追加しました」が届けば完成です。
⚠️ 「…」にフローが出ないとき: 作った直後は、デスクトップ版の Teams に出ないことがあります。ブラウザで Web 版の Teams(teams.cloud.microsoft) を開いて、同じメッセージの「…」から押します。それでも出ないときは ①保存したか ②既定の環境か を確かめます。
+
Copilotに聞くときの型(そのまま貼れます)
手を動かすのは自分、分からないところだけ聞く、という使い方です。M365 Copilot チャット に貼ってください。
① 返ってきた式の意味を、日本語で説明してもらう
コピー
Power Automate のこの式を、プログラミングを知らない人向けに説明してください。
if(empty(triggerBody()?['cardOutputs']?['dueDate']), addDays(utcNow(), 3, 'yyyy-MM-ddT00:00:00'), concat(triggerBody()?['cardOutputs']?['dueDate'], 'T00:00:00'))
② 決まりを変えたいとき(例:3日後ではなく次の金曜)
コピー
Power Automate の式を1行で教えて。
triggerBody()?['cardOutputs']?['dueDate'] が空なら、次の金曜日を yyyy-MM-ddT00:00:00 の形で返したい。
③ エラー文は、訳さずそのまま貼る
コピー
Power Automateでこのエラーが出ました。
(エラー文を全文そのまま貼る)
意味と、どこを直せばよいかを教えてください。
⚠️ 貼る前に一度だけ確認: 社名・氏名・取引先が混ざっていないか見てください。混ざっていたら、架空の名前に置き換えてから貼ります。
PA45 第30回 ハンズオン手順 / 選択されたメッセージに対して × To Do × 式 × Copilot
人名・メッセージはすべて架空のサンプルです。画面や手順は公開日時点のもので、今後変わる可能性があります。