はじめに
AppSheet の Bot(Automation)で、別テーブルへ関連レコードをまとめて追加したい場面はよくあります。しかし標準ステップだけでは「リストの各要素ごとに繰り返し」が設定できず、一度にまとめて追加できないことも。その際は「Call a webhook」ステップから AppSheet API を呼び出し、自前で JSON ボディを組み立てる手法が有効です。
この記事では、IF 文でカンマを制御する古典的手法を使わずに、よりシンプルに複数行を追加するテンプレートをご紹介します。
前提条件
- 対象アプリ:App ID
aaaabbbb-cc11-dd22-ee33-3f85b8f1d76e
(例) - 呼び出し先テーブル:
生産計画工程テーブル
- 親テーブル:
生産計画
テーブル(ループの起点) - 関連子テーブル:
生産工程順序マスタ
テーブル - キー列:
生産計画id
(必須)
1. アプリ側の設定:ApplicationAccessKey の有効化
- Manage > Integrations タブを開く
- IN: from cloud services セクションで「Enable Inbound API」をオン
- 表示された ApplicationAccessKey をコピー
Bot 側の Webhook ヘッダーにこのキーを設定することで、同一アプリ内外から API 呼び出しが可能になります。
2. Bot の設定:Call a webhook ステップ追加
Automation → 該当 Bot → Process 編集 → + Step → Call a webhook を選択。
- Preset:AppSheet API
- HTTP Verb:POST
- HTTP Content Type:application/json
- Custom headers に
ApplicationAccessKey: <コピーしたキー>
を設定
3. JSON ボディ:Start/End + Separator で簡潔ループ
{
"Action": "Add",
"Properties": {
"Locale": "ja-JP",
"Timezone": "Asia/Tokyo"
},
"Rows": [
<<Start: [_THISROW].[生産工程id].[Related 生産工程順序マスタs]>>
{
"生産計画id": "<<[_THISROW].[生産計画id]>>",
"工程Id": "<<[工程id]>>",
"設備Id": "<<[設備id]>>",
"工順": "<<[工程順序]>>",
"生産完了予定日": "<<[_THISROW].[生産完了予定日]>>"
}
<<End>>
]
}
<<Start: …>>
~<<End>>
で関連レコードをループ- 各オブジェクト内に必須キー列(
生産計画id
)を含める
4. 実行・テスト
- Bot の Process を保存し、Run test
生産計画
テーブルに新規行を追加または更新- Webhook が正常終了し、生産計画工程テーブル に関連レコードが一括追加されることを確認
おわりに
AppSheet API の強力なバルク操作機能を活かし、自動化の幅を広げてみてください!
追加する前に既存のデータ削除をAutomationに組み込むとより実用的になります。