0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Salesforceデータ移行をAIで簡略化する運用モデルを考える

0
Posted at

はじめに

Salesforceのデータ移行では、CSV受領、マッピングシート作成、Excelでのクレンジング、Data Loaderでの取込、エラー確認、再修正といった作業が発生します。

特に実務では、以下のような問題が起こりやすいです。

  • お客様がCSVを出力できない
  • 元データがテーブル構造になっていない
  • 案件単位のデータをAccount / Contact / Opportunityに分解する必要がある
  • マッピングシート作成に時間がかかる
  • Excelでのクレンジング作業が属人化する
  • テスト移行と本番移行で同じクレンジング作業を繰り返す

そこで今回は、従来のSalesforceデータ移行モデルを整理したうえで、Claude Code / Codex / AI APIを活用した新しい移行モデルを考えてみます。


現行のデータ移行フロー

これまでの一般的なデータ移行手順は、以下のような流れでした。

① お客様からCSV形式でデータをいただく
② マッピングシート作成
③ お客様と要件定義を行う
④ CSVデータをExcelでクレンジング
⑤ Data Loaderでデータ移行
⑥ お客様に移行結果を確認していただく
⑦ フィードバックをもとにマッピング修正
⑧ 再度CSVをいただいて、再クレンジング

図にすると、以下のようなイメージです。

ChatGPT Image 2026年4月25日 01_01_31.png


現行モデルの問題点

CSV出力できないお客様に対応しづらい

従来の進め方では、最初に「お客様からCSVをいただく」ことが前提になっています。

しかし、実際には以下のようなケースがあります。

  • 独自システムからCSVを出力できない
  • Excelで管理しているが、形式が統一されていない
  • 画面上では見られるが、一覧出力機能がない
  • ITリテラシーの問題で、データ抽出をお客様自身で実施できない

この場合、データ移行の入口で止まってしまいます。


案件基準データをSalesforce構造に変換するのが大変

お客様の元データが、必ずしもSalesforceのようなオブジェクト単位で管理されているとは限りません。

例えば、以下のように「案件基準」でデータが存在するケースがあります。

案件番号 顧客名 担当者名 案件名 金額
A001 ABC株式会社 山田太郎 契約A 100,000
A002 ABC株式会社 山田太郎 契約B 200,000

Salesforceでは、これを以下のように分解する必要があります。

  • Account
  • Contact
  • Opportunity

この分解処理をExcelで手作業すると、重複や紐付けミスが発生しやすくなります。


マッピングシート作成が属人化しやすい

マッピングシート作成では、移行元データとSalesforce項目を対応付けます。

例:

移行元項目 Salesforce項目
顧客名 Account.Name
電話番号 Account.Phone
案件名 Opportunity.Name
金額 Opportunity.Amount

この作業では、以下の理解が必要です。

  • 移行元データの意味
  • Salesforceのオブジェクト構造
  • Salesforce項目のデータ型
  • 必須項目
  • 選択リスト値
  • 参照関係

そのため、担当者の知識に依存しやすくなります。


クレンジング作業を毎回Excelで実施している

現行運用で特に負荷が高いのが、Excelでのクレンジングです。

よくあるクレンジング例は以下です。

対象 変換例
電話番号 03-1234-56780312345678
郵便番号 1234567123-4567
日付 2026年4月1日2026-04-01
空白 前後スペースを削除
表記ゆれ (株)ABC株式会社ABC

Excelで直接修正すると、作業内容がルールとして残りにくいです。

そのため、テスト移行で行った修正を、本番移行時にもう一度実施することになります。


新しい移行モデルの考え方

新しい移行モデルでは、以下の考え方に切り替えます。

人が毎回Excelで直す
↓
AIが候補を出す
↓
人が確認してルール化する
↓
ルールを保存する
↓
テスト移行・本番移行で再利用する

ポイントは、すべてをAIに任せることではありません。

重要なのは、人が判断した内容をルールとして保存し、次回以降に再利用できるようにすることです。


新しいデータ移行フロー

新しい運用フローは、以下のような流れです。

① お客様データを受領
   CSV / Excel / スプレッドシートなどを許容

② AIがマッピング候補を自動生成
   移行元項目とSalesforce項目の対応候補を作成

③ 人が確認して要件・ルールを確定
   AIの候補をそのまま採用せず、人が確認する

④ クレンジングルールを自動適用
   電話番号、日付、空白、表記ゆれなどをルール化

⑤ 案件基準データをSalesforce構造に分解
   Account / Contact / Opportunityに分ける

⑥ 重複候補を自動検出
   完全一致だけでなく、類似一致も確認する

⑦ Salesforce取込用CSVを自動生成
   Data Loader / Bulk API用のCSVを作成

⑧ Data Loader / Bulk APIでUpsert
   外部IDを使って再実行しやすい形にする

⑨ エラーCSVをAIが分類・レポート化
   エラー原因と対応方針を整理する

⑩ 修正ルールを保存し、本番移行で再利用

AI活用ポイント

1. マッピング候補生成

移行元のヘッダーとサンプルデータをもとに、Salesforce項目との対応候補を作成します。

例:

移行元項目 Salesforce候補 信頼度 確認要否
顧客名 Account.Name 95% 不要
電話番号 Account.Phone 90% 不要
案件名 Opportunity.Name 85% 要確認
ステータス Status__c 70% 要確認

AIに最終判断を任せるのではなく、候補出しをさせるのがポイントです。


2. クレンジングルール生成

AIにデータの揺れを検出させ、クレンジング候補を出させます。

例:

{
  "trim_spaces": true,
  "normalize_width": true,
  "remove_phone_hyphen": true,
  "date_format": "YYYY-MM-DD",
  "convert_to_blank": ["未設定", "なし", "不明"]
}

このようにルール化しておけば、テスト移行と本番移行で同じ処理を再利用できます。


3. 重複候補検出

完全一致だけではなく、表記ゆれを考慮した重複候補を検出します。

例:

データA データB 判定
株式会社ABC (株)ABC 重複候補
山田 太郎 山田太郎 重複候補
03-1234-5678 0312345678 同一候補

Salesforceに取り込んだ後で重複を直すより、取込前に候補を検出する方が安全です。


4. Data Loaderエラーの分類

Data LoaderのエラーCSVをAIで分類すると、修正方針を整理しやすくなります。

エラー 主な原因 対応方針
REQUIRED_FIELD_MISSING 必須項目不足 元データ確認
INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST 選択リスト不一致 変換表を追加
DUPLICATE_VALUE 外部ID重複 重複データを確認
INVALID_CROSS_REFERENCE_KEY 参照先なし 親データの取込状況を確認

エラー分類を自動化すると、お客様への確認事項も作成しやすくなります。


Claude Code と Codex の使い分け

今回のようなSalesforceデータ移行支援ツールを作る場合、Claude CodeとCodexは以下のように使い分けるのがよいと考えています。

ChatGPT Image 2026年4月25日 01_01_40.png


Claude Codeが向いている作業

Claude Codeは、ローカル開発や実装作業に向いています。

具体的には、以下のような作業です。

  • CSV / Excel加工ツールの開発
  • Pythonでクレンジング処理を作成
  • 既存コードを読みながら改修
  • ローカルファイル操作
  • 一括処理
  • Git管理
  • テスト実行
  • 移行レポート出力

Salesforceデータ移行でいうと、以下のような前処理ツールを作る用途に向いています。

Excel / CSV
↓
クレンジングルール適用
↓
Account.csv / Contact.csv / Opportunity.csv を生成
↓
移行レポートを出力

つまり、実装を進めるならClaude Codeが本命です。


Codexが向いている作業

Codexは、設計相談やAI機能の組み込み方針を整理する用途に向いています。

具体的には、以下のような作業です。

  • 要件整理
  • 仕様設計の壁打ち
  • OpenAI API前提の設計
  • コードレビュー
  • 改善案の整理
  • マッピング候補生成の設計
  • プロンプト設計
  • エラー分類ロジックの設計

Salesforceデータ移行でいうと、以下のような相談役として使うのがよいです。

どのような移行支援ツールにするか
どの処理をAIに任せるか
どの処理は人が確認すべきか
どのようなJSON形式でルールを保存するか

つまり、設計や相談の相棒としてCodexを使うイメージです。


おすすめの構成

個人的には、以下の構成が現実的だと思います。

Codex / ChatGPT
↓
要件定義・仕様整理・設計相談

Claude Code
↓
Python実装・ファイル操作・テスト

AI API
↓
マッピング候補生成・エラー分類

役割を分けると、以下のようになります。

役割 ツール
要件整理・仕様設計 Codex / ChatGPT
実装・ローカル開発 Claude Code
AI判定・分類 OpenAI API / Claude API
Salesforce取込 Data Loader / Bulk API

まず作るなら何か

いきなり大きなAI移行ツールを作るのではなく、まずは以下のような小さな前処理ツールから始めるのがよいです。

data-migration-assistant/
├── input/
│   └── customer_data.xlsx
├── rules/
│   └── cleansing_rules.json
├── mapping/
│   └── account_mapping.xlsx
├── output/
│   ├── Account.csv
│   ├── Contact.csv
│   ├── Opportunity.csv
│   └── migration_report.xlsx
├── scripts/
│   ├── clean_data.py
│   ├── split_objects.py
│   ├── detect_duplicates.py
│   └── generate_report.py
└── README.md

最初からAIで完全自動化する必要はありません。

まずは以下を自動化するだけでも、かなり効果があります。

  • 電話番号の正規化
  • 日付形式の統一
  • 空白除去
  • 選択リスト値の変換
  • 重複候補の抽出
  • Salesforce取込用CSVの出力
  • 移行件数レポートの出力

最終的な運用イメージ

最終的には、以下のような運用を目指します。

お客様データを受領
↓
AIがマッピング候補を生成
↓
人が確認してルール確定
↓
Pythonツールでクレンジング実行
↓
Salesforce取込用CSVを生成
↓
Data Loader / Bulk APIでUpsert
↓
エラーCSVをAIで分類
↓
修正ルールを保存
↓
本番移行で再利用

この形にできれば、移行作業は以下のように変わります。

Excelで毎回手作業する運用
↓
ルールを保存して再利用する運用

まとめ

Salesforceデータ移行を簡略化するうえで重要なのは、AIにすべてを任せることではありません。

重要なのは、以下の3点です。

  • AIに候補を出させる
  • 人が確認してルールを確定する
  • ルールを保存して再利用する

特に効果が大きいのは、クレンジング作業の再利用化です。

人が毎回Excelで直す
↓
AIが候補を出す
↓
人が承認する
↓
ルールを保存する
↓
テスト移行・本番移行で再利用する

Claude CodeとCodexの使い分けとしては、以下が現実的です。

開発の主役:Claude Code
設計・壁打ち:Codex / ChatGPT
AI判定エンジン:OpenAI API / Claude API

まずはClaude Codeで、CSV / ExcelをSalesforce取込用CSVに変換する前処理ツールを作るところから始めるのがよいと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?