見出し画像

【ChatGPT×DX】無料でChatGPTとPowerAutomateDesktopを連携してみた!

皆さんは夕飯の献立で悩んだ経験はありませんか?
そしてもし、毎日献立を考えてくれるツールがあったら便利だなー
と思ったことはありませんか?

そこで、今回はブラウザ版ChatGPTPower Automate Desktopの無償版を使用し、毎夕方に夕飯の献立をメールで送るフローの作成方法の紹介です。




はじめに

ChatGPT APIとは

ChatGPT APIとは、
OpenAIが2023年3月1日に公開したChatGPTの機能をほかのアプリケーションや、サービスに組み込むためのものです。
これを利用することで、簡単に他システムと連携し、ChatGPTの機能を使用することができます。

ChatGPT APIを使用しない理由

ではなぜそんな便利なChatGPT APIを使わないのか。
理由は、利用するのに料金が発生する為です。

ChatGPT APIはアカウント登録後、無料トライアルとしてクレジットが用意されますが、クレジットを使い切ってからは使用した分だけ料金を支払う「従量課金制」になってしまいます。

そのため、今回はChatGPT APIを使わずに、ブラウザ版で操作を行うことにしました。

詳しい料金については、こちらのサイトをご確認ください。

準備するもの

・Power Automate Desktop(無償版)
・ChatGPTのアカウント
 (※今回はメールアドレスでのログインに限らせていただきます)
・Gmailのアカウント
・献立を受け取りたいメールアドレス(※上記と同じなら必要なし)

全体的な流れ

今回のざっくりとした流れとしては、以下になります。

①ChatGPTにログイン
②質問して回答をコピーする
③コピーした回答をメールで送信
④毎夕方に送るよう設定

今回のフローの完成図は以下になります。

フローの作成

それでは早速、フローを作って行きます。

1.変数の設定

最初に、準備したアカウント情報等を変数として設定していきます。
変数に設定する値は以下になります。

・ChatGPTにログインするためのメールアドレス
・      〃       パスワード
・Gmailアドレス
(・献立を受け取りたいメールアドレス)※今回は省略

値は【変数の設定】アクションで1つずつ登録してください。
また、設定後は左側の変数タブ内のフロー変数から「機密情報としてマーク」を押しておきます。

ここまで設定すると以下のような画面になります。


2.Chromeの表示、ChatGPT実行

次にChatGPTをブラウザで開き、献立を聞くためのフローを作成していきます。
まず、変数の設定の下に【新しいChromeを起動する】アクションを追加し、以下を設定します。 

初期URL:https://chat.openai.com/auth/login (ChatGPTのログイン画面URL)
ウィンドウの状態:最大化

アクションを実行するとChatGPTのログイン画面がブラウザで表示されます。

ChatGPTログイン画面(※画面デザインが異なるかもしれません)

ここからChatGPTにログインしていきます。

「Log In」ボタンをクリックしてChatGPTにログインする為に、
【マウスを画像に移動】アクションを追加します。

「画像を選択してください」をクリックし、「画像のキャプチャ」をクリックすると今開いている画面のキャプチャが取得可能になります。

左クリックを押したまま選択したい部分を囲み、
「Log In」ボタンをキャプチャします。(以下画像参照)

loginボタンを囲ってキャプチャしている画像

キャプチャができたら、「マウスの移動後にクリックを送信します」をオンにし、保存をします。
実行するとメールアドレス入力画面に移ります。

メールアドレス入力画面

メールアドレスを入力するアクションを入れる前に、
【Wait】アクションを追加しておきます。

これはChromeに保存してあるログイン情報が自動入力された際に、
入力のアクションが誤作動するのを防いでいます。
秒数はお好みですが、今回は2秒に設定しています。

【Wait】を追加した後、【ウィンドウ内のテキストフィールドに入力する】アクションを追加してメールアドレスを入力していきます。
「テキストボックス」をクリックし、「UI要素の追加」をクリックするとUI要素ピッカーが表示されますのでメールアドレスの入力欄を選択します。
「UI要素の追加」については、以前の記事で詳しく書かれていますので、そちらも参考にしてみてください。

指定が終わったら、「入力するテキスト」に「1.変数の設定」で設定した
メールアドレスの値が入った変数を入れます。
その後、【キーの送信】アクションを以下の設定で追加します。

送信するテキスト:{Tab}{Return}

ここまでのフローは以下になります。


メールアドレスの入力と同じ要領でパスワードも入力します。
異なる点やアクションは以下になります。

【ウィンドウ内のテキストフィールドに入力する】
テキストボックス:パスワードのテキストフィールド(UI)
入力するテキスト:パスワードの値が入った変数

【キーの送信】
送信するテキスト:{Tab}{Tab}{Tab}{Return}

