AppSheetではAutomationで自動化処理を作成します。
AppSheetはほかのノーコードツールに比べれば自動化の設定が簡単だそうです。
それでも自分にはわからないところが多数あり、いろいろなパターンを試してようやく使い方をマスターできました。
そこで、同じくよくわからないという人向けにAutomationの設定方法を紹介したいと思います。
ぜひ参考にしてみてください。
本記事の内容
1.Automationでできることは基本10種類
2.Automationの構成要素を整理して解説
3.それぞれの設定方法を画像付きで説明
Automationの使い方がわからない人向けの記事です。
そもそもAutomationって何だろう
AppSheet のAutomationとは、イベントをトリガーとしてプロセスに応じたタスクなどを実行するボット作業の自動化設定のことです。
Automationを駆使すれば自分の設定した条件で特定の動作を自動で実行できるようになります。
私は簡易的なRPA(Robotic Process Automation)のようなものだと理解しています。
Automationでできること
オートーメーションでできることは「タスク」タブにあるタスクカテゴリーと「アクション」タブにあるデータカテゴリーのアクションです。
タスクカテゴリーをみるには、 「Automation」メニューから「Tasks」タブに移動して「New Task」を押します。

このタスクカテゴリにある5つの作業は自動でできる処理です。(2021/12 現在)
あとはアクションのデータカテゴリの5つの作業も自動化できます。
自動化一覧
タスク
「Send an email」:メールを送る
「Send a notification」 :通知を送信する
「Send an SMS」:SMSを送信する
「Call a webhook」:外部のWEBサイトにデータ送信する
「Create a new file」:更新レコードをファイルにして出力する
アクション
「Add new rows」:新しい行を追加する
「Delete row」:行を削除する
「Set row Values」:行の値を設定する
「Run action on rows」:行に対してアクションを実行する
「Grouped actions」:アクションをグループ化する
AppSheet は随時アップデートされるので今後に期待です。

AutomationのActionとBehaviorのActionの違いは何ですか?
自動か手動かの違いが大きいですね。

Behaviorは何かのアイコンを押すと指定の動作が開始しますが、Automationは何かの動作をトリガーにして自動処理します。


じゃあすべてAutomationにしたほうが便利だね。
そしたらパンダくんも必要じゃなくなるかな。。。


機械に負けるなんて~
ほかの条件も含めて人が意思決定することはなくならないから大丈夫だよ。

場合分けが困難な一時処理:BehaviorのAction
規定ルールでの継続処理:AutomationのAction
場合に応じて使い分けてください。
Behaviorのアクションで設定できる作業は 「Run action on rows」を使えば 自動化できるものもあると思うんですが試していません。
Automationにある4つの構成
Automationはボット、イベント、プロセス、タスク/アクションの4つの構成で成り立っています。
4つの構成内容は次のとおりです。
構 成 | 内 容 |
---|---|
ボット | イベント、プロセスを組み合わせてアプリ内のやりとりを自動化して処理を行うこと |
イベント | ボットが作動する条件トリガーのこと |
プロセス | 分岐条件やタスク実行する手順構成のこと |
タスク/アクション | 実行する具体的な作業のこと |
プロセス内でステップを組み合わせた手順をイベントで発動する自動処理が一つのボットになっています。
ボット内にプロセスを複数セットできるので、複数条件を設定して異なる処理を行うことが可能です。
Automationの設定手順
Automationの設定は次のとおりです。
1.botの名前をつけてbotを作成する。
2.「データ変更」か「スケジュール」を条件にイベントを設定する。
3.発動させるタスクなど必要なステップを作成してプロセスで手順を設定する。
4.デプロイしてbotの動作をアプリで確認する。
グーグル公式サイトにもAutomationの手順が記載されています。
公式サイトへはこちらから移動してください。
ボットの動作をアプリで確認するには有料化(スターター)が必要です。
それぞれの設定方法について一つずつみていきましょう。
ボット(bot)の設定はどうするのか
botとは自動化されたタスクの実行処理の”総称”なので、bot作成時点では中身がありません。
この段階では自動処理に作業名をつけてフォルダを作成するイメージだと考えてください。
まず、botの設定は「Automation」メニューから「bots(ボット)」タブに移動して「+New bot(追加)」を押すと設定画面が開きます。

