AppSheet で在庫管理アプリ(第6回)発注点アラートメールを送信する

folder_openAppSheet

在庫管理アプリを作りながら、 AppSheet (アップシート)の使い方を学びましょう。
前回(第5回)はFormat Rulesで文字の書式設定をやってみました。
今回は、Automationでワークフローの自動化をやってみます。
商品の在庫量が発注点の数量以下になった時に、自動でアラートメールを送信します。

1. AppSheet Automationでワークフローを自動化する

Automationとは、

  • アプリ上でのデータ変更(追加、更新、削除)
  • スケジュール(毎日定時、毎週○曜、毎月○日)

をトリガとして、決められた手順でワークフローを実行する機能です。

Automationの設定は以下の手順で行います。

  1. Bots(ボット):実行するワークフローを定義します。
  2. Event(イベント):プロセスを実行するトリガを設定します。
  3. Process(プロセス):ステップの実行手順を定義します。
  4. Step(ステップ):実行するタスクやアクションを設定します。

今回のケースでは、以下のようなAutomationを設定します。

2. 「Send an email」でメール送信する

Automationを使用して、発注点アラートメールを送信してみましょう。
在庫管理アプリでは、在庫量が発注点の数量以下になった時にアラートメールを送信します。

Automationを使用したメール送信制限

アプリが「Not deployed」(デプロイしていない、プロトタイプ)の状態の時、すべてのメールはアプリオーナー(自分)に送信されます。任意のアドレスにメール送信するためには、有料プラン契約後、アプリをデプロイ(Deployed)する必要があります。

1. ボットを作成する

はじめに、ボットを作成します。

左側メニュー「Automation」をクリックします。
Botsナビゲーションパネルの「+」ボタン(Create a new bot)をクリックします。

「Create a new bot」ボタンをクリックしてBotを作成します。

Botsナビゲーションパネルに「New Bot」が追加されます。

ボットの名前を付けます。
右端にある3点ドットアイコンをクリックして「Rename」をクリックします。

ボットの名前を「発注点アラートメール送信」に変更します。

2. イベントを設定する

続けて、イベントを設定します。
Automationでは、イベントで設定したトリガが発生した時に、後に続くプロセスを実行します。

「発注点アラートメール送信」ボットは、

  • 入出庫履歴テーブルにデータを追加または更新した時に
  • 商品の在庫量が発注点の数量以下になった時

をイベントトリガにします。

「Configure event」ボタンをクリックします。

Event nameを「入出庫履歴を追加または更新」にします。

エディタ画面右側にある Settings でイベントトリガを設定します。
はじめに、Event TypeとTableを以下のように設定します。

  • Event Type
    • Data Change
    • Adds and updates
  • Table:入出庫履歴

以上で、「入出庫履歴テーブルにデータを追加または更新した時」が設定できました。

イベントトリガに条件を設定します。
今回のケースでは「商品の在庫量が発注点の数量以下になった時」がプロセスを実行する条件になります。

Conditionの入力フィールドをクリックして、Expression Assitantを開きます。

Expression Assitantに以下の式をコピペします。

 

入出庫履歴テーブルの「商品」列のType(データ型)には「Ref」を設定しています。
「商品」(Ref型)列を使用して、商品テーブル(Source table)の「在庫量」と「発注点」の数量を取得して、比較しています。
「在庫量」が「発注点」の数量以下(<=)の時に、プロセスを実行します。

Expression Assitantにコピペして「Save」します。

3. プロセスにステップを追加する

プロセスにメール送信ステップを追加します。
「Add a step」ボタンをクリックして、Stepを追加します。

Step nameを「発注点アラートメール送信」にします。
「Run a task」を選択します。

Settingsで「Send an email」を選択します。
続けて以下のように設定します。

  • Email Type:Custom template
  • Table name:入出庫履歴
  • Email Subject:発注依頼

Toは、アラートメールを受信するメールアドレスを設定します。
アプリが「Not deployed」の時は、すべてのメールはアプリオーナー(自分)に送信されるので、ここでは省略します。

最後に、Email Bodyに以下の式をコピペします。

 

式は、タグを使って列の値を差し込みしています。
[列名]をタグ<<>>で囲むと、列の値が差し込みされます。

以上で、Automationの設定は完了です。
右上の「Save」ボタンをクリックして、設定を保存します。

3. 発注点アラートメールを送信してみる。

発注点アラートメールが送信できるかテストしてみましょう。
Settingsの上にある「Mobile」アイコンをクリックして、プレビューを表示します。

タブメニューで「入出庫履歴」を選択して、「+」(Add)ボタンをクリックします。

商品で「コカ・コーラ 500ml ペットボトル」を選んで、操作内容を「出庫」にします。
サンプルデータでは、

  • 在庫量:10
  • 発注点:5

に設定しています。出庫数量を7にして、「Save」してみましょう。

前回(第5回)で設定したFormat Ruelsにより、商品名と在庫量が赤字になります。

アラートメールが送信されたか確認してみましょう。
「発注依頼」という件名のメールが届いたでしょうか?

メール本文を確認してみましょう。
商品、発注点、在庫量に間違いがないか確認してください。

以上、Automationの「Send an email」タスクを使って、メール送信を自動化しました。
Automationにはメール送信以外にも、ワークフローを自動化するタスクが用意されています。
その他のタスクについては、以下のブログ記事で使い方と活用事例を解説しているので、是非参考にしてください。

次回(第7回)は、CSV形式でテーブルのデータをエクスポートしてみます。

在庫管理アプリでは、商品別の在庫量をVirtual Columnで計算しているので、データソース(Googleスレッドシート)には在庫量が記録されていません。
商品別在庫量を一覧したり、分析したりする場合、CSV形式でエクスポートすると、Virtual Columnを含めることができます。

Share Me!

前の投稿
AppSheet で在庫管理アプリ(第5回)Format Rulesで文字色を変える
次の投稿
AppSheet で在庫管理アプリ(第7回)CSVでデータをエクスポートする

関連記事

メニュー