ここまででやっとログインが完了しました。
次にChatGPTに送信する夕飯の献立の質問の自動化を作成します。

こちらもメールアドレスの入力と同じ要領で設定可能です。
異なる点やアクションは以下になります。

【ウィンドウ内のテキストフィールドに入力する】
テキストボックス:質問用テキストフィールド(UI)
入力するテキスト:
1人前で手軽な夕飯を一品教えてください。
材料と作り方も一緒に書いてください。
(※テキストはサンプルです。お好きに変更してください!)

【キーの送信】
送信するテキスト:{Tab}{Return}

また、実行後の画像は以下になります。

これでChatGPTに質問をすることができました。

質問後は回答が終わるまで待機させ、
回答が終わったらコピーするといった流れになります。

ChatGPTは回答中と回答後でボタンが変わるので、
このボタンが出るまで待機する。という指示を出していきます。

【ウィンドウコンテンツを待機】アクションを追加し、
「UI要素」で回答後のボタンを選択します。(以下画像参照)

コピーするために【キーの送信】アクションを追加し、
{tab} だけ入力し、この処理をループさせます。

【Loop】アクションで【キーの送信】アクションをはさみ、
以下の値を設定します。

開始値:0
終了:12
増分:1

【End】の後に同じく【キーの送信】アクションを追加し、
{Return} を入力してコピーは完了です。

以下一連のフローの画像になります。

コピーを終えたら、最後にChatGPTの片付けをします。
このままにしてしまうと、ChatGPTとの会話履歴が溜まってしまう為、
都度トークを消してからウィンドウを閉じる、という作業を行います。

【マウスを画像に移動】アクションを追加してごみ箱をキャプチャし、
先ほど同様「マウスの移動後にクリックを送信します」をオンにします。
(ごみ箱は以下画像参照)

実行すると以下のようなダイアログが表示されますので、
これをクリックするために【キーの送信】アクションを追加し、
{Return} を入力します。

すべて終わったら【Webブラウザを閉じる】アクションを追加し、
ChatGPTを使った一連の動作は終了になります。

以下がここまでの流れになります。


3.メール送信

次にコピーした回答をメールで送信していきます。

送信する前にコピーしたテキストを取得する必要があるので、
【クリップボードテキストを取得】アクションを追加します。
追加したら、【メールを送信】アクションを追加してメールの送信設定をしていきます。
SMTPサーバータブはこちらを参考に設定してください。

また、「ユーザー名」は「1.変数の設定」で設定した、
Gmailの変数を入力してください。

全般タブでの設定は以下にまとめてあります。

送信元:Gmailの変数
送信先:送信したいメールアドレス
   (変数設定していればその変数を入力)
件名:今日の献立
本文:
今日の献立をお送りします。
*****************
クリップボードテキストの変数を入力(※)
*****************

※印の部分は必ず入れてください。
それ以外の件名、本文の内容はお好きに変えてください。

以上でメール送信の設定が完了します。
ここまでのフローと実行結果は以下になります。


4.定期実行

最後に上記のフローを毎夕方に自動で実行する準備をします。
以前の記事の、タスクスケジューラーを用いた自動定期実行と同様です。

今回は夕飯の献立を考える為に夕方17時にフローを動かしております。
※好きな時間帯で設定可能です。

これで毎夕方に夕飯の献立をメールで送ることができます。

5.動作確認

ここまででフローの作成・定期実行の設定が完了したので、
実際に動かして動作確認を行います。

タスクスケジューラーから、
先ほど作ったタスクを右クリックして「実行する」をクリックします。

これできちんと動作し、メールが送られていることが確認できたら、
動作確認は完了となります。


まとめ

いかがでしたでしょうか。
ChatGPT APIは使わずに、ブラウザ版ChatGPTとPower Automate Desktopの無償版を使って、毎夕方に夕飯の献立をメールで送る方法でした!

今回はAPI不使用で行いましたが、APIを使用するともっと簡単にフローを作ることができますので、興味のある方はぜひお試しください!
ではまた次の記事でお会いしましょう!


おまけ

ChatGPTへ質問を投げる際に、ChatGPTへのログインと同じように
UI要素で指定する」「マウスを画像に移動」を使わないのかですが、
理由としては回答の長さが一定ではないからです。

コピーする為のUIはChatGPTの回答、1行目に表示されています。
回答が長くなると回答に合わせて画面が上がり、指定したいUIが画面上に表示されなくなるため、
実行してもUIを探せずエラーが起こってしまいます。
そのため、今回はタブをループさせてコピーのUIを押すようにしています。


我々、株式会社エアリーは、
千葉で働きたい・頑張りたい人材を募集しております!

新卒採用キャリア採用どちらも募集しております!
以下HPより、皆様のご応募お待ちしております。

【株式会社エアリー:お問合せフォーム】


この記事が気に入ったらサポートをしてみませんか?