出張者必見!新幹線予約を Power Automate と AI Builder の GPT Actionsでカレンダーへ自動登録する

毎回新幹線予約で何時に取ったっけ?ということにならないように日本に居た頃からOutlookへ新幹線などの予約情報を登録していたのですが、先日Power Automate の日本語の環境でもAI Builderに搭載されているGPT機能が使えるようになったので*1、今後はすべて自動で予定登録してくれるようにしました。
今日は、どうやってやっているのか、細かく方法を皆さんに共有します。
前提条件
- AI Builder クレジットが必要です。これは試用版を始めるか、無償の開発者ライセンスを登録するか、Power Apps / Power Automate のプレミアムライセンスに含まれています。
- 使う環境で地域間のデータ移動が有効になっている必要があります。
- DLPポリシー等で管理者がAI Builder を無効にしていない必要があります。
AIプロンプトを準備する
Power Automate のサイトから、AIハブへアクセスし、AI プロンプトをクリックします。 表示されていない場合は、…詳細からアクセスできます。

GPTでプロンプトを使用してテキストを作成するを選択し、カスタムプロンプトを作成をクリックします。

画面左上にある名前をわかりやすい名前に変更し(以下の例では[JPN]新幹線予約情報抽出にしています)、以下のプロンプトを登録します。

テキストはこちら:
予約情報を実際の予約内容より抽出してください。抽出する項目は出発地、到着地、出発時間、到着時間、座席、便名、金額です。出力結果はJSON形式で、出力結果のみを回答してください。項目名は日本語でお願いします。 出発時間と到着時間はDatetime形式で、時間にも日付を含めてください。金額や数値形式にしてください。
以下は例です
サンプルの場合、出発時間は18:01、到着時間は19:33、便名はのぞみ439号で、座席は6号車20番E席です。実際の各項目は実際の予約内容から抽出してください。
**サンプル始まり**
お預かり番号:2125
乗車日 2023年11月1日
品川(18:01)→のぞみ439号→名古屋(19:33)
N700系16両
普通 禁煙
16号車15番A席
おとな1名
EX予約
発売額 10,880円
**サンプル情報終わり**
以下が実際の予約内容です
この一番下にある予約内容は動的な値を追加するをクリックし、予約内容と入力してEnterキーを押してください。エンターキーを入れないと、確定しません!!(吉田はこの地味なワンステップを知らず、初めにめちゃくちゃはまりました)
実際に試す
エクスプレス予約をご利用いただきありがとうございます。
予約結果は以下のとおりです。
ご希望通り予約しました。
領収額は、合計 8,570円です。
■予約内容
お預かり番号:1352
乗車日 2023年12月11日
品川(14:40)→ひかり647号→豊橋(15:53)
N700系16両
普通 禁煙
13号車18番E席
おとな1名
EX予約
発売額 8,570円
(ご案内)
ご予約の席は特大荷物スペースつき座席です。
特大荷物はご自身の席後方に置いてください。
※特大荷物の車内持ち込みについてはこちら
するとJasonJSONが表示されたことがわかります。このJSONをメモ帳か秀丸エディタか、好きなところに一時的に貼り付けておいてください。後で使います。

画面右下のカスタムプロンプトを保存をクリックし、この画面を閉じます。
Power Automate のクラウドフローを作成する
作成から自動化したクラウドフローを選択します

フローの名前を入力し、フローのトリガーはメールと検索すると新しいメールが届いたときが表示されるので、それを選択して作成をクリックします。

画面左側から、詳細パラメータをクリックし、件名フィルターを選択します
※差出人もフィルターしてもいいのですが、後にテストするときに、それだと実際に予約しないとメールがもらえなくなるので、あえて件名フィルターだけにしました。

件名を新幹線予約内容にします

次にプラス+ボタンから、AI Builder を選択し

一覧から、GPTでプロンプトを使用してテキストを作成するを選びます

先ほど作成した新幹線予約情報抽出のプロンプトを選びます

Input 予約内容の右側に⚡マークがあるのでそれをクリックし、本文を選択します