ここでダイヤログボックスに作成するbotの名前を入れます。
bot名によってSUGGEDTIONSに提案が出ますが、適当なものがなければ下の「Create a custom bot」を選択してください。
この設定で自動化を設定するためのハコができました。
SUGGESTIONSで提案を選んだほうがイベントやプロセスがいったん自動で設定されるので”編集が楽”というだけです。
よくわからないうちは 「Create a custom bot」 から始めたほうがミスが少ないと思います。
botの名前の付け方がわからない場合、次のルールを基本にするとあとで間違いにくくなります。
(トリガー)+(タスク) (&分岐あれば入れる)
例:ステータスが完了した時にユーザーにメールを送信 など
自動化できるタスク処理名( ”Send an email” など)を使って名前に入れると”SUGGESTIONS”の精度があがります。
慣れてきたら試してみてください。
イベント(Events)の設定はどうするのか
bot作成ができたら次はEventを作成します。
Eventとはプロセスを実行する発動条件のことです。
発動条件はデータ変更による発動とスケジュールの日程による発動の2種類から選べます。

まず「Configure Event(イベントを構成する)」を押してイベント名を入力します。
イベント名を入力すると画面右側にイベント設定が開きます。

この設定画面でも設定できますし、「イベント」タブのイベント名をクリックしても同じ設定ができるようになっています。
データ変更を発動条件にする場合
イベントタイプから「データ変更」か「スケジュール」タブを選ぶことで設定画面が変わります。

データ変更を発動条件にする場合、「 Date change(データ変更)」タブを開いてタイプを選択します。
データ変更による発動条件は次の7種類です。
すべての変更
追加のみ
追加と更新
追加と削除
削除のみ
更新と削除
更新のみ
発動条件に合ったタイプを選択してください。
あとは「Table」にデータ変更されるテーブルを指定すればEvent設定は完了です。
もし発動の前提となる条件があれば「Condition」に条件を入れてください。
スケジュールを発動条件にする場合

スケジュールを発動の条件にする場合、 「Schedule(スケジュール)」タブを開いてスケジュールタイプを選択します。
スケジュールのタイプは次の4種類です。
毎日:時間指定
毎週:曜日指定、時間指定
毎月:日にち指定、時間指定
毎月(週ごと) :週指定、曜日指定、時間指定
ここから発動条件に合ったタイプを選択してください。
テーブルを指定する場合、「ForEachRowInTable(テーブルの各行)」をオンにして、「Table」に指定テーブルを選択します。
テーブルのどの行かを指定する場合、「Filter Condition(フィルター条件)」に条件を入力してください。
イベントタイプのタブを切り替えると入力データが初期値になるので注意
プロセス(process)の設定はどうするのか
Event作成ができたら次はprocessの作成を行います。
Processは分岐条件やタスク実行する手順の構成のことです。
なのでプロセスで自動処理の順番を考えながら、ステップで動作内容を設定していきます。
そのステップがタスク、アクションの実行、分岐や待機など一つひとつ分かれています。
慣れていないとステップの違いによってそれぞれの設定が異なるので混乱するかもしれません。
Processではいろいろなステップを組み合わせて手順を作る作業だと理解してください。
プロセスで手順を設定しないと想定どおりに動かなくなります。
例:メール送信してからファイル作成してもファイルは送信されない など
ステップって何?
ステップとはプロセス内での”一つの”実行内容のことです。
『一つの』というのがポイントで、実行単位を最小限にして一つ一つ作成する必要があります。
そして、それを手順として組みあわせているのがプロセスです。
ステップのタイプには次の6つがあります。
ステップを組み合わせることで異なる内容を条件に応じて発動させることができます。
ステップのタイプ
Run a task:タスクを実行する
Run a date action:アクションを実行する
Branch on a condition:条件分岐を設定する
Wait:待機する
Call a process:プロセスを呼び出す
Return values:特定の値を返す
それではステップの設定についてみていきましょう。
ステップをボットから作成するには、プロセス設定後に青丸で+のアイコンをクリックします。

するとステップ名を入力する画面が表示されるので、ステップ名を入力して「カスタムステップを作成する」をクリックします。
提案内容が実行内容と同じであれば、提案をクリックすると設定が簡略されます。
これでステップ名の下にある▼ボタンを押してタスクのタイプを選択します。

この段階では実施したい内容が入っていないので、それぞれのステップタイプを選択して設定を入力していきます。
タスクを実行させたい
タスクを実行したい場合の選択肢は「Run a task(タスクを実行する)」です。
下の▼ボタンを押すと選択肢が表示されます。
希望の内容がなければ「Create new task(新しいタスクを作成する)」を選択しましょう。

タスク内容を選ぶと右側の詳細設定にタスクが表示されます。
選択肢を選ぶと新しいタスクができます。
不要なタスクを作成したら削除するようにしましょう。
タスク設定はそれぞれタイプで異なるので次の章で説明します。
アクションを実行したい
アクションを実行したい場合の選択肢は「 Run a date action(アクションを実行する)」です。
下の▼ボタンを押すと選択肢が表示されます。
希望の内容がなければ「Create new action(新しいアクションを作成する)」を選択しましょう。

そこで選択できるアクションは次の5つです。
それぞれの用途に合わせて選んでください。
「Add new rows」:新しい行を追加する
「Delete row」:行を削除する
「Set row Values」:行の値を設定する
「Run action on rows」:行に対してアクションを実行する
「Grouped actions」:アクションをグループ化する
「Add new rows」の設定方法

①アクション名を入力(内容がわかる名前を推奨)
②アクションタイプで「Add new rows(新しい行を追加する)」を選択
③行を追加するテーブルを選択
④カラムを選んで式を入力
指定テーブル行が追加されます。
「Delete row」の設定方法

①アクション名を入力(内容がわかる名前を推奨)
②アクションタイプで「Add new rows(新しい行を追加する)」を選択
現在の行が削除されます。
「Set row Values」の設定方法

①アクション名を入力(内容がわかる名前を推奨)
②アクションタイプで「 Set row Values ( 列の値を設定する )」を選択
③対象となるカラムの条件式を入力
特定の列の値を設定します。
「Run action on rows」 の設定方法

①アクション名を入力(内容がわかる名前を推奨)
②アクションタイプで「 Run action on rows ( 行に対してアクションを実行する )」を選択
③対象となるテーブルを選択
④参照する行の条件式を入力
⑤実行するアクションを選択
選択したテーブルの複数行に対して選択したアクションを実行します。
「Grouped actions」 の設定方法

①アクション名を入力(内容がわかる名前を推奨)
②アクションタイプで「 Grouped actions ( グループ化されたアクションを実行する )」を選択
③対象となるアクションを追加・選択
追加選択した複数アクションが実行されます。
条件分岐を作りたい
プロセスで分岐条件を設定したい場合は「 Branch on a condition(条件付きで分岐)」を選択します。

「Branch on a condition」を選択すると、下にIF文の条件式を入力するセルが表示されるので、 イコール(=)以降に分岐条件の式を入力します。
画面の場合、『Tier 1 Review』のカラムが ”approved(承認済)” であればレビュアーに通知し、違う場合はさらに条件を分岐する設定になっています。
[Tier 1 Review]="Approved"
tier1 reviewカラムが”approved(承認済)”である
条件分岐は、APPSHEETのテンプレート『Tiered Approvals』で実際の設定や動作を確認するとよくわかると思います。
参考にしてみてください。
特定条件で待機させたい
プロセスで条件待機を設定したい場合は「 Wait(待機)」を選択します。

「Wait」を選択すると下に条件を入力するセルが表示されます。
「Wait for」の待機条件には、「A condition(状態を待つ)」か「A period of time(しばらく待つ)」の2種類あります。
状態などによって待機させたい場合と時間によって待機させたい場合で選んでください。
「A condition」を選択した場合
①IF条件でTrueとなる式を入力
②タイムアウト設定が必要な場合、 「Custom timeout」をオンにして「Period」に時間を入力(例:"000:10:00"など)
「A period of time」を選択した場合
①待機期間を指定する式を入力
※最短期間は5分、最長期間は30日
この設定をすることで条件に合致する場合にはそれ以降のステップが実行されないようになります。
プロセスを呼び出したい
同じアプリで設定した別のプロセスを実行したい場合は「 Call a process(プロセスを呼び出す)」を選択します。

「Call a process」を選択すると下にプロセスを選択するセルが表示されるので、同じアプリで設定した別のプロセスを選択します。
すると「Add」か「Lookup」がラジオボタンで表示されます。
「Add」は行の追加/更新、「Lookup」は行の取得です。
いずれかを選択し、選択プロセスのテーブルに対してどのカラムがどういう条件の場合に適応されるかを入力します。
これで別プロセスを呼び出して入力処理の設定が完了です。
特定の値を返したい
特定の値を返したい場合は「Return values(戻り値)」を選択します。

このステップは 「Call a process」 で呼び出すプロセス(=子プロセス)からアクセスして子プロセスの値を参照するようになっています。
このステップの後にステップを入れるとエラーの温床になるので、通常はステップの最後に設定されます。
Processの設定が理解できれば、発動ルールはかなり自由に設定できるようになりますよ。
タスク(Task)の設定はどうするのか
ステップで 「Run a task(タスクを実行する)」 を選んだ場合に実行するタスクの設定方法について説明していきます。
botからタスク設定するまでの操作はプロセスの設定で説明したとおりです。
タスク単独を先に作成したい場合、「Automation」メニューの「task」タブを開いて追加ボタンを押してください。
まずタスクとして設定できる作業は次のとおりです。
タスク一覧
「Send an email」:メールを送る
「Send a notification」 :通知を送信する
「Send an SMS」:SMSを送信する
「Call a webhook」:外部のWEBサイトにデータ送信する
「Create a new file」:更新レコードをファイルにして出力する
それぞれの設定方法についてみていきましょう。
「Send an email」の設定方法
まずは 「Send an email(メールを送る)」の設定方法 についてです。

設定方法
①タスクカテゴリで「 Send an email (メールを送る)」を選択
②タスク名を入力 (分岐条件などを明記して単一でわかる名称を推奨)
③条件を指定したいテーブルを選択
④チャネル経由を選択(通常はデフォルトでOK)
⑤Toにメール送信先のリスト条件を入力
⑥デフォルトのコンテンツを使用するか、メール内容などをカスタマイズするかを選択
「UX」メニューの「option」タブにある「Preview new features」をオンにすると、AMPを利用して動的メール(gmail内でアプリを直接操作)を作成できるそうです。
(公式サイトの情報です。実際に試したことはありません)
メール内容などをカスタマイズする場合、「Use default content?」をオフにします。
すると、件名や本文などを入力するセルが追加で表示されます。

メールコンテンツはフッダーなど細かい設定が可能です。
ここでは必須の項目について設定方法を紹介します。
メール設定方法
①Email Subject(メール件名):メールの件名を入力します。
例) <<[CustomerName]>>様へのご案内
②Email Body(メール本文):メール本文を入力します。
例) <<TODAY()>>から<<TODAY() + 7>>までにご返信ください。
③Reply To(に返信):メールへの返信を受け取るメールアドレス
④From Display(ディスプレイから):メールの送信元として表示されるテキスト、変数、式
例) <<CONCATENATE([FirstName], "_", [LastName],"@test.com")>>
自動メールは連絡漏れを自動的に防止できるのでマストな設定です。
添付ファイル(CSV、HTML、ICS_Calendar、JSON、PDF、XLSX(Microsoft Excel)、XML)も入れられるようになっています。
詳しい内容がAPPSHEET公式サイトにあるので参考にしてみてください。
「Send a notification」 の設定方法
続いては 「Send a notification(通知を送信する)」 の設定方法 です。

設定方法
①タスクカテゴリで「 Send a notification」 (通知を送信する) 選択
②タスク名を入力 (分岐条件などを明記して単一でわかる名称を推奨)
③条件を指定したいテーブルを選択
④Toに通知送信先のリスト条件を入力
⑤デフォルトのコンテンツを使用するか、メール内容などをカスタマイズするかを選択
通知内容などをカスタマイズする場合、「Use default content?」をオフにします。
すると、件名や本文などを入力するセルが追加で表示されます。

通知設定方法
①Title(タイトル):メッセージのタイトル
例) <<[CustomerName]>>様へのご案内
②Body(体):メッセージの本文
例) 価格は <<[Quantity] * [Price]>>になります。
③DeepLink(ディープリンク):AppSheetアプリケーションへのディープリンク
リンクまたは式を入力
「Send an SMS」の設定方法
続いては 「Send an SMS(SMSを送信する)」 の設定方法 です。

設定方法
①タスクカテゴリで 「Send an SMS(SMSを送信する)」 を選択
②タスク名を入力 (分岐条件などを明記して単一でわかる名称を推奨)
③条件を指定したいテーブルを選択
④ チャネル経由を選択(通常はデフォルトでOK)
⑤デフォルトのコンテンツを使用するか、メール内容などをカスタマイズするかを選択
通知内容などをカスタマイズする場合、「Use default content?」をオフにします。
すると、件名や本文などを入力するセルが追加で表示されます。

SMS設定方法
①Body(体):SMSの本文
テキスト、変数、式などをSMS本文として入力。空白にするとボディテンプレートが採用される。
②Body template(ボディテンプレート):基本はBodyと同様
③Body Template Data Source( ボディテンプレートデータソース ):ボディテンプレートに使用されるデータソース
④Media URLs(メディアのURL):SMSに添付されるメディアファイルのURLリスト
「Call a webhook」の設定方法
続いては 「Call a webhook(Webフック※)」の設定方法です。
※Webフックとは「ユーザー定義のHTTPコールバック」である。by wiki
Webフックの設定では「Preset」によって入力方法が異なります。
「Preset」の選択肢は「カスタム」、「slack Hook」、「AppSheet API」の3つです。
それぞれの設定方法をみてみましょう。

「slack Hook」 設定方法
①タスク名を入力 (分岐条件などを明記して単一でわかる名称を推奨)
②条件を指定したいテーブルを選択
③「slack Hook」を選択
④URLにSlackWebhookの値を入力
⑤BodyにHTTPリクエスト本文を入力
例) {"text": "Your message from <<_APPNAME>> goes here."}
「 AppSheet API 」 設定方法
①タスク名を入力 (分岐条件などを明記して単一でわかる名称を推奨)
②条件を指定したいテーブルを選択
③「AppSheet API 」を選択
④アプリIDにAPPSHEETのIDを入力
例) https://api.appsheet.com/api/v2/apps/{appId}/tables/{tableName}/Action
⑤BodyにHTTPリクエスト本文を入力
例)
{
"Action": "Edit",
"Properties": {
"Locale": "en-US",
"Location": "11.111111, -111.111111",
"Timezone": "Pacific Standard Time"
},
"Rows": []
}
「カスタム」は使ったことがなかったので公式サイトを参考にしてみてください。
「Create a new file」の設定方法
最後に「Create a new file(新しいファイルを作成する)」 の設定方法です。
タスクの利用度ではメール送信と同じくらい活用するものだと思います。

設定方法
①タスクカテゴリで「Create a new file」を選択
②タスク名を入力 (分岐条件などを明記して単一でわかる名称を推奨)
③条件を指定したいテーブルを選択
④コンテンツタイプを選択
⑤テンプレートに作成したフォーマットファイルをセット
⑥ファイルフォルダパスにフォルダを指定
例) ”/フォルダ名/”
⑦ファイル名プレフィックスにファイル名が一意になるよう式を入力
例) CONCATENATE([ID].[name],[number])
⑧添付ファイルのページサイズを設定
まとめ
AppSheetのAutomationの使い方を構成ごとに説明していきました。
Automationは設定箇所が多いので設定ミスでエラーを起こしやすいです。
ただ、一つひとつを分けて考えるとわかりやすくなるかなと思います。
システム導入の効果はどれだけ生産性を上げて処理速度を短縮できるかにかかっています。
AppSheetを利用するうえでAutomationの設計はシステムの成否につながるので、基本の知識とできることを理解して取り込んでいきましょう。
あなたのアプリがうまくいくことを祈念します。
それでは、また。