メインコンテンツへスキップ

概要

多数のレコードを一度に更新する必要がありますか? 1 件ずつ編集する代わりに、CSV インポートを使って既存のレコードを一括更新しましょう。 ユースケース:
  • 複数の連絡先の役職を更新する
  • 会社情報を一括で変更する
  • 新しいカスタムフィールドにデータを追加する
  • 多数のレコードにわたるデータの誤りを修正する

仕組み

既存のレコードと一致する一意の識別子を含むファイルをインポートすると、Twenty は重複を作成せず、そのレコードを更新します。
一意の識別子が…Twenty は…
既存のレコードに一致する既存のレコードを更新
どのレコードにも一致しない新しいレコードを作成
ファイルに含まれていない新しいレコードを作成(ID は自動生成)
複数選択フィールドはマージではなく上書きされます。あるレコードで Option AOption B が選択されている状態で ["Option C"] をインポートすると、インポート後はそのレコードには Option C のみが残ります。 インポートは以前の選択をすべて置き換えます—追加はされません。既存の値を保持するには、インポートにすべて含めてください: ["Option A","Option B","Option C"]

ステップ 1: 現在のデータをエクスポートする

まず、更新したいレコードをエクスポートします。
  1. オブジェクト(連絡先、会社など)に移動します。
  2. 必要な列を追加 — 更新したいフィールドを表示するには Options → Fields をクリックします
  3. 必要に応じてフィルター — 更新対象のレコードのみに絞り込みます
  4. Export view をクリック
  5. CSV ファイルを保存します
なぜ最初にエクスポートするのか? エクスポートされたファイルは正しい形式で、一意の識別子を含み、インポート時に自動でマッピングされます。

エクスポートされる内容

  • 現在のビューで表示されているすべての列
  • レコードの一意の識別子(idemaildomain
  • 変更可能な現在のフィールド値

ステップ 2: CSV ファイルを編集する

エクスポートしたファイルを表計算アプリ(Excel、Google スプレッドシートなど)で開きます。
  1. 一意の識別子の列は残すidemaildomain は削除しないでください
  2. 変更したい列の値を更新します
  3. 更新が不要な列は削除(任意ですが、その方がすっきりします)
  4. 一意の識別子の値は変更しないでください — 変更すると Twenty が新しいレコードを作成します

例:役職の更新

エクスポートしたファイル:
id,email,firstName,lastName,jobTitle
550e8400-e29b-41d4-a716-446655440001,john@acme.com,John,Smith,Sales Rep
550e8400-e29b-41d4-a716-446655440002,jane@acme.com,Jane,Doe,Sales Rep
550e8400-e29b-41d4-a716-446655440003,bob@acme.com,Bob,Johnson,Sales Rep
編集後:
id,email,firstName,lastName,jobTitle
550e8400-e29b-41d4-a716-446655440001,john@acme.com,John,Smith,Account Executive
550e8400-e29b-41d4-a716-446655440002,jane@acme.com,Jane,Doe,Senior Account Executive
550e8400-e29b-41d4-a716-446655440003,bob@acme.com,Bob,Johnson,Account Executive
一意の識別子の値は変更しないでください。john@acme.comjohn.smith@acme.com に変更すると、Twenty は既存のレコードを更新せずに新しいレコードを作成します。

ステップ 3: 更新したファイルをインポートする

  1. 対象のオブジェクトに移動します
  2. Import records をクリック
  3. 編集した CSV ファイルをアップロードします
  4. 一意の識別子がマッピングされていることを確認emaildomain、または id が正しくマッピングされているか検証します
  5. フィールドのマッピングを確認します
  6. エラーがないか確認します
  7. Confirm をクリック
Twenty は一意の識別子でレコードを照合し、新しい値で更新します。

適切な一意の識別子の選び方

オブジェクト推奨代替ノート
連絡先メールidメールアドレスは人間が読みやすい
会社ドメインidドメインは人間が読みやすい
カスタムオブジェクト任意の一意フィールドidカスタムの一意フィールドを使用する
一意の識別子は 1 つだけ使用してください。 emailid の両方をマッピングしないでください。 これは混乱やエラーの原因になります。

カスタムの一意フィールドを使用する

一意としてマークされたカスタムフィールド(他システムの外部 ID など)がある場合:
  1. そのフィールドをエクスポートとインポートに含めます
  2. インポート時にマッピングします
  3. Twenty はそのフィールドで照合します

ステップ 4: 更新内容を確認する

インポート後:
  1. 更新されたレコードをいくつか開きます
  2. 変更が反映されていることを確認します
  3. 重複レコードが作成されていないことを確認します

ファイルに含まれていないフィールドはどうなりますか?

インポートファイルに含まれていないフィールドは変更されません。
ファイルに含まれている項目…結果
emailjobTitlejobTitle のみ更新され、他のフィールドはそのままです
emailjobTitlephonejobTitlephone が更新されます
つまり、変更したいフィールド(+一意の識別子)だけを含めれば十分です。

更新と新規レコードの併用

同じインポートで既存レコードの更新と新規作成の両方が可能です。
email,firstName,lastName,jobTitle
john@acme.com,John,Smith,Senior Manager    ← Updates existing (email matches)
newperson@acme.com,New,Person,Analyst      ← Creates new (email doesn't match)

避けるべき一般的なミス

ミス問題結果解決策
一意の識別子の変更john@acme.comjohn.smith@acme.com に変更した更新ではなく新しいレコードが作成される一意の識別子は変更しない
複数の一意フィールドemailid の両方をマッピングしている照合の競合が発生する可能性一意の識別子は 1 つだけマッピングする
一意の識別子なしファイルには firstNamelastNamejobTitle しかないすべての行で新しいレコードが作成されるemaildomain、または id を必ず含める
大文字小文字の不一致ファイルは John@acme.com だが、Twenty では john@acme.com になっている新しいレコードを作成する正確な値を取得するには Twenty からエクスポートする

FAQ

一意の識別子が既存レコードと一致しないレコードは新規レコードとして作成されます。 これにより、同じインポートで更新と新規作成の両方が可能になります。
はい、CSV のセルを空白のままにしてください。 インポートにより、既存レコードのそのフィールド値がクリアされます。
インポートファイルにないフィールドは、既存レコード上で変更されません。 含めたフィールドのみが更新されます。
はい! リレーションの一意の識別子(例:companyDomain)を含め、リレーションフィールドにマッピングします。 リレーションが更新されます。
インポートの確認ステップで、一意の識別子の一致に基づき、更新と作成の件数を Twenty が表示します。
自動で元に戻す機能はありません。 一括更新の前に、バックアップとしてデータをエクスポートすることをお勧めします。

ベストプラクティス

  1. まずエクスポート — 正しい形式を確実にするため、必ずエクスポートから始める
  2. 更新前にバックアップ — 大量の変更を行う前にデータをエクスポートする
  3. 少数のレコードでテスト — 大規模に実行する前に、まず 5~10 件で更新を試す
  4. 人間が読みやすい識別子を使用id よりも emaildomain の方が検証しやすい
  5. 必要な列のみを含める — 列が少ないほどエラーの可能性が減ります

トラブルシューティング

お困りですか? 次を確認してください: