見出し画像

【Dify×GAS】Difyのワークフロー内でGASを呼び出してGmailの下書き保存(ドラフト)を作成する方法

はじめに

この記事では、「Dify×GAS」を使った「Gmailの下書き保存(ドラフト)の作成」について解説します。

Difyの中で作成した文章をGmaiなどで送りたいと考えたときに、わざわざ作成した文章をGmail上にコピペするのはめんどくさいかったりします。

そんなときにはDifyからGASを呼び出してGmailの下書き作成までを自動化してしまいましょう!


実際のデモ画面

実際のデモ画面です。以下のワークフローは上司に食事を連れて行ってもらった際のお礼メール文章を自動で作成してGmailに下書き保存にするまでを行うものです。

まず入力画面で苗字や役職など必要な情報を打ち込むと自動でお礼メールの文章が作成されます。


作成された文章は以下のように自動でGmailの下書きに保存がされます。

このようにすれば下書きメールのチェックだけを行い、送信ボタンを押すだけでよくなります。

今回の題材はお礼メールの作成としていますが、営業メール作成など様々な部分にも応用ができるかと思いますのでぜひマスターをしてご自身の業務に取り入れてみてください!


DifyのワークフローでGmailの下書き保存(ドラフト)を作成する設定手順

ここからは設定手順について解説をしていきます。エンジニアの知識がなくても実装ができるようにステップバイステップで解説をしていきます!


①Google Apps Script を作成する

Googleドライブにアクセスし、「新規」をクリックします。

「その他」から「Google App Script」を選択

エディタ画面に移動をしたら、元から書かれているコードを全て削除し、以下のGASコードを貼り付けます。

function doPost(e) {
  try {
    // POSTデータを解析
    var data = JSON.parse(e.postData.contents);
    
    // 宛先、件名、本文を取得
    var recipient = data.recipient;
    var subject = data.subject;
    var body = data.body;

    // Gmailの下書きを作成
    GmailApp.createDraft(recipient, subject, body);
    
    // 成功した場合のレスポンス
    var response = {
      status: "success",
      message: "Gmailの下書きが作成されました。",
    };

    return ContentService.createTextOutput(JSON.stringify(response)).setMimeType(
      ContentService.MimeType.JSON
    );
  } catch (error) {
    // エラー発生時のレスポンス
    var errorResponse = {
      status: "error",
      message: error.message,
    };

    return ContentService.createTextOutput(JSON.stringify(errorResponse)).setMimeType(
      ContentService.MimeType.JSON
    );
  }
}


②GASのコードをデプロイする

スクリプトエディタの上部にある「デプロイ」ボタンをクリック。

新しいデプロイ」を選択。



種類の選択」の横の歯車マークをクリック。「ウェブアプリ」を選択。


次のユーザーとして実行」を「自分」に、「アクセスできるユーザー」 を 「全員」 に設定。



右下の「デプロイ」 をクリック。


次の画面で「アクセスを承認」を押し、Googleアカウントへログインします。デプロイが完了すると、IDが生成されます。この後のステップで使うのでコピーをしておきましょう!

③Difyでの設定

ではここまでできたらDify画面に遷移をします。

Dify上でHTTPリクエストブロックをクリック


以下の画面のように設定をします。

POSTの横にはGASをデプロイした際に出てきたURLを貼り付けてください。

JSONの箇所には以下のように入力をしてください。bodyの箇所のようにDify内の変数を指定することでこのブロックの前に作成した文章を入れることができます。

{
  "recipient": "example@example.com",
  "subject": "お食事のお礼",
  "body": "/LLMテキスト"
}


あとは回答ブロックにてHTTPリクエストのbodyの変数を適応させれば完了です。


ここまで設定ができたら実際にGmailの下書きが作成されるかをワークフローのプレビュー画面で実行をして試してみましょう!


まとめ

この記事では、Difyのワークフローを使って、Gmailの下書き保存(ドラフト)を作成する方法について説明しました。これを実践することで、Gmailの下書きを自動で作成し、効率的に業務を進めることができます。

ぜひこの記事の手順を参考にして、効率的な「Gmailの下書き保存」を実現してください。

記事に不明点などありましたらX(https://x.com/aius1at )もやっていますのでお気軽に質問してくださいね。

また本記事を読んで「良かった!」と思っていただけましたら「いいね」を押していただけますと今後のモチベーションにもつながりますのでぜひともよろしくお願いします!

ではでは〜

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