> ## Documentation Index
> Fetch the complete documentation index at: https://help.teable.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# レコードが更新されたとき

> 既存のレコードが変更されたときにワークフローを開始します

<Tip>すべてのトリガー設定はAIチャットで行えます。ワークフローで実行したい内容をAIに伝えれば、残りはAIが処理します。</Tip>

このトリガーは既存のレコードが変更されたときに実行されます。作成時には実行されません。

## AIで構築する

テーブル右側のサイドバーでAIチャットを開き、実行したい内容を説明します。

適切なトリガーの選択、関連フィールドのマッピング、すべてのアクションの設定はAIが自動的に行います。

目的を一度説明するだけでワークフローが完成し、手動設定は必要ありません。

**例：** *「ステータスフィールドが変わったら、担当者にメールを送ってください。」*

## 設定

| 設定      | 必須  | 説明                                               |
| ------- | --- | ------------------------------------------------ |
| テーブル    | はい  | 変更を監視するテーブル                                      |
| 監視フィールド | はい  | 監視する特定のフィールドを選択するか、すべての変更を対象にする「すべてのフィールド」を選択します |
| フィルター   | いいえ | 変更後のレコードが条件に一致する場合だけ実行します                        |

## 設定方法

1. オートメーションを開き、新しいトリガーを追加します。
2. **レコードが更新されたとき**を選択します。
3. 監視する**テーブル**を選択します。
4. **監視フィールド**で、特定のフィールドを1つ以上選択します。たとえば、ステータスの変更だけに反応する場合は「ステータス」を選択します。
5. （任意）**フィルター**を追加し、トリガーを実行する更新をさらに絞り込みます。たとえば、`ステータス` が `完了` と等しい条件にすると、レコードのステータスが「完了」に変わったときだけ実行されます。
6. オートメーションを保存して有効化します。
7. アクションステップを追加します。アクションフィールドの **+** をクリックすると、更新されたレコードの値を挿入できます。

## 監視フィールドを理解する

このトリガーで最も重要なのは、監視フィールドの設定です。

* **特定のフィールド（推奨）：** 対象にするフィールドだけを選択します。そのいずれかが変わったときだけ実行され、レコードの他の編集は無視されます。
* **すべてのフィールド：** レコード内の*いずれか*のフィールドが変わるたびに実行されます。計算フィールド、最終更新日時、対象外の軽微な編集も含まれます。

**多くの場合、特定のフィールドが適している理由：**

* 不要なトリガー実行とオートメーション実行数の浪費を減らします。
* 意図しないループを防ぎます（以下を参照）。
* オートメーションの目的が明確になります。

あらゆる変更に反応する必要がある場合（完全な監査ログなど）にだけ「すべてのフィールド」を選択してください。

<Tip>特定の監視フィールドを選択することを強く推奨します。「すべてのフィールド」を選択すると、無関係な編集でワークフローが実行され、実行数を浪費したり予期しない動作につながったりする可能性があります。</Tip>

### 計算フィールド

[数式](/ja/basic/field/formula)、[ルックアップ](/ja/basic/field/lookup)、[ロールアップ](/ja/basic/field/rollup)、[条件付きルックアップ](/ja/basic/field/conditional-lookup)、[条件付きロールアップ](/ja/basic/field/conditional-rollup)の値は、入力ではなく Teable の計算によって得られます。再計算によってこのトリガーが実行されるのは、計算フィールドを**監視フィールド**に指定した場合だけです。5種類とも同じように動作します。

これにより、元の入力ではなく算出結果に反応できます。`合計金額`の数式フィールドを監視すると、元となるどのフィールドが変わったかに関係なく、合計が実際に変わるたびにワークフローが実行されます。リンクされたタスクのロールアップを監視すると、リンク先テーブルの編集による変更も含め、集計値が変わったときに実行されます。

## よくある問題：更新ループ

<Warning>ワークフローに、同じテーブルへ書き込んで監視対象フィールドを更新する「レコードを更新」アクションがあると、トリガーが再び実行され、無限ループになります。</Warning>

テーブルの更新で開始するオートメーションに、*同じテーブル*へ書き戻す**レコードを更新**アクションがあると、無限ループが発生する可能性があります。

1. フィールドが変わる → トリガーが実行される。
2. オートメーションが同じレコードの別フィールドを更新する → トリガーが再び実行される。
3. 無限に繰り返す。

**回避方法：**

* 特定のフィールドだけを監視し、「レコードを更新」アクションが監視対象とは*異なる*フィールドへ書き込むようにします。
* フィルター条件でループを停止します。たとえば、`ステータス` が `処理済み` と等しくない場合だけ実行し、アクションで `ステータス` を `処理済み` に設定します。
* 同じフィールドを更新する必要がある場合は、状態の移行時だけ実行される[レコードが条件に一致したとき](/ja/basic/automation/trigger/records/record-matches-conditions)トリガーを検討してください。

## 使用例

* **価格の変更を外部システムへ同期する。** 「価格」フィールドを監視し、変更時に HTTP リクエストを送ってECプラットフォームの価格を更新します。
* **タスクのステータスが変わったら通知する。** 「ステータス」フィールドを監視し、タスクが「ブロック」または「完了」へ移動したら担当者や管理者へ通知します。
* **監査のためにフィールド変更を記録する。** 「すべてのフィールド」を監視し、以前と新しい値を含むレコードを監査ログテーブルに作成します。
* **親の変更時にリンクされたレコードを更新する。** プロジェクトレコードの主要フィールドを監視し、プロジェクトの期限が変わったらリンクされたすべてのタスクを更新します。
* **別のシステムで再計算を開始する。** 「数量」や「単価」などの数値フィールドを監視し、変更時にAPIを呼び出して合計を再計算します。

## ヒント

* まず特定の監視フィールドを選択し、イベントの不足が見つかった場合は後から追加します。
* フィルターは更新の*後*に評価されます。以前の値ではなく、レコードの新しい値を確認します。
* このトリガーから以前の値は取得できず、現在のレコード状態だけがわかります。変更前後を比較する必要がある場合は、オートメーションで更新する「以前の値」フィールドを用意することを検討してください。
* 同じ編集で複数の監視フィールドが変わっても、保存ごとに一度だけ実行されます。

## 関連ページ

* [レコードが条件に一致したとき](/ja/basic/automation/trigger/records/record-matches-conditions) — すべての編集ではなく、状態が移行したときだけ実行します
* [レコードが作成されたとき](/ja/basic/automation/trigger/records/record-created) — 更新ではなく新しいレコードで実行します
* [レコード更新アクション](/ja/basic/automation/actions/records/update-record) — ワークフロー内でレコードを変更するアクションです
