[Send an email] タスクを使用し、イベントに基づいて 1 人以上の受信者にメールを送信する自動 bot を構成します。
たとえば、従業員が新しい椅子を求めるリクエストを送信したら(イベントの発生)、リクエストを実施する前に、その従業員のマネージャーに承認を求めるメールを送信するように bot を構成できます。
bot からメールを送信するには、以下の各セクションで説明するように、メールの種類に基づいて [Send an email] タスクを追加および構成します。
タスク: 基本情報もご覧ください。
メールの種類
現在、次の 2 種類のメールを構成できます。
| メールの種類 | 説明 |
| 埋め込みアプリビュー(動的メール) | 埋め込みアプリビュー メールでは、サポートされているアプリビューをメール内に埋め込むことができるため、Gmail の受信者は、受信トレイのメール内から直接アプリとやり取りできます。埋め込みアプリビュー メールを構成するには、自動化によって埋め込みアプリビュー メールを送信するをご覧ください。 |
| カスタム テンプレート | カスタム テンプレート メールでは、テキスト、HTML、またはアプリデータの変数を使用してメールを構成できます。構成の詳細については、以下の説明をご覧ください。 |
[Send an email] タスクを追加して構成する
以下のステップを実行して、[Send an email] タスクを追加および構成します。
-
bot にタスクを追加するの説明に沿って、bot に [Send an email] タスクを追加します。
-
以下の表で説明されている設定を使用して、[Send an email] タスクを構成します。
-
完了したら、次のいずれかを選択してアプリを保存します。
- Save - アプリを保存します。
- Save & verify data - アプリを保存し、外部依存関係に基づいてアプリが実行可能であるかどうかを確認します。
-
メールをプレビューするには、[Preview email] をクリックします。
デフォルトでは、テーブルの最初のレコードが表示されます。最新の変更内容をプレビューするには、アプリを保存する必要があります。
アプリを保存すると、他の bot でタスクを再利用できるようになります。
次の表で説明されている設定を使用して、[Send an email] タスクを構成します。
|
設定 |
説明 |
| Linking | [Linking] パネルを開き、[Linking] 設定を切り替えて、このコンポーネントの再利用を有効または無効にします。自動化コンポーネントを再利用するをご覧ください。 |
|
Task name |
タスクの名前。アプリ内で一意である必要があります。 |
| Email Type |
メールの種類。[Custom template] をクリックします。 注: 埋め込みアプリビュー メールを構成するには、自動化によって埋め込みアプリビュー メールを送信するをご覧ください。 |
|
Table name |
イベント内で定義され、このタスクで使用されるテーブル。 選択したテーブルの構造を表示または編集するには、フィールドにカーソルを置いて 注: イベントとは異なるテーブルを使用するには、Call a process のステップを追加します。 |
|
To |
メール受信者のリスト。デフォルトでは、アプリ所有者のメールアドレスが使用されます。 メールアドレスを入力するか、Expression Assistant を使用して式を入力します。メール受信者を追加するには、[Add] をクリックします。 詳しくは、メール受信者を追加するをご覧ください。 注: 無料アカウントで AppSheet を使用する場合、メールはアプリ所有者のメールアドレスにのみ送信できます。 |
|
Email Subject |
メールの件名。
デフォルトでは、意味のあるメールの件名が提案されます。 |
|
Email Body |
メールの本文。 メールの本文を定義するには、次のいずれかを行います。
注: この設定よりも [Email Body Template] の設定のほうが優先されます(指定した場合)。 デフォルトでは、 |
その他のメール パラメータ
[Advanced] 設定を開き、以下の説明のようにカスタマイズします。
|
設定 |
説明 |
|
CC |
カーボンコピー(CC)として送信するメール受信者のリスト。 [Add] をクリックしてメールアドレスを追加するか、Expression Assistant を使用して式を追加します。さらにメール受信者を追加する場合は、この作業を繰り返します。詳細については、メール受信者を追加するをご覧ください。 |
|
BCC |
ブラインド カーボンコピー(BCC)として送信するメール受信者のリスト。 [Add] をクリックしてメールアドレスを追加するか、Expression Assistant を使用して式を追加します。さらにメール受信者を追加する場合は、この作業を繰り返します。詳細については、メール受信者を追加するをご覧ください。 |
|
Reply To |
メールに対する返信を受信するメールアドレス。 メールアドレスを入力するか、Expression Assistant を使用して式を入力します。詳細については、メール受信者を追加するをご覧ください。 デフォルトでは、 |
| Customize "From" name | メールの From フィールドに表示されるメールアドレスをカスタマイズします。デフォルトでは、アプリケーション作成者が使用されます(appcreator@gmail.com など)。 |
|
PreHeader |
受信トレイで表示したときに、件名に続けて表示されるメールのプレヘッダー概要テキスト。
PreHeader が表示されないようにするには、スペース 1 文字を入力します。 デフォルトでは、次のようになります。
次に例を示します。 注: アプリケーションで認証が必要とされない場合、 組み込み変数もご覧ください。 |
|
Email Body Template |
メール本文をきめ細やかに制御するために使用するテンプレート。bot でテンプレートを使用するおよび Email Body の説明(上記)をご覧ください。 |
添付ファイルの設定
[Attachment settings] 設定を開き、以下の説明のようにカスタマイズします。
|
設定 |
説明 |
|
Attachment Content Type |
メール添付ファイルのコンテンツの種類。 有効なコンテンツの種類は、以下のとおりです。
デフォルトでは、メール添付ファイルとして最も多く使われている PDF になります。 |
|
Attachment Template |
メール添付ファイルをきめ細やかに制御するために使用するテンプレート。詳細については、bot でテンプレートを使用するおよびメール添付ファイルをアーカイブするをご覧ください。 |
|
Attachment Name |
添付ファイルの名前。
詳細については、メール添付ファイルをアーカイブするおよびアーカイブの添付ファイル名の構成をご覧ください。 |
|
Attachment Archive |
添付ファイルのアーカイブの構成。 有効な値は次のとおりです。
詳細については、メール添付ファイルをアーカイブするをご覧ください。 |
|
Attachment File Store |
添付ファイルを保存するファイル システム。 [Default](デフォルト設定)に設定すると、添付ファイルは認証プロバイダのファイル システムにアーカイブされます。たとえば、認証プロバイダとして Google を使用している場合、添付ファイルは Google ドライブにアーカイブされます。認証プロバイダが Dropbox の場合、添付ファイルは Dropbox にアーカイブされます。 注:
詳細については、メール添付ファイルをアーカイブするをご覧ください。 |
|
Attachment Folder Path |
添付ファイルが保存されるフォルダのパス(デフォルトのアプリケーション フォルダに対する相対パス)。 テキストと式を指定します。次に例を示します。
2 番目の例では、メール添付ファイルが月別に個別のフォルダに保存されます。例: デフォルトでは 詳細については、メール添付ファイルをアーカイブするおよびアーカイブの添付フォルダ名の構成をご覧ください。 |
|
Disable Timestamp? |
添付ファイル名にタイムスタンプを付加するかどうかを切り替えます。タイムスタンプを付加することで、ファイル名が一意になります。 タイムスタンプには、添付ファイルが作成された日付と時刻が含まれ、年、月、日、時、分、秒、ミリ秒を示す yyyyMMdd_HHmmss_fff という形式になります。次に例を示します。
タイムスタンプを無効にする場合は、添付ファイル名がすべて一意であることを確認してください。一意でない場合は、添付ファイルが上書きされる可能性があります。たとえば、添付ファイルを Google ドライブにアーカイブする場合、タイムスタンプを無効にすると、最新の添付ファイルしか利用できなくなります。同じ名前を持つ古い添付ファイルは上書きされます。 デフォルトでは無効(タイムスタンプが付加される)になっています。 詳細については、メール添付ファイルをアーカイブするをご覧ください。 |
|
Attachment Page Orientation |
添付ファイルのページの向き。有効な値は、[Portrait] と [Landscape] です。 注: この設定は、[Attachment Content Type] を [PDF] に設定している場合のみ使用できます。 |
|
Attachment Page Size |
ページサイズ。標準サイズを選択するか、[Custom] を選択して [Attachment Page Width] と [Attachment Page Height] をミリメートル単位で入力します。 注: この設定は、[Attachment Content Type] を [PDF] に設定している場合のみ使用できます。 |
|
Use Custom Margins |
添付ファイルに、カスタムのページ余白を指定するかどうかを切り替えます。 無効にすると、デフォルトの余白が使用されます。有効にした場合は、以下で説明するように、表示される追加設定を使用して余白をカスタマイズします。 注: この設定は、[Attachment Content Type] を [PDF] に設定している場合のみ使用できます。 デフォルトでは無効にされています。 |
|
Other Attachments |
図形描画、画像、署名、サムネイル、ファイルなど、その他の添付ファイル。 メールにその他の添付ファイルを追加するには、[Add] をクリックします。テキストまたは式を指定します。添付ファイルをさらに追加する場合は、この手順を繰り返します。 詳細については、メールにその他の添付ファイルを追加するをご覧ください。 |
[Use Custom Margins] を有効にした場合は、以下で説明するように、表示される追加設定を使用して添付ファイルのページ余白をカスタマイズします。
|
設定 |
説明 |
デフォルト(該当する場合) |
|
Attachment Page Margin Top |
添付ファイルの上部余白(ポイント単位)。 |
0 |
|
Attachment Page Margin Right |
添付ファイルの右側余白(ポイント単位)。 |
0 |
|
Attachment Page Margin Bottom |
添付ファイルの下部余白(ポイント単位)。 |
0 |
|
Attachment Page Margin Left |
添付ファイルの左側余白(ポイント単位)。 |
0 |
Advanced
[Advanced] 設定を開き、以下の説明のようにカスタマイズします。
|
設定 |
説明 |
|
Inputs |
タスクを動的に構成する入力値を追加します。詳細については、タスクで動的に入力値を設定するをご覧ください。
現在の手順から入力値にアクセスするには、次の式を使用します: |
メール受信者を追加する
OutgoingEmailAllowListViolations エラーが表示されている場合、所属するチームの管理者が送信メールの受信者リストに制限をかけているか、外部の宛先へのメール送信がポリシーによって禁止されています(AppSheet Core のセキュリティを設定するに説明があります)。この問題に対処するには、所属するチームの管理者に受信者リストの制限を調整してもらうか、Workspace 管理者に AppSheet Core のセキュリティ設定の無効化を依頼してください。上記で説明されているようにメールを構成する場合に、[To]、[CC]、[BCC] にメール受信者を追加するガイドラインは以下のとおりです。
-
特定のメールアドレスを入力する(
JohnHughes@gmail.comなど)。
メールアドレスにハイフンやプラスなどの特殊文字が含まれている場合は、メールアドレスを引用符で囲む必要があります。例:"John-L-Hughes@gmail.com" -
変更されるレコードのフィールドを使用する。
たとえば、新しい注文を受けたときに、注文を作成したお客様にメールを送信できます。このシナリオでは、お客様のメールアドレスが格納されているフィールドの名前を入力します。たとえば、注文レコードのCustomerEmailフィールドにお客様のメールアドレスが格納されている場合は、次の式を入力します:[CustomerEmail] -
変更されるレコードによって参照されるレコードのフィールドを使用する。
たとえば、新しい注文を受けたときに、注文を作成したお客様にメールを送信できます。各注文レコードには、お客様のメールアドレスを含む顧客レコードへの参照が含まれている場合があります。このシナリオでは、顧客レコードを参照する注文レコードのフィールド名に続けて、お客様のメールアドレスを含む顧客レコードのフィールド名を入力します。たとえば、顧客レコードを参照する注文レコードのフィールドがCustRefで、お客様のメールアドレスを含む顧客レコードのフィールド名がCustEmailの場合、次の式を入力してお客様のメールアドレスを指定します:[CustRef].[CustEmail] -
別のテーブルの列全体を使用する。
たとえば、新しい注文が追加されるたびに、別のテーブルで定義されているすべての人にメールを送信できます。このシナリオでは、テーブル名に続けて、メールアドレスが格納されているフィールドを入力します。たとえば、NameとEmailAddressという 2 つの列を含むPeopleToInformというテーブルを作成した場合は、次の式を入力することで、新しい注文が追加されるたびにPeopleToInformテーブル内のすべての人にメールを送信できます:PeopleToInform[EmailAddress] -
別のテーブルの選択した行を使用する。
たとえば、新しい注文が追加されるたびに、営業部門のすべての人にメールを送信できます。このシナリオでは、テーブル名に続けてメールアドレスが格納されているフィールドを入力し、Department フィールドを Sales に設定します。たとえば、Name、EmailAddress、Departmentの 3 つの列を含むPeopleToInformというテーブルを作成した場合、次の式を入力することで、新しい注文が追加されるたびにPeopleToInformテーブル内のSales部門に属するすべての人にメールを送信できます:SELECT(PeopleToInform[EmailAddress], ([Department] = "Sales"), TRUE)
注: アプリがテストモードの場合(つまり、デプロイ チェックを実施せずにアプリをデプロイした場合)、メッセージはアプリケーション作成者のみに送信されます。[To]、[CC]、[BCC] に含まれているメール受信者のリストを確認するには、メールが配信されたかどうかを確認するにはどうすればよいですか?で説明されているように、Audit History を確認します。
自動化によるメール送信の例
ここでは、自動化によってメールを送信する例を紹介します。
行の特定の列の値が更新されたときにメールを送信する
行が更新され、特定の列の値が更新されたときにメールを送信するワークフロー ルールを作成できます。たとえば、ServiceRequests 行の Status 列が更新され、Active という値が設定されたときにメールを送信できます。
AND(
("Active" = [_THISROW_AFTER].[Status]),
([_THISROW_AFTER].[Status] <> [_THISROW_BEFORE].[Status])
)
この式では、[_THISROW_BEFORE] と [_THISROW_AFTER] が使われていることに注目してください。これらはシステムが提供する参照であり、それぞれ変更前と変更後の行の状態を参照します。これは、フィールドの値がある値から別の値に変更されたかどうかをチェックするのに非常に便利です。
[_THISROW_BEFORE] と [_THISROW_AFTER] は参照であるため、参照先の行の特定の列の値にアクセスするには、逆参照式を使用します。
親レコードとその子レコードをすべて追加してからメールを送信する
親レコードと 1 つ以上の子レコードを追加すると、AppSheet はまず親レコードを追加してから、各子レコードを追加します。そのため、すべての子レコードが追加されてから自動化イベントをトリガーするのが難しくなる場合があります。
以下の手法を使用することで、確実にすべての親レコードと子レコードが追加されてからイベントをトリガーできます。この手法では Form Saved イベントを使用してデータ変更アクションをトリガーします。これにより、子レコードが追加された後にのみイベントがトリガーされます。
次のことを行います。
-
子テーブルには、親テーブルに対する
Refフィールドが必要です。RefフィールドのIs a part of?プロパティを有効にします。これにより、親レコードが追加されたときに子レコードを追加できるようになります。 -
親テーブルに
Textフィールドを追加します。このフィールドを Status という名前にして、そのInitial valueプロパティを""(空白)に設定します。Status列は、データ変更イベントがトリガーするかどうかを制御します。 -
Status列の値を"Run"に設定する、親テーブルに対するデータ変更アクションを作成します。 -
Status列の値を""(空白)に設定する、親テーブルに対する別のデータ変更アクションを作成します。 -
上記 2 つのデータ変更アクションを呼び出す、親テーブルに対する複合アクションを作成します。この複合アクションは、最初のデータ変更アクション(
Status列の値を"Run"に設定する)と、2 番目のデータ変更アクション(Status列の値を空白に設定する)を呼び出します。これら 2 つのデータ変更アクションは、個別の更新としてサーバーに送信されます。最初の更新では自動化イベントがトリガーされますが、それ以降の更新による自動化イベントのトリガーは、2 番目の更新によって防がれます。 -
[UX] > [Views] タブに移動します。[Show system views] をクリックします。親テーブルのフォームを選択します。[Behavior] を開きます。[Event Actions] を見つけ、その [
Form Saved] プロパティを前のステップで作成した複合アクションに設定します。 -
データ変更イベントを [Updates only] に設定します。また、
Conditionプロパティを次のように設定します:[Status] = "Run"
アプリ作成者が自動的にメールに添付ファイルを追加できないようにする
以下で説明するように、[Restrict Automation Email Attachments] ポリシーを使用して、アプリ作成者が自動的にメールに添付ファイルを追加できないようにします。詳しくは、ガバナンス ポリシーを定義するをご覧ください。
アプリ作成者が自動的にメールに添付ファイルを追加できないようにするには:
- [My account] > [Policies] を選択します。
- [+ Account Policy] または [+ Team Policy] をクリックして、アカウントまたはチームのポリシーを追加します。
- [Policy Template] プルダウンから、[Restrict Automation Email Attachments] を選択します。
- [Next] をクリックします。
- このポリシーは事前構成されています。任意のフィールド値を変更できます。各フィールドの説明については、事前定義ポリシーを追加するをご覧ください。
重要: [Condition] フィールドを変更する場合は、以下に示す機能を維持してください:
AND(ISBLANK([AttachmentTemplate]), ISBLANK([OtherAttachmentList])) - [Save] をクリックします。