ここでは、bot の概要と管理方法について説明します。
- bot とは
- bot の管理について
- bot を追加する
- bot を構成する
- bot のアイコンを設定する
- bot の名前を変更する
- bot にコメントを追加する
- bot をコピーする
- bot をモニタリングする
- bot をテストする
- スケジュール設定されたイベントを使用して bot を実行する
- bot を有効または無効にする
- bot を削除する
自動化をモニタリングするもご覧ください。
bot とは
bot では AppSheet で実行する自動化を定義します。
何かが起こったとき(イベント)に一連のアクティビティを実行します(各アクティビティはタスクであり、一連のタスクがプロセスです)。
bot はさまざまな機能を実行できます。以下の例をご参照ください。
- (プレビュー)AI を使用して、画像やファイルから情報を抽出したり、情報を分類したりする
- レコードの変更に関するメール、SMS メッセージ、通知を作成して送信する。
- 変更されたレコードをさらに更新する。
- 変更されたレコードの親レコードを更新する。
- 変更されたレコードに属する子レコードを追加、更新、削除する。
- Webhook を呼び出して、外部のウェブサービスを呼び出す。
bot がトリガーされた後は、どのテーブルでも動作するようになり、ほぼすべての処理を行えるため、他にもさまざまな機能を実行できます。bot を有効にすると、アプリを直接使用していないときでもバックグラウンドで実行され、イベントをリッスンしたり、スケジュールに従ってプロセスをトリガーしたりします。プロセスの自動化を終了するには、bot を無効にします。
たとえば、[Confirmed appointment] bot は、Appointments レコードが更新された場合は常に [User notification of confirmed appointment] プロセスをトリガーし、リクエストした予約が確定されたことをユーザーに通知するように構成されています。bot は引き続き予約の更新イベントをリッスンし、イベントの発生時は関連するプロセスを起動します。この動作は、bot を無効にするまで継続されます。
bot がトリガーされる仕組みとトリガーされない仕組み、およびアプリのバージョンと bot の関係について、以下の詳細をご覧ください。
bot がトリガーされる仕組み
以下に基づいてプロセスをトリガーするように bot を構成できます。
- アプリのイベント。
- AppSheet データベース内の 1 つ以上の列への変更。
- 事前定義されたスケジュール。
- Google Workspace のインタラクション。
アプリのイベント
アプリのイベントに基づいてプロセスをトリガーするように bot を構成できます。以下のものが含まれます。
-
アプリを通じたデータの追加、更新、削除。たとえば、以下の場合に bot をトリガーできます。
-
AppSheet クライアントでデータ変更アクションが呼び出された。
-
AppSheet API を使用して、追加、更新、削除のオペレーションが実行された。
bot をトリガーするアプリのイベントは、アプリを通じて行われ、サーバーに到着するものであれば、どのような種類のデータ変更でもかまいません。たとえば、bot のトリガーだけを目的としたテーブル列を追加することもできます。この場合、追加の列の値を更新するクライアントの操作ボタンを作成すれば、操作ボタンをクリックすることで、bot がトリガーされます。
アプリでの変更がサーバーに同期された後、AppSheet では以下の処理が行われます。
-
スプレッドシートまたはデータベースに適切な変更を加える。
-
スプレッドシート内の数式が、最新のデータ値を使用して再計算されるようにする。
-
bot をトリガーするかどうかを判断する。
bot がトリガーされる条件をさらに制限するために、以下の項目を指定できます。
-
bot をトリガーするアプリ変更の種類。これは、イベントの構成時に指定します。たとえば、以下の変更に対して bot をトリガーできます。
-
すべての変更
-
追加のみ
-
追加と更新
-
追加と削除
-
削除のみ
-
更新と削除
-
更新のみ
-
-
bot をトリガーする条件。これは、イベントの構成時に指定します。たとえば、次のような場合に bot をトリガーできます。
-
アプリから Inspections テーブルに新しい行が追加され、
InspectionPassed
列の値がFALSE
である。 -
アプリから
Orders
テーブルの行が更新され、OrderAmount
列の値が $500 を超え、DeliveryDate
列の値が現在の日付から 10 日以内である。
-
-
bot が他の bot をトリガーできるかどうか。トリガーできる場合は、その bot と、その bot がトリガーしたすべての bot が実行完了した後にのみデータ変更を同期するかどうか。これは、bot の作成時に指定します。
AppSheet データベースのイベント
接続された AppSheet データベース内の 1 つ以上の列に対する変更に基づいてプロセスをトリガーするように bot を構成できます。
スケジュール設定されたイベント
スケジュールに基づいてプロセスをトリガーするように bot を構成できます。アプリのイベントと同様に、スケジュール設定されたイベントも任意のテーブルの操作が可能で、さまざまな機能を実行できます。イベント: 基本情報と bot のスケジュール設定と再試行についてもご覧ください。
Google Workspace のインタラクション
Google Workspace のインタラクションに基づいてトリガーするように bot を構成できます。インタラクションには次のものがあります。
- Google Chat アプリのインタラクション
- Google フォームで作成されたフォームの送信
- Gmail のメール メッセージに対するラベルの追加または削除。
イベント: 基本情報もご覧ください。
bot がトリガーされない場合
bot は、以下の場合はトリガーされません。
-
データソースに対して直接行われた変更(AppSheet データベース以外)
AppSheet データベース イベントは例外としますが、データソース(スプレッドシートやデータベース)に対して直接行われた変更は AppSheet サーバーを経由しないため、AppSheet の bot をトリガーしません。たとえば、BigQuery データベースを直接更新した場合、その変更について、AppSheet サーバーへの通知は行われません。AppSheet サーバーはその変更を認識していないため、AppSheet の bot がトリガーされることもありません。 -
bot によって呼び出されたデータ変更アクション(データ変更を行う bot が他の bot をトリガーするように明示的に構成されている場合を除く)
bot によって呼び出されたデータ変更アクションは他の AppSheet bot をトリガーしません。たとえば、クライアント デバイスで bot をトリガーする追加、更新、削除のいずれかの操作が行われ、対応する bot がデータ変更アクションを呼び出した場合、そのデータ変更アクションではどの bot も呼び出されません。 -
他の AppSheet アプリを通じて行われた変更(そのアプリで使われている基盤となるスプレッドシートまたはデータベース テーブルが同じ場合も含む)
これは 2 つの AppSheet アプリが同じ基盤となるスプレッドシートまたはデータベース テーブルを共有している場合にも当てはまります。たとえば給与計算アプリと人事アプリで、Employees というテーブルを共有しているとします。給与計算アプリで定義された bot は、給与計算アプリで実行された Employees テーブルに対する追加、更新、削除操作によってのみトリガーされます。人事アプリによって実行された Employees テーブルに対する追加、更新、削除操作によって、給与計算アプリで定義された bot がトリガーされることはありません。つまり、bot は単一の AppSheet アプリ内でのみ動作し、複数のアプリにまたがって動作することはありません。これは、各アプリが基盤となるスプレッドシートまたはデータベース テーブルを共有している場合でも同様です。
App のバージョンと bot
アプリに変更を加えるたびに、AppSheet では新しいバージョンが作成されます。このような変更には、bot に対する変更も含まれる場合があります。
AppSheet では、ユーザーが追加、更新、削除のいずれかの操作をサーバーに送信するたびに、アプリのバージョンも送信されます。ユーザーは、古いバージョンのアプリに基づいた変更を送信する可能性があるため、この処理は非常に重要です。
bot を呼び出す際、AppSheet はユーザーのバージョンと一致するバージョンの bot を呼び出します。そのため、古いバージョンの bot が呼び出される可能性もあります。この現象の発生は、Audit History を調べることで見つけられます。Audit History には、アプリのバージョン番号が含まれています。
ユーザーが変更を送信すると、AppSheet クライアントは、最新のデータとアプリのバージョンを取得する同期を実行します。その後の変更は、そのアプリのバージョンを使用して送信されます。
bot の管理について
デフォルトでは新しいエディタが有効になっていますが、いつでも以前のエディタに戻すことができます。
このセクションでは、新しいエディタ(プレビュー)のみを使用して bot を管理する方法について説明します。
[Automation] > [Bots] に移動します。
[Bots] パネルが表示され、リストの最初の bot がエディタで開かれます。
上図でハイライト表示されているように、以下のタスクを実行して bot を管理します。
- bot を追加する
- [Bots] パネルで選択して bot を編集する
- イベント、プロセス、ステップ、タスクなどの bot コンポーネントを管理する
- bot を構成する
- bot を有効または無効にする
- bot をモニタリングする
- bot を管理する:
- bot の見出しのエラーまたは警告のインジケーターをクリックして、bot に関連するエラー メッセージや警告メッセージを確認する
- すべての bot を検索する
bot を追加する
bot を追加するには:
-
アプリエディタでアプリを開きます。
-
[Automation]
> [Bots] に移動し、[Bots] パネルの上部見出しにある [+] をクリックします。
アプリエディタを強化しました。
デフォルトでは新しいエディタが有効になっていますが、いつでも以前のエディタに戻すことができます。以前のエディタを使用する場合
[Automation] > [Bots] に移動して [+ New Bot] をクリックします。
-
次のいずれかのタスクを行います。
-
候補リストから選択します。AppSheet Automation はインテント対応プラットフォームです。ユーザー インテントを理解し、達成しようとしていることに沿った構成オプションを推奨します。たとえば、以下の bot 候補を選択すると、完全に構成された bot が作成されます:
When employees record is updated, send an email -
カスタム bot を作成します。[Create a new bot] をクリックします。
-
- イベントを追加して構成します。
- ステップやタスクなどのプロセスを構成します。
- オプションで、以下の 1 つ以上のタスクを実行します。
- bot を保存します。
bot を構成する
他の bot をトリガーする bot を構成するには:
- [Automation]
> [Bots] に移動し、構成する bot を [Bots] パネルで選択します。
アプリエディタを強化しました。
デフォルトでは新しいエディタが有効になっていますが、いつでも以前のエディタに戻すことができます。以前のエディタを使用する場合
[Automation] > [Bots] に移動して、アイコンを設定する bot を開きます。
- [Options] セクションを開きます。
-
以下の高度な設定を構成して、bot の動作を制御します。
オプション 説明 他の bot をトリガーする このオプションを有効にすると、その bot のデータ変更ステップを発生させることで、同じデータ変更イベントをリッスンしている他の bot も実行されます。このオプションを無効にすると、その bot によって他の bot のデータ変更イベントがトリガーされることはありません。For スケジュール設定されたイベントについては、以下のシナリオにおいて、この設定が有効になります。- 条件ForEachRowInTable が有効で、プロセスにデータ変更ステップが含まれている場合。
- 条件ForEachRowInTable が無効で、Call a process ステップ(データ変更イベントを含む)がプロセスに含まれている場合。
有効にすると、イベント トリガーの無限ループを回避するために、以下のポリシーが適用されます。
-
bot によって行われたデータ変更の結果として発生したイベントが、その後同じ bot をトリガーすることはできません。
-
2 つ以上の bot が連続してトリガーする場合、その間に発動できるトリガーの最大数は 5 つです。次に例を示します。
-
bot A が bot B をトリガーする
-
bot B が bot A をトリガーする
-
bot A が bot B をトリガーする
-
bot B が bot A をトリガーする
-
bot A が bot B をトリガーする
-
Wait for execution to complete 注: このオプションは、[Trigger other bots] オプションが有効の場合のみ使用できます。このオプションを有効にすると、その bot とその bot がトリガーしたすべての bot の実行が完了してから、データ変更が同期されます。このオプションを無効にすると、その bot によってトリガーされた bot がバックグラウンドで実行中の場合でも、その bot の実行が完了した時点でデータが同期されます。
-
bot を保存します。
bot のアイコンを設定する
bot のアイコンを設定することで、識別が容易になります。
bot のアイコンを設定するには:
- [Automation]
> [Bots] に移動し、構成する bot を [Bots] パネルで選択します。
アプリエディタを強化しました。
デフォルトでは新しいエディタが有効になっていますが、いつでも以前のエディタに戻すことができます。以前のエディタを使用する場合
[Automation] > [Bots] に移動して、アイコンを設定する bot を開きます。
- [Options] セクションを開きます。
- [Bot icon] フィールドで、目的のアイコンを検索して選択します。
-
bot を保存します。
bot の名前を変更する
bot の名前を変更するには:
- [Automation]
> [Bots] に移動し、名前を変更する bot を [Bots] パネルでダブルクリックします。
アプリエディタを強化しました。
デフォルトでは新しいエディタが有効になっていますが、いつでも以前のエディタに戻すことができます。以前のエディタを使用する場合
[Automation] > [Bots] に移動して、名前を変更する bot を開きます。
- [Bots] ナビゲーション パネルで、名前を変更する bot にカーソルを合わせます。
- bot の見出しで [More]
> [Rename] を選択します。
- bot の名前を変更します。
[Bots] パネルで bot の名前をダブルクリックして、名前を編集することもできます。
bot にコメントを追加する
bot にコメントを追加するには:
- [Automation]
> [Bots] に移動し、名前を変更する bot を [Bots] パネルで選択します。
アプリエディタを強化しました。
デフォルトでは新しいエディタが有効になっていますが、いつでも以前のエディタに戻すことができます。以前のエディタを使用する場合
[Automation] > [Bots] に移動して、アイコンを設定する bot を開きます。
- [Documentation] セクションを開きます。
- 共同編集者が bot の目的を理解しやすいように、説明的なコメントを入力します。
bot をコピーする
bot の内容をコピーします。一意の状態を確保するため、bot 名とイベント名には数値(2 など)が付加されます。
bot をコピーするには:
- [Automation]
> [Bots] に移動します。
- コピーする bot をリストから選択します。
- bot の見出しで [More]
> [Duplicate] を選択します。
デフォルトでは新しいエディタが有効になっていますが、いつでも以前のエディタに戻すことができます。
以前のエディタを使用する場合
bot をコピーするには:
- [Automation] > [Bots] に移動します。
- コピーする bot を開きます。
- bot の見出しで [Copy] をクリックします。
bot をモニタリングする
AppSheet Automation Monitor を使用してアプリでの自動化をモニタリングし、成功したもの、エラーが発生したもの、保留中のものなど、bot の実行を追跡します。
bot をモニタリングするには:
bot をコピーするには:
- [Automation]
> [Bots] に移動します。
- モニタリングする bot をリストから選択します。
- bot の見出しで [Monitor] をクリックします。
デフォルトでは新しいエディタが有効になっていますが、いつでも以前のエディタに戻すことができます。
以前のエディタを使用する場合
bot をモニタリングするには:
- [Automation] > [Bots] に移動します。
- モニタリングする bot を開きます。
- bot の見出しで [Monitor] をクリックします。
bot をテストする
bot の実行をテストします。
bot をテストするには:
-
[Automation]
> [Bots] に移動し、テストする bot を [Bots] パネルで選択します。
アプリエディタを強化しました。
デフォルトでは新しいエディタが有効になっていますが、いつでも以前のエディタに戻すことができます。以前のエディタを使用する場合
[Automation] > [Bots] に移動して、テストする bot を開きます。
- bot の見出しで [More]
> [Test] を選択します。
スケジュール設定されたイベントを使用して bot を実行する
スケジュール設定されたイベントを使用して bot をオンデマンドで実行するには:
-
[Automation]
> [Bots] に移動し、テストするスケジュール設定されたイベントを含む bot を [Bots] パネルで選択します。
アプリエディタを強化しました。
デフォルトでは新しいエディタが有効になっていますが、いつでも以前のエディタに戻すことができます。以前のエディタを使用する場合
[Automation] > [Bots] に移動して、テストする bot を開きます。
- bot のヘッダーで [実行 ] をクリックします。
bot を有効または無効にする
bot を無効にして、自動化を一時的に停止できます。その後、再度有効にします。
bot を有効または無効にするには:
- [Automation]
> [Bots] に移動します。
- 有効または無効にする bot をリストから選択します。
- bot の見出しで [Enable] または [Disable] を選択します。
デフォルトでは新しいエディタが有効になっていますが、いつでも以前のエディタに戻すことができます。
以前のエディタを使用する場合
bot を無効にするには:
- [Automation] > [Bots] に移動します。
- 削除する bot を開きます。
- bot の見出しで [Disable] をクリックします。
bot を削除する
bot を完全に取り除くには、削除します。
bot を削除するには:
- [Automation]
> [Bots] に移動します。
- 削除する bot をリストから選択します。
- bot の見出しで [More]
> [Delete] を選択します。
デフォルトでは新しいエディタが有効になっていますが、いつでも以前のエディタに戻すことができます。
以前のエディタを使用する場合
bot を削除するには:
- [Automation] > [Bots] に移動します。
- 削除する bot を開きます。
- bot の見出しで [Delete] をクリックします。