次に プラス+ボタンから、 ランタイムを組み込みに絞って

検索からJSONと入力します。するとJSONの解析が表示されるのでそれをクリック

Contentのところは⚡をクリックし、GPTでプロンプトを使用してテキストを作成するの中のテキストを選びます

Schemaの下にあるサンプルのペイロードを使用してスキーマを作成するをクリックし、さっきメモ帳か秀丸エディタとかで一時的に貼り付けた例のJasonJSONをここで貼り付けて完了を押します。

初めて試した方、JSONデビューおめでとうございます!JSONを知らなくても、使えるようになりましたね。
正しく設定していれば、このようにSchemaで表示されます。

次にプラス +ボタンから、 Office 365 Outlookを選択し、イベントの作成(V4)を選びます

カレンダーは日本語の方は予定表、英語の方はCalendarを選択します。
件名は分かりやすく私は新幹線移動と入力し、⚡マークからBody 出発地と Body 出発地 を含めました。

開始時刻は⚡マークをクリックし、Body 出発時間を選択。終了時刻も同じステップでBody到着時間をクリックします。タイムゾーンは、一覧から(UTC+9:00) Osaka, Sapporo, Tokyoを選びます。

詳細パラメータから、本文を選択し

⚡マークから新しいメールが届いたときの中にある本文を選ぶと、カレンダーから直接メールの予約文章が見れるので、あとで便利だと思います。

これで設定完了です!保存をお忘れなく。
保存を押すと以下のような注意書きが表示されます。これはマイクロソフトの責任あるAIの一環で、GPTなどの生成型AIを利用したアクションを設定する場合、人がアクションをレビューすることを推奨しているからです。生成型AIは100%ではありません。必ず結果は確認するようにしましょう。

実際に試す
では、メールを自分あてに送ってみましょう。最初にお伝えした通り、差出人フィルターではなく 件名フィルター にしたのはこれが理由です。件名は新幹線予約内容にします
Outlookから以下のようなサンプルメールを作りましょう。
注意:乗車日は明日とかにしないと、予定表確認しにくいと思います。
会員ID:987654321
エクスプレス予約をご利用いただきありがとうございます。
予約結果は以下のとおりです。
ご希望通り予約しました。
領収額は、合計 8,770円です。
■予約内容
お預かり番号:9876
乗車日 3月1日
豊橋(07:09)→ひかり632号→品川(08:34)
N700系16両
普通 禁煙
14号車1番D席
おとな1名
EX予約
発売額 8,770円
(ご案内)
ご予約の席は特大荷物スペースつき座席です。
特大荷物はご自身の席後方に置いてください。
※特大荷物の車内持ち込みについてはこちら
https://expy.jp/reservation/reserve_exic/oversized-baggage/
■乗車用ICカード
1.JE80F-C123-4567-8901
乗車用ICカードを自動改札機にタッチし、「EXご利用票(座席のご案内)」を受け取って乗車してください。
※乗車方法はこちら
https://expy.jp/reservation/geton_exic/
■EX旅先予約はこちら
https://jr-central.co.jp/ex/travel-portal/
■予約・変更・払戻・各種登録等
【PCをご利用の方はこちら】
https://shinkansen1.jr-central.co.jp/RSV_P/index.htm
【スマートフォンをご利用の方はこちら】
https://shinkansen1.jr-central.co.jp/RSV_P/S_index.htm
■ご利用案内等はこちら(エクスプレス予約ホームページ)
https://expy.jp/
■よくあるご質問はこちら
https://expy.jp/faq/
■お問合せ(エクスプレス予約カスタマーセンター)
※音声案内に従って、会員IDを入力してください。
電話 0120-417-419
営業時間 5:30~23:30(年中無休)
※このメールをお送りしているアドレスは、送信専用となっており、返信いただいてもご回答いたしかねます。
いざ送信!すると、ちゃんと予定が表示されましたね!

これで、今後、新幹線の乗車時間を忘れることはたぶんない…はず!
Leave a Reply