はじめに
社内活動でMiroを使用しており、隔週で特定の場所のお天気マークを更新しているので、更新忘れ防止とスマホからでも簡単に更新できたらいいなと思いbotを作ってみることにしました。
bot概要
PowerAutomateからスケジュール実行でTeamsにアダプティブカードを投稿し、選択したお天気マークをMiroに付箋で貼り付けるbotを作成します。
アダプティブカード作成
アダプティブカードデザイナーでお天気マークがボタンになっているカードを作成します。
作成できたら[Copy Card Payload]をクリックしてJSONをコピーしておきます。
(詳しい手順はこちらがとてもわかりやすかったので割愛します)
{
"type": "AdaptiveCard",
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.4",
"body": [
{
"type": "TextBlock",
"text": "",
"wrap": true
},
{
"type": "TextBlock",
"text": "お天気マーク更新してください",
"wrap": true
},
{
"type": "ColumnSet",
"columns": [
{
"type": "Column",
"width": "stretch",
"items": [
{
"type": "ActionSet",
"actions": [
{
"type": "Action.Submit",
"title": "🌤",
"id": "🌤"
}
]
}
]
},
{
"type": "Column",
"width": "stretch",
"items": [
{
"type": "ActionSet",
"actions": [
{
"type": "Action.Submit",
"title": "🌥",
"id": "🌥"
}
]
}
]
},
{
"type": "Column",
"width": "stretch",
"items": [
{
"type": "ActionSet",
"actions": [
{
"type": "Action.Submit",
"title": "🌧",
"id": "🌧"
}
]
}
]
},
{
"type": "Column",
"width": "stretch",
"items": [
{
"type": "ActionSet",
"actions": [
{
"type": "Action.Submit",
"title": "⛈",
"id": "⛈"
}
]
}
]
}
]
}
]
}
MiroAPIのAccessToken発行
下記手順でAccessTokenを発行し、発行したAccessTokenを退避しておきます。
-
Miro Developer Platformにアクセスし、[Start Building now →]をクリック
-
boards:read、boards:writeにチェックがついていることを確認し、[アプリをインストールしてOAuthトークンを取得する]をクリック
MiroAPIリクエスト作成
絵文字を作成するAPIはないようなので、付箋にお天気マークを書いて投稿することにしました。
付箋作成のAPIリファレンスでリクエストを作成します。
下記入力できたら[Try It!]をクリックするとリクエストが発行されるので、更新先のMiroボードにいい感じに付箋が作成されたら、リクエストを退避しておきます。
- Bearer:取得したAccessToken
- board_id:更新先のMiroボードID(
https://miro.com/app/board/[ここがboard_id]/
) - BODY PARAMS:指定したいところを入力(positionはparent指定しない場合は絶対位置を指定)
PowerAutomate作成
下記手順でPowerAutomateを作成します。
-
アダプティブ カードを投稿して応答を待機する
ステップを追加し、下記を入力 -
更新メッセージにアダプティブカードのお天気マークボタンクリック後のメッセージを入力し、Team、Channelは投稿先を指定
-
HTTP
ステップを追加し、下記を入力
PowerAutomateテスト実行
下記手順でテスト実行します。
さいごに
Miroは使っているけどMiroAPIは知らなかったという方もいると思うので、ぜひ参考にして頂けたらと思います!