AppSheet Automationの使い方(3)「Send an email」でメール送信

folder_openAppSheet

請求書アプリのユースケースで、AppSheet AutomationのTask(タスク)設定をマスターします。
前回(第2回)は、「Create a new file」Taskを設定して、請求書をExcelで作成してみました。
今回は、「Send an email」Taskを設定して、メール送信をやってみましょう。
「請求書を発行して、メールに添付して送信する」という使い方の場合、「Send an email」で添付ファイル(PDFやExcel)の作成もできるので、ひとつのステップで完了させることができます。

この記事で使用する請求書アプリは、ブログで解説している請求書アプリ(7回シリーズ)です。
ブログを読んでアプリを自作していない場合は、メルマガ購読者特典のサンプルアプリをダウンロードしても大丈夫です。

【お知らせ】
2022年10月以降、AppSheetエディタの画面が新しく変更されています。
AppSheetのアップデートが速すぎて(汗)、このブログ記事はまだ新エディタの画面には対応していません。
エディタ画面右上にある「Switch to the legacy editor」というアイコンをクリックすると、新エディタと旧エディタの切り替えができます。
記事のアップデートができるまでは、とりあえず、旧エディタに切り替えて解説を読んでください。

Switch to the legacy editor」で旧エディタに切り替える。

1. AppSheetの無料プランでは機能制限があるので注意

「Send an email」で「指定したアドレス」にメールを送信するためには、アプリをデプロイ(Deployed)する必要があります。
プロトタイプ(Not Deployed)の状態では、送信したメールはすべてアプリオーナー(アプリ作成者)のアドレスに届くようになっています。
AppSheetエディタでアプリ作成中に、以下のような注意を見たことがあると思います。

プロトタイプ(Not Deployed)では、メールはすべてアプリオーナーのアドレスに届く。

アプリをデプロイするためには有料プラン契約が必要になります。
実際に業務で使用する段階になったら、以下のブログ記事を参考にして有料プランについて検討してください。

2. Stepを追加する

「Send an email」の設定を始めましょう。

AppSheetエディタ左側メニュー「Bot」をクリック、「Bots」タブに移動します。
第1回で作成したBot「請求書Automation」をクリックして開きます。

AppSheetエディタ左側メニュー「Bot」をクリック、「Bots」タブに移動してBotをクリックする。

「Add a step」をクリックして、新しいStepを追加します。

「Add a step」をクリックして、新しいStepを追加する。

Step(ステップ)の名前をつけます。
「Step name」に「メール送信ステップ」と名前をつけました。

Step(ステップ)の名前をつける。

Stepを開いて、種類を「Run a task」にします。

Stepの種類を「Run a task」にする。

「Tasks」タブに移動します。
さきほど追加した「メール送信ステップ Task - 1」というTaskがあると思うので、クリックして開きます。

「Tasks」タブに移動する。

以上、Stepを追加して「Send an email」Taskを設定する準備ができました。

3. Send an emailを設定する

「Send an email」の設定を始めましょう。
「Send an email」には2つの「Email Type」があります。

  • Embedded app view:dynamic emailという機能で、Gmail上にアプリのViewを表示してデータ変更などの操作ができます。
  • Custom template:通常のemailです。

「Embedded app view」はこちらのブログ記事、「AppSheet と Gmail が統合 - dynamic email でできること」でdynamic emailの機能と活用事例について紹介していますので参考にしてください。
今回は、通常タイプの「Custom template」の設定について解説します。

はじめに表示される項目について、以下のように設定してみます。

設定項目
Task category 「Send an email」を選択します。
Task name Taskの名前です。「メール送信」にしました。
Email Type 「Custom template」を選択します。
Table name Taskを実行するテーブルです。ここでは「請求書」を選択します。
To メール受信者のリストです。「Add」で追加できます。

  • 参照テーブルから受信者のメールアドレスを取得する場合は、三角フラスコアイコンをクリックして式を設定します。
  • デプロイしていないアプリでは設定が無視されます。すべてのメールはアプリオーナー(アプリ作成者)のアドレスに届きます。
Email Subject メールの標題です。
テキスト以外に、タグを使って列名や関数を設定することができます。
Email Body メール本文です。
「Email Subject」と同じくタグを使って列名や関数を設定することができます。

「Send an email」を設定する。

 

メール受信者を式で設定する

「To」はメール受信者のメールアドレスを式で設定できます。
「請求書」テーブルは、「取引先」(Ref)列から「取引先」テーブルを参照しています。
参照テーブルから必要な値を取得する式の書き方は以下のようになります。

参照テーブルの値を取得する式の書き方
[ Ref を設定した列名].[参照テーブル内の列名 ]

「請求書」テーブルから「取引先」テーブルの「メールアドレス」を取得する式は以下のように書きます。

  • [取引先].[メールアドレス]

Exression Assistantで式を設定すると以下のようになります。

「To」に取引先のメールアドレスを設定する。

ただし、デプロイしていない(プロトタイプ)アプリでは、すべてのメールがアプリオーナー(アプリ作成者)のメールアドレスに送信されるので注意してください。

標題と本文はタグを使える

「Email Subject」と「Email Body」は、タグ(<<>>)を使って書くことができます。
「Table name」で設定したテーブル(ここでは「請求書」テーブル)の列の値は以下のように書きます。

タグの書き方

<<[ 列名 ]>>

例えば、

  • <<[件名]>>
  • <<[請求書番号]>>

のような感じです。
また、「Table name」で設定したテーブルから参照しているテーブル(例えば、「取引先」テーブル)の値を取得する場合は以下のように書きます。

参照テーブルの値を取得するタグの書き方

<< [ Ref を設定した列名].[参照テーブル内の列名 ] >>

「取引先」情報は、「請求書」テーブルの「取引先」列(Ref)から「取引先」テーブルを参照しているので、

  • <<[取引先].[取引先名]>>
  • <<[取引先].[部署]>>
  • <<[取引先].[担当者]>>

と書きます。
例えば、「Email Subject」と「Email Body」を

「Email Subject」と「Email Body」をタグを使って書く。

のように書くと、メールでは以下のように表示されます。

メールでは以下のように表示される。

「Email Body」の下に、「Preview email」というボタンがあります。
クリックするとメールのプレビューが表示されて結果を確認できます。

「Preview email」というボタンをクリックするとメールのプレビューが表示される。

続いて、Advancedでは返信先やメール本文のカスタマイズを行います。
はじめのうちは、特に設定する必要はありません。
慣れてきたら必要に応じて設定してください。

設定項目
CC CCのリストです。「To」と同じように設定します。
BCC BCCのリストです。「To」と同じように設定します。
Reply To メールへの返信を受信するメールアドレスです。設定の方法は「To」と同じです。
デフォルトでは、「noreply@appsheet.com」です。
Customize "From" name 「From」の表示をカスタマイズします。 デフォルトでは、アプリオーナーのメールアドレスが使用されます。
PreHeader 受信トレイで表示した時に表示される要約テキストです。タグを使って列名や関数を設定することができます。
Email Body Template メール本文にひな形を使うことができます。ひな形の使い方は、Googleドキュメント(Google Docs)を使用したひな形と同じです。

Advancedでは返信先やメール本文のカスタマイズをする。

 

最後に、Attachment settingsで、添付ファイルの設定を行います。
ここでは、前回(第2回)で使用したExcelのひな形を使ってみましょう。

設定項目
Attachment Content Type 添付ファイルのコンテンツタイプを選択します。ここでは「XLSX」を選択しました。
Attachment Template 添付ファイルのひな形を指定します。
Attachment Name 添付ファイルの名前です。タグを使って列名や関数を設定することができます。
「Attachment Template」を使用してファイルを作成すると、ここで設定した名前がつきます。
Attachment Archive 添付ファイルの保存設定です。

  • AttachAndDoNotArchive:メール添付のみで、ファイルを保存しません。
  • AttachAndArchive:メール添付してファイルも保存します。
  • ArchiveAndDoNotAttach:メール添付せず、ファイル保存のみです。添付ファイルが大きすぎて添付ファイルとして含めることができない場合に役立ちます。メールの本文に添付ファイルへのURLまたはWebリンクを含めることができます。
Attachment File Store 添付ファイルを保存するファイルシステムです。
「Default」のままでよいです。Googleアカウントでログインしている場合は、Googleドライブに保存されます。
Attachment Folder Path 添付ファイルを保存するフォルダを設定します。空欄のままで大丈夫です。
Disable Timestamp? チェックしてONにすると、添付ファイル名にタイムスタンプを追加しません。
Other Attachments 他の添付ファイルを追加します。

Attachment settingsで、添付ファイルの設定をする。

添付ファイルはひな形を使って作成する

メールに添付するファイルを作成できます。
方法は、「Create a new file」と同じでひな形(テンプレート)を使用します。

「Attachment Template」の書類アイコンをクリックします。

「Attachment Template」の書類アイコンをクリックする。

Upload fromで「Google Drive Files」を選択します。

Upload fromで「Google Drive Files」を選択する。

前回(第2回)で使用したExcelファイル(請求書ひな形_Excel_修正版.xlsx)を選択し、「Select」をクリックします。

Excelファイルを選択し、「Select」をクリックする。

ひな形のExcelファイルが読み込まれると、「DocID=1xxxxxxxx」のようにドキュメントIDが表示されます。

ひな形のExcelファイルが読み込まれるとドキュメントIDが表示される。

ファイル名はタグを使える

「Attachment Name」(ファイル名)はタグを使って書くことができます。
前回(第2回)の「Create a new file」ではExpression Assistantで設定したので、以下のようになりました。

Expression Assistantでファイル名を設定する。

タグで書く場合は、式で使用する記号が不要なので、以下のように書けます。

ファイル名をタグで書く。

添付ファイルは保存しないようにできる

「Attachment Archive」は添付ファイルの保存設定をします。

請求書ファイルは、前回(第2回)で設定した「請求書発行」Taskで作成したものが「Files」フォルダ内に保存されるようになっています。
なので、「メール送信」Taskでもファイルを保存すると同じファイルが重複します。

ここでは「AttachAndDoNotArchive」にして、「Send an email」で作成した請求書ファイルは保存せずメール添付のみに使用します。

添付ファイルがPDFの場合はファイルサイズに関する設定があります。
今回は、XLSX(Excel)なので設定がありません。

設定項目
Attachment Page Orientation Portrait(タテ)かLandscape(ヨコ)か選択します。
Attachment Page Size ページサイズを選択します。
Use Custom Margins デフォルトのままで問題ありません。

以上で「Send an email」の設定は完了です。

4. AppSheetからメールを送信してみる

メール送信をテストしてみましょう。
AppSheetエディタのプレビューで「請求書」を選択し、作成済みの請求書をひとつ選択します。

AppSheetエディタのプレビューで「請求書」を選択し、作成済みの請求書をひとつ選択する。

「請求書発行」ボタンをクリックするとBotが実行されるので、クリックしてみましょう。

「請求書発行」ボタンをクリックしてBotが実行する。

アプリがプロトタイプ(Not Deployed)の場合は、アプリオーナー(アプリ作成者)のメールアドレスにメールが届きます。
無事にメールが届いたでしょうか?

アプリオーナー(アプリ作成者)のメールアドレスにメールが届く。

以上、「Send an email」Taskを使って、AppSheetからメール送信をしてみました。
AppSheetを使ったメール送信の用途としては、

  • 依頼や完了などの通知、報告
  • 見積や請求など一方的に送信する

などに限定した方がよいでしょう。
何度も送受信を繰り返すような連絡に使用する場合は、Gmailなど通常のメールクライアントを使うようにしましょう。

次回(第4回)は、「Call a webhook」Taskを使って、LINEにプッシュ通知してみましょう。
添付ファイルがない短いメッセージなら、メールよりもLINEの方が向いています。
用途に合わせてTaskを使い分ければ、ワークフローの自動化にまた一歩近づけるので、是非挑戦してみてください!

Share Me!

前の投稿
AppSheet Automationの使い方(4)「Call a webhook」でLINEに通知
次の投稿
AppSheet Automationの使い方(2)「Create a new file」でファイル作成

関連記事

メニュー