請求書アプリのユースケースで、 AppSheet Automationのタスク(Task)設定をマスターします。
前回(第2回)は、「Create a new file」タスクを設定して、請求書をExcelで作成してみました。
今回は、「Send an email」タスクを設定して、メール送信をやってみましょう。
「請求書を発行して、メールに添付して送信する」という使い方の場合、「Send an email」で添付ファイルの作成もできるので、ひとつのステップで完了させることができます。
この記事で使用する請求書アプリは、ブログで解説している請求書アプリ(7回シリーズ)です。
ブログを読んでアプリを自作していない場合は、メルマガ購読者特典のサンプルアプリをダウンロードしても大丈夫です。
1. AppSheetの無料プランでは機能制限があるので注意
「Send an email」で任意のアドレスにメール送信するためには、アプリをデプロイ(Deployed)する必要があります。
プロトタイプ(Not Deployed)の状態では、送信したメールはすべてアプリオーナー(アプリ作成者)のアドレスに届くようになっています。
AppSheetエディタでアプリ作成中に、以下のような注意を見たことがあると思います。
アプリをデプロイするためには有料プラン契約が必要になります。
実際に業務で使用する段階になったら、以下のブログ記事を参考にして有料プランについて検討してください。
2. ステップを追加する
「Send an email」の設定を始めましょう。
アプリエディタ左側メニュー「Automation」をクリックします。
Botsナビゲーションパネルで、(第1回)で作成した「Automation」ボットを選択します。
「Add a step」をクリックして、新しいステップを追加します。
ステップの名前をつけます。
「Step name」に「メール送信」と名前をつけました。
ステップを開いて、種類を「Run a task」にします。
エディタ画面右側に Settings ペインが開くので、「Send an email」ボタンをクリックして選択します。
以上、ステップを追加して「Send an email」タスクを設定する準備ができました。
3. Send an emailを設定する
「Send an email」の設定項目について解説しながら設定を進めます。
「Send an email」には2つのEmail Typeがあります。
- Embedded app view:dynamic emailという機能で、Gmail上にアプリのビュー(画面)を表示してデータ変更などの操作ができます。
- Custom template:通常のemailです。
「Embedded app view」はこちらのブログ記事、「AppSheet と Gmail が統合 - dynamic email でできること」でdynamic emailの機能と活用事例について紹介していますので参考にしてください。
今回は、通常タイプの「Custom template」を設定します。
Email Typeで「Custom template」ボタンをクリックして選択します。
はじめに表示される項目について、以下のように設定してみます。
設定項目 | 値 |
---|---|
Table name | タスクを実行するテーブルです。ここでは「請求書」を選択します。 |
To | メール受信者のリストです。「Add」で追加できます。
|
Email Subject | メールの標題です。 テキスト以外に、タグを使って列名や関数を設定することができます。 |
Email Body | メール本文です。 「Email Subject」と同じくタグを使って列名や関数を設定することができます。 |
メール受信者を式で設定する
Toはメール受信者のメールアドレスを式で設定できます。
「請求書」テーブルは、「取引先」(Ref)列から「取引先」テーブルを参照しています。
参照テーブルから必要な値を取得する式の書き方は以下のようになります。
「取引先」テーブルに「メールアドレス」列を追加すれば、以下の式でメールアドレスを設定できます。
- [取引先].[メールアドレス]
ただし、デプロイしていない(プロトタイプ)アプリでは、すべてのメールがアプリオーナー(アプリ作成者)のメールアドレスに送信されるので注意してください。
標題と本文はタグを使える
Email SubjectとEmail Bodyは、タグ(<<>>)を使って書くことができます。
Table nameで設定したテーブル(ここでは「請求書」テーブル)の列の値は以下のように書きます。
<<[ 列名 ]>>
例えば、
- <<[件名]>>
- <<[請求日]>>
- <<[支払期日]>>
のような感じです。
また、Table nameで設定したテーブルから参照しているテーブル(例えば、「取引先」テーブル)の値を取得する場合は以下のように書きます。
<< [ Ref を設定した列名].[参照テーブル内の列名 ] >>
「取引先」情報は、「請求書」テーブルの「取引先」列(Ref)から「取引先」テーブルを参照しているので、
- <<[取引先].[取引先名]>>
と書きます。
例えば、Email SubjectとEmail Bodyを
のように書くと、メールでは以下のように表示されます。
Email Bodyの下に、「Preview email」というボタンがあります。
クリックするとメールのプレビューが表示されて結果を確認できます。
続いて、Other email parametersでは返信先やメール本文のカスタマイズを行います。
はじめのうちは、特に設定する必要はありません。
慣れてきたら必要に応じて設定してください。
設定項目 | 値 |
---|---|
CC | CCのリストです。「To」と同じように設定します。 |
BCC | BCCのリストです。「To」と同じように設定します。 |
Reply To | メールへの返信を受信するメールアドレスです。設定の方法は「To」と同じです。 デフォルトでは、「noreply@appsheet.com」です。 |
Customize "From" name | 「From」の表示をカスタマイズします。 デフォルトでは、アプリオーナーのメールアドレスが使用されます。 |
PreHeader | 受信トレイで表示した時に表示される要約テキストです。タグを使って列名や関数を設定することができます。 |
Email Body Template | メール本文にテンプレートを使うことができます。テンプレートの使い方は、Googleドキュメントを使用したテンプレートと同じです。 |
最後に、Attachment settingsで、添付ファイルの設定を行います。
ここでは、前回(第2回)で使用したExcelのテンプレートを使ってみましょう。
設定項目 | 値 |
---|---|
Attachment Content Type | 添付ファイルのコンテンツタイプを選択します。ここでは「XLSX」を選択しました。 |
Attachment Template | 添付ファイルのテンプレートを指定します。 |
Attachment Name | 添付ファイルの名前です。タグを使って列名や関数を設定することができます。 「Attachment Template」を使用してファイルを作成すると、ここで設定した名前がつきます。 |
Attachment Archive | 添付ファイルの保存設定です。
|
Attachment File Store | 添付ファイルを保存するファイルシステムです。 「Default」のままでよいです。Googleアカウントでログインしている場合は、Googleドライブに保存されます。 |
Attachment Folder Path | 添付ファイルを保存するフォルダを設定します。空欄のままで大丈夫です。 |
Disable Timestamp? | チェックしてONにすると、添付ファイル名にタイムスタンプを追加しません。 |
Other Attachments | 他の添付ファイルを追加します。 |
添付ファイルはテンプレートを使って作成する
メールに添付するファイルを作成できます。
方法は、「Create a new file」と同じでテンプレートを使用します。
Attachment Templateの書類アイコンをクリックします。
Upload fromで「Google Drive Files」を選択します。
前回(第2回)で使用したExcelファイル(請求書テンプレート_Excel_修正版.xlsx)を選択し、「Select」をクリックします。
テンプレートのExcelファイルが読み込まれると、「DocID=1xxxxxxxx」のようにドキュメントIDが表示されます。
ファイル名はタグを使える
Attachment Name(ファイル名)はタグを使って書くことができます。
前回(第2回)の「Create a new file」ではExpression Assistantで設定したので、以下のようになりました。
タグで書く場合は、式で使用する記号が不要です。
Attachment Nameに以下の式をコピペします。
1 |
<<[取引先].[取引先名]>>-<<TEXT([請求日], "yyyymmdd")>>-<<[トリガ]>> |
添付ファイルは保存しないようにできる
Attachment Archiveは添付ファイルの保存設定をします。
請求書ファイルは、前回(第2回)で設定した「請求書発行」タスクで作成したものが「Files」フォルダ内に保存されるようになっています。
なので、「メール送信」タスクでもファイルを保存すると同じファイルが重複します。
ここでは「AttachAndDoNotArchive」にして、「Send an email」で作成した請求書ファイルは保存せずメール添付のみに使用します。
Attachment File StoreとAttachment Folder Pathはデフォルトのままで変更ありません。
Disable Timestamp? はトグルボタンをONにして有効にし、タイムスタンプが追加されないようにします。
添付ファイルがPDFの場合はファイルサイズに関する設定があります。
今回は、XLSX(Excel)なので設定がありません。
設定項目 | 値 |
---|---|
Attachment Page Orientation | Portrait(タテ)かLandscape(ヨコ)か選択します。 |
Attachment Page Size | ページサイズを選択します。 |
Use Custom Margins | デフォルトのままで問題ありません。 |
以上で「Send an email」の設定は完了です。
4. AppSheetからメールを送信してみる
メール送信をテストしてみましょう。
エディタ画面右側のプレビューで、タブメニュー「請求書」を選択します。
作成済みの請求書をひとつ選択します。
「請求書発行」ボタンをクリックするとボットが実行されるので、クリックしてみましょう。
アプリがプロトタイプ(Not Deployed)の場合は、アプリオーナー(アプリ作成者)のメールアドレスにメールが届きます。
無事にメールが届いたでしょうか?
以上、「Send an email」Taskを使って、AppSheetからメール送信をしてみました。
AppSheetを使ったメール送信の用途としては、
- 依頼や完了などの通知、報告
- 見積や請求など一方的に送信する
などに限定した方がよいでしょう。
何度も送受信を繰り返すような連絡に使用する場合は、Gmailなど通常のメールクライアントを使うようにしましょう。
次回(第4回)は、「Call a webhook」タスクを使って、LINEにプッシュ通知してみましょう。
添付ファイルがない短いメッセージなら、メールよりもLINEの方が向いています。
用途に合わせてタスクを使い分ければ、ワークフローの自動化にまた一歩近づけるので、是非挑戦してみてください。