Some checks failed
App Prod-Parity E2E Dispatch / dispatch (push) Failing after 10s
CD Storybook UI / build (push) Failing after 3m25s
CD Storybook UI / dispatch (push) Has been skipped
CD deploy main / website-changed-files (push) Successful in 18m8s
CI Agent Skills / changed-files-check (push) Successful in 18m9s
CI Create App E2E minimal / changed-files-check (push) Successful in 24s
CI Create App / changed-files-check (push) Successful in 26s
CI Docs / changed-files-check (push) Successful in 26s
CI Emails / changed-files-check (push) Successful in 28s
CI Example App Hello World / changed-files-check (push) Successful in 23s
CI Front / changed-files-check (push) Has been skipped
CI Example App Postcard / changed-files-check (push) Successful in 27s
CI UI / changed-files-check (push) Has been skipped
CI Utils Test / changed-files-check (push) Successful in 45s
CI Twenty Apps / discover (push) Successful in 1m3s
CD deploy main / deploy-main (push) Failing after 3s
CI Agent Skills / agent-skills-validate (push) Has been skipped
CI Create App / create-app-test (lint) (push) Has been skipped
CI Emails / emails-test (push) Has been skipped
CI Front / front-task (lingui:compile) (push) Has been skipped
CI Front / front-task (lint) (push) Has been skipped
CI Example App Postcard / example-app-postcard (push) Has been skipped
CI UI / ui-task (lint) (push) Has been skipped
CI UI / ui-task (pack-size) (push) Has been skipped
CI UI / ui-task (size) (push) Has been skipped
CI UI / ui-task (test) (push) Has been skipped
CI UI / ui-task (typecheck) (push) Has been skipped
CI Utils Test / utils-test (push) Has been skipped
CI Twenty Apps / ${{ matrix.app.name }} (push) Has been skipped
CI Emails / ci-emails-status-check (push) Successful in 2s
CI Example App Hello World / ci-example-app-hello-world-status-check (push) Successful in 2s
CI Example App Postcard / ci-example-app-postcard-status-check (push) Successful in 3s
CI UI / ui-sb-test (push) Has been skipped
CI Utils Test / ci-utils-test-status-check (push) Successful in 2s
CI Twenty Apps / ci-twenty-apps-status-check (push) Successful in 2s
CI UI / ci-ui-status-check (push) Successful in 2s
CI Desktop / desktop (push) Failing after 1m8s
Push docs to Crowdin / Push documentation to Crowdin (push) Failing after 55s
Push translations to Crowdin / Extract and upload translations (push) Failing after 5s
Push website translations to Crowdin / Extract and upload website translations (push) Failing after 5s
CI Create App / create-app-test (test) (push) Has been skipped
CI Create App / create-app-test (typecheck) (push) Has been skipped
CI Docs / docs-lint (push) Has been skipped
CI Example App Hello World / example-app-hello-world (push) Has been skipped
CI Front / front-task (lingui:extract) (push) Has been skipped
CI Front / front-task (test) (push) Has been skipped
CI Front / front-task (typecheck) (push) Has been skipped
CI UI / ui-sb-build (push) Failing after 1m32s
CI Twenty Apps / ${{ matrix.app.name }} (${{ matrix.server-source }}) (push) Has been skipped
CI Agent Skills / agent-skills-publish (push) Has been skipped
CI Create App / ci-create-app-status-check (push) Successful in 2s
CI Agent Skills / agent-skills-remote-source (push) Has been skipped
CI Create App E2E minimal / create-app-e2e-minimal (push) Has been cancelled
CI E2E Main / e2e-test (push) Has been cancelled
CI Front / front-sb-build (push) Has been cancelled
CI Front / front-build (push) Has been cancelled
CI Create App E2E minimal / ci-create-app-e2e-minimal-status-check (push) Has been cancelled
CI E2E Main / ci-e2e-main-status-check (push) Has been cancelled
CI E2E Main / notify-main-ci-failure (push) Has been cancelled
CI E2E Main / qa-scout-comment (push) Has been cancelled
CI Front / front-sb-test (push) Has been cancelled
CI Front / front-sb-screenshots (push) Has been cancelled
CI Front / ci-front-status-check (push) Has been cancelled
DPA Sub-Processor Sync / sync-subprocessors (push) Failing after 3s
AI Catalog Sync / sync-catalog (push) Failing after 2s
290 lines
14 KiB
Plaintext
290 lines
14 KiB
Plaintext
---
|
||
title: 他のCRMからの移行
|
||
description: 任意の CRM から Twenty へデータを移行するためのステップバイステップガイド。
|
||
---
|
||
|
||
## 概要
|
||
|
||
このガイドでは、任意の CRM から Twenty へデータを移行する手順を説明します。 このプロセスには、データの監査、Twenty ワークスペースの準備、現在のシステムからのエクスポート、および Twenty へのインポートが含まれます。
|
||
|
||
<Note>移行後、ビュー、ワークフロー、権限は手動で再作成する必要があります。 この構成作業のための時間を確保してください。</Note>
|
||
|
||
## ステップ 1: 現在のデータを監査する
|
||
|
||
移行は新たなスタートの好機です。 不要なデータは持ち込まないでください。
|
||
|
||
**保持するもの:**
|
||
|
||
* アクティブな連絡先と会社
|
||
* 進行中の商談やディール
|
||
* 重要なメモとアクティビティ
|
||
* 実際に使用しているカスタムフィールド
|
||
|
||
**除外するもの:**
|
||
|
||
* 古い連絡先(2年以上アクティビティがないもの)
|
||
* 重複レコード
|
||
* テストデータ
|
||
* 未使用のカスタムフィールド
|
||
|
||
## ステップ 2: データモデルをマッピングする
|
||
|
||
現在の CRM と Twenty の間のマッピングドキュメントを作成します:
|
||
|
||
| お使いの CRM | Twenty |
|
||
| ---------- | ------------------ |
|
||
| アカウント / 組織 | **会社** |
|
||
| 連絡先 / 人 | **連絡先** |
|
||
| ディール / 商談 | **商談** |
|
||
| アクティビティ | **タスク** または **メモ** |
|
||
| カスタムオブジェクト | **カスタムオブジェクト** |
|
||
|
||
**各フィールドごとに、次を記録します:**
|
||
|
||
* ソースフィールド名
|
||
* 移行先の Twenty フィールド
|
||
* 必要な形式変換(例:日付、電話番号など)
|
||
|
||
<Note>インポート中はこのマッピングドキュメントを手元に置いてください—列のマッピング時に参照します。</Note>
|
||
|
||
## ステップ 3: Twenty ワークスペースを設定する
|
||
|
||
データをインポートする前に、Twenty ワークスペースを準備します:
|
||
|
||
### カスタムオブジェクトとフィールドを作成
|
||
|
||
1. **設定 → データモデル** に移動
|
||
2. 必要なカスタムオブジェクトを作成する
|
||
3. 標準オブジェクトおよびカスタムオブジェクトにカスタムフィールドを追加する
|
||
4. フィールドの設定(一意、必須、選択肢など)を構成する
|
||
|
||
<Warning>
|
||
**インポート前にフィールドが存在している必要があります。**
|
||
|
||
CSV インポートはレコードを作成します。フィールドは作成しません。 インポート前に **設定 → データモデル** でカスタムフィールドをすべて作成してください。
|
||
</Warning>
|
||
|
||
### チームを招待
|
||
|
||
<Warning>
|
||
**重要: データをインポートする前にユーザーを招待してください。**
|
||
|
||
データにユーザー参照(アカウント所有者、担当者など)が含まれる場合、それらのユーザーはインポート前に Twenty 上に存在している必要があります。 そうでない場合、それらのリレーションはマッピングできません。
|
||
</Warning>
|
||
|
||
1. **設定 → メンバー** に移動
|
||
2. すべてのチームメンバーを招待する
|
||
3. **全員が招待を受諾するのを待つ**
|
||
4. メンバー一覧にすべてのユーザーが表示されていることを確認する
|
||
|
||
## ステップ 4: 現在の CRM からエクスポートする
|
||
|
||
現在の CRM からデータをエクスポートします:
|
||
|
||
1. 通常は設定、データ管理、管理の下にある **エクスポート** 機能を探します
|
||
2. 可能であれば **CSV 形式** でエクスポートする
|
||
3. 各オブジェクトタイプを個別にエクスポートする(会社、連絡先、商談など)
|
||
4. 移行したいすべてのフィールドを含める
|
||
|
||
**次のオブジェクトをエクスポートします(この順序で):**
|
||
|
||
1. 会社 / アカウント / 組織
|
||
2. 連絡先 / 人
|
||
3. ディール / 商談
|
||
4. メモとアクティビティ
|
||
5. カスタムオブジェクト
|
||
|
||
## ステップ 5: データをクリーンアップして整形する
|
||
|
||
エクスポートした各 CSV を表計算アプリで開き、Twenty 用に準備します。
|
||
|
||
### 重複を削除
|
||
|
||
1. 一意のフィールドで並べ替える(連絡先はメール、会社はドメイン)
|
||
2. 重複行を削除または統合する
|
||
3. Twenty にすでに重複が存在しないことを確認する
|
||
|
||
### フィールドの形式を正しく整える
|
||
|
||
| フィールドタイプ | 必須の形式 |
|
||
| ----------- | ------------------------------- |
|
||
| **ドメイン** | `https://domain.com` |
|
||
| **メール** | `name@domain.com`(一意である必要があります) |
|
||
| **日付** | `YYYY-MM-DD` |
|
||
| **電話** | 3 列: 番号、国コード、Calling Code |
|
||
| **ブール型** | `TRUE` または `FALSE`(大文字) |
|
||
| **選択フィールド** | 表示ラベルではなく API 名を使用する |
|
||
|
||
<Warning>
|
||
**ドメインの形式は重要です。**
|
||
|
||
`https://domain.com` を使用してください(`domain.com` や `www.domain.com` ではありません)。 これは Twenty の形式に一致し、メール/カレンダー同期を接続した際の重複を防ぎます。
|
||
</Warning>
|
||
|
||
すべてのフィールドタイプに関する完全な書式要件は、[CSV ファイルを準備する方法](/l/ja/user-guide/data-migration/how-tos/prepare-your-csv-files) を参照してください。
|
||
|
||
### リレーション列を追加
|
||
|
||
レコードをリンクするには(例:連絡先を会社にリンク)、親の一意の識別子を含む列を追加します。
|
||
|
||
**例:会社リンク付きの連絡先 CSV**
|
||
|
||
```csv
|
||
firstName,lastName,email,companyDomain
|
||
John,Smith,john@acme.com,https://acme.com
|
||
Jane,Doe,jane@widgets.co,https://widgets.co
|
||
```
|
||
|
||
レコードをリンクする手順の詳細は、[リレーションをインポートする方法](/l/ja/user-guide/data-migration/how-tos/import-relations-between-objects-via-csv) を参照してください。
|
||
|
||
### ユーザー参照を更新
|
||
|
||
データにユーザーの割り当て(所有者、担当者)が含まれる場合:
|
||
|
||
1. **ユーザーのメールアドレス** の列を追加する(古いシステムの ID だけでは不可)
|
||
2. ユーザーが Twenty のワークスペースに参加した際に使用したものと同じメールアドレスを使用してください。
|
||
|
||
完全な書式ガイドは、[CSV ファイルを準備する方法](/l/ja/user-guide/data-migration/how-tos/prepare-your-csv-files) を参照してください。
|
||
|
||
## ステップ 6: Twenty にインポートする
|
||
|
||
<Warning>
|
||
**インポート順は重要です!**
|
||
|
||
必ずこの順序でインポートします:
|
||
1. 最初に **会社**(依存関係なし)
|
||
2. 次に **連絡先**(会社にリンク)
|
||
3. 3 番目に **商談**(会社/連絡先にリンク)
|
||
4. **メモとタスク**(レコードにリンク)
|
||
5. **カスタムオブジェクト**(依存関係に従って)
|
||
|
||
参照する前に、親レコードが存在している必要があります。
|
||
</Warning>
|
||
|
||
### 各オブジェクトをインポート
|
||
|
||
各 CSV ファイルについて、順番に実行します:
|
||
|
||
1. Twenty の対象オブジェクトに移動します
|
||
2. **⋮ → Import records** をクリックします
|
||
3. CSV ファイルをアップロードします
|
||
4. 列をフィールドにマッピングします:
|
||
* ユーザーのメールアドレス列を適切なリレーションフィールドにマッピングします
|
||
* リレーション列(`companyDomain` など)をリレーションフィールドにマッピングします
|
||
5. UI でエラーを確認して修正します
|
||
6. インポートを確定します
|
||
7. 次のファイルに進む前に、いくつかのレコードを確認します
|
||
|
||
**詳細ガイド:**
|
||
|
||
* [会社をインポートする方法](/l/ja/user-guide/data-migration/how-tos/import-companies-via-csv)
|
||
* [連絡先をインポートする方法](/l/ja/user-guide/data-migration/how-tos/import-contacts-via-csv)
|
||
* [リレーションをインポートする方法](/l/ja/user-guide/data-migration/how-tos/import-relations-between-objects-via-csv)
|
||
|
||
## ステップ 7: 大規模な移行(5 万件以上のレコード)
|
||
|
||
大規模な移行の場合:
|
||
|
||
| 件数 | 推奨アプローチ |
|
||
| -------- | ----------------- |
|
||
| 1 万件未満 | 単一の CSV インポート |
|
||
| 1 万〜5 万件 | 複数の CSV ファイルに分割する |
|
||
| 5 万件以上 | API を使用する |
|
||
|
||
**API でのインポートについて:**
|
||
|
||
* 大規模データセットでは高速で信頼性が高い
|
||
* バッチ処理に対応(1 回の呼び出しで最大 60 レコード)
|
||
* 詳細は [API でデータをインポートする方法](/l/ja/user-guide/data-migration/how-tos/import-data-via-api) を参照
|
||
|
||
## ステップ 8: 移行後のセットアップ
|
||
|
||
データのインポート後、ワークスペースの設定を完了します:
|
||
|
||
### ビューを再作成
|
||
|
||
* フィルター、並べ替え、列の構成を含む保存済みビューを設定します
|
||
* 必要なカンバンビューやカレンダービューを作成します
|
||
|
||
### ワークフローを再作成
|
||
|
||
* **設定 → ワークフロー** で自動化を再構築します
|
||
* 最も重要なワークフローから開始する
|
||
* 運用に入れる前に各ワークフローをテストします
|
||
|
||
### 役割と権限の設定
|
||
|
||
* **設定 → メンバー → 役割** で役割を設定します
|
||
* ユーザーに適切な役割を割り当てます
|
||
|
||
### メールとカレンダーの連携
|
||
|
||
* 各ユーザーは **設定 → アカウント** で自分のアカウントを接続します
|
||
* Twenty がメールを連絡先レコードと同期し始めます
|
||
* [メールとカレンダー](/l/ja/user-guide/calendar-emails/overview) を参照
|
||
|
||
### チームのトレーニング
|
||
|
||
* 新しいインターフェースを一緒に確認する
|
||
* チーム固有のプロセスを文書化する
|
||
|
||
## 一般的な問題と解決策
|
||
|
||
| 問題 | 原因 | 解決策 |
|
||
| ------------------ | ---------------- | -------------------------------------------- |
|
||
| **重複エラー** | メール/ドメインがすでに存在する | ファイルから重複を削除するか、一意の識別子を含めて既存のレコードを更新する |
|
||
| **リレーションが見つかりません** | 親レコードが存在しない | 親オブジェクトを先にインポートする(連絡先の前に会社) |
|
||
| **不足しているフィールド** | カスタムフィールドが存在しない | インポート前に **設定 → データモデル** でフィールドを作成する |
|
||
| **選択フィールドのエラー** | 表示ラベルを使用している | API 名を使用する(設定で詳細モードを有効にして確認) |
|
||
| **ユーザーのリレーションが空** | ユーザーが招待を受諾していない | データをインポートする前に、すべてのユーザーが招待を受諾していることを確認してください。 |
|
||
|
||
詳細なトラブルシューティング手順は、[インポートエラーを解決する方法](/l/ja/user-guide/data-migration/how-tos/fix-import-errors) を参照してください。
|
||
|
||
## ポスト移行チェックリスト
|
||
|
||
### データの整合性
|
||
|
||
<Check>すべてのレコードがインポートされた(ソースシステムの件数と比較)</Check>
|
||
<Check>リレーションが正常に機能している(連絡先が会社にリンク)</Check>
|
||
<Check>ユーザーの割り当てが正しくマッピングされている(所有者、担当者)</Check>
|
||
<Check>カスタムフィールドが入力されている</Check>
|
||
<Check>想定外の重複がない</Check>
|
||
|
||
### 構成
|
||
|
||
<Check>ビューを再作成済み</Check>
|
||
<Check>ワークフローを再作成しテスト済み</Check>
|
||
<Check>役割と権限を設定済み</Check>
|
||
<Check>メール/カレンダー同期を接続済み</Check>
|
||
|
||
### チームの準備状況
|
||
|
||
<Check>新しいシステムについてチームをトレーニング済み</Check>
|
||
<Check>旧 CRM のアクセス計画を決定(参照用に保持する? いつ無効化するか?)</Check>
|
||
|
||
## FAQ
|
||
|
||
<AccordionGroup>
|
||
<Accordion title="ワークフローを自動的に移行できますか?">
|
||
現時点ではできません。 ワークフローは Twenty で手動で再作成する必要があります。
|
||
</Accordion>
|
||
|
||
<Accordion title="ファイル添付はどうなりますか?">
|
||
CSV のエクスポートにはファイル添付は含まれません。 手動で再アップロードするか、API で移行するか、サポートが必要な場合は弊社チームにご連絡ください。
|
||
</Accordion>
|
||
|
||
<Accordion title="移行中に両方のシステムを稼働させておけますか?">
|
||
はい、移行が完了したことを確認するまでは、旧 CRM を稼働させておくことを推奨します。 ただし、両方の環境で新しいデータを作成しないよう注意してください。
|
||
</Accordion>
|
||
|
||
<Accordion title="移行には通常どれくらい時間がかかりますか?">
|
||
データの量と複雑さによります。 小規模な移行(1 万件未満)は数時間で完了します。 大規模な移行は、データのクリーンアップやテストを含め、数日かかる場合があります。
|
||
</Accordion>
|
||
</AccordionGroup>
|
||
|
||
## ヘルプが必要ですか?
|
||
|
||
<Tip>
|
||
移行についてサポートが必要ですか? [認定済みの Twenty パートナーを探す](https://twenty.com/partners/list?categories=SOLUTIONING\&ref=docs-migrate-crm)ことで、データ、パイプライン、ユーザーの移行を最初から最後まで任せられます。
|
||
</Tip>
|