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 3s
290 lines
9.7 KiB
Plaintext
290 lines
9.7 KiB
Plaintext
---
|
||
title: 从其他CRM迁移
|
||
description: 分步指南:将您的数据从任何客户关系管理系统迁移到 Twenty。
|
||
---
|
||
|
||
## 概览
|
||
|
||
本指南将引导您将数据从任何客户关系管理系统迁移到 Twenty。 该过程包括审核您的数据、准备您的 Twenty 工作区、从当前系统导出,并导入到 Twenty。
|
||
|
||
<Note>视图、工作流和权限必须在迁移后手动重新创建。 为这些配置工作预留时间。</Note>
|
||
|
||
## 步骤 1:审核您现有的数据
|
||
|
||
迁移是一个重新开始的机会。 不要把冗余内容带过来。
|
||
|
||
**应保留的内容:**
|
||
|
||
* 活跃的联系人和公司
|
||
* 进行中的机会和交易
|
||
* 重要的备注和活动
|
||
* 实际使用的自定义字段
|
||
|
||
**应舍弃的内容:**
|
||
|
||
* 过时的联系人(超过 2 年无任何活动)
|
||
* 重复记录
|
||
* 测试数据
|
||
* 未使用的自定义字段
|
||
|
||
## 步骤 2:映射您的数据模型
|
||
|
||
在您当前的客户关系管理系统与 Twenty 之间创建一份映射文档:
|
||
|
||
| 您的客户关系管理系统 | Twenty |
|
||
| ---------- | --------------- |
|
||
| 账户 / 组织 | **公司** |
|
||
| 联系人 / 人员 | **人员** |
|
||
| 交易 / 机会 | **商业机会** |
|
||
| 活动 | **任务** 或 **注意** |
|
||
| 自定义对象 | **自定义对象** |
|
||
|
||
**对于每个字段,文档:**
|
||
|
||
* 源字段名称
|
||
* 目标20领域
|
||
* 任何需要的格式转换 (日期, 电话号码等)
|
||
|
||
<Note>在导入过程中保持此映射文档的便捷性—您将在映射列时引用。</Note>
|
||
|
||
## 第 3 步:设置您的20个工作区
|
||
|
||
在导入数据之前,准备您的20个工作区:
|
||
|
||
### 创建自定义对象和字段
|
||
|
||
1. 转到**设置 -> 数据模型**
|
||
2. 创建您需要的任何自定义对象
|
||
3. 将自定义字段添加到标准和自定义对象
|
||
4. 配置字段设置 (独特,需要选择选项等)
|
||
|
||
<Warning>
|
||
**字段必须在导入前存在。**
|
||
|
||
CSV 导入创建记录,而不是字段。 在导入前在 设置 -> 数据模型中创建所有自定义字段。
|
||
</Warning>
|
||
|
||
### 邀请您的团队
|
||
|
||
<Warning>
|
||
**邀请用户BERE导入数据。**
|
||
|
||
如果您的数据包含用户引用(帐户所有者、受让人等),那么这些用户必须在20个时间内才能导入。 否则,就无法确定这些关系。
|
||
</Warning>
|
||
|
||
1. 转到 **设置 → 成员**
|
||
2. 邀请所有团队成员
|
||
3. **等待所有人接受**他们的邀请
|
||
4. 验证所有用户出现在您的会员列表
|
||
|
||
## 第 4 步:从您当前的 CRM 导出
|
||
|
||
从您当前的 CRM 导出数据:
|
||
|
||
1. 寻找一个 **导出** 函数 (通常在设置、 数据管理或管理下)
|
||
2. 尽可能导出为 **CSV 格式**
|
||
3. 单独导出每个对象类型 (公司、联系人、交易等)
|
||
4. 包括你想要迁移的所有字段
|
||
|
||
**导出这些对象(按此顺序作为参考):**
|
||
|
||
1. 公司/帐户 / 组织
|
||
2. 联系人 / 人员
|
||
3. 交易/机会
|
||
4. 说明和活动
|
||
5. 自定义对象
|
||
|
||
## 第 5 步:清理和格式化您的数据
|
||
|
||
在电子表格应用程序中打开每个导出的 CSV 并为20做准备。
|
||
|
||
### 删除重复项
|
||
|
||
1. 按唯一字段排序 (个人电子邮件,公司域)
|
||
2. 删除或合并重复的行
|
||
3. 验证不存在重复的 20 个已经存在
|
||
|
||
### 正确格式字段
|
||
|
||
| 字段类型 | 所需格式 |
|
||
| ----------- | -------------------------- |
|
||
| **域** | `https://domain.com` |
|
||
| **电子邮件** | `name@domain.com` (必须是唯一的) |
|
||
| **日期** | `YYY-MM-DD` |
|
||
| **电话** | 三列:数字,国家代码,呼叫代码 |
|
||
| **Boolean** | `TRUE` 或 `FALSE` (大写) |
|
||
| **选择字段** | 使用 API 名称,不显示标签 |
|
||
|
||
<Warning>
|
||
**域格式是关键。**
|
||
|
||
使用 `https://domain.com` (不是 `domain.com` 或 `www.domain.com` )。 这匹配20个格式,并且在您连接电子邮件/日历同步时防止重复。
|
||
</Warning>
|
||
|
||
查看[如何准备您的 CSV 文件](/l/zh/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/zh/user-guide/data-migration/how-tos/import-relations-between-objects-via-csv) 获取链接记录的详细说明。
|
||
|
||
### 更新用户引用
|
||
|
||
如果您的数据包含用户指派(Owner,指派):
|
||
|
||
1. 在 **用户的电子邮件** 中添加一列(不仅仅是旧系统中的他们的 ID)
|
||
2. 使用用户用来加入你的20个工作区的相同电子邮件地址
|
||
|
||
参见 [如何准备 CSV 文件](/l/zh/user-guide/data-migration/how-tos/prepare-your-csv-files) 以获取完整的格式指南。
|
||
|
||
## 步骤6:导入到 20
|
||
|
||
<Warning>
|
||
**导入订单事项!**
|
||
|
||
总是按此顺序导入:
|
||
1. **Companies** 优先(无依赖)
|
||
2. **People** 秒(链接到公司)
|
||
3. **Opportunities** 第三个(链接到公司/人民)
|
||
4. **便笺和任务** (链接到记录)
|
||
5. **自定义对象** 跟随他们的依赖关系
|
||
|
||
在您可以引用之前必须存在父记录。
|
||
</Warning>
|
||
|
||
### 导入每个对象
|
||
|
||
对于每个CSV文件,先后顺序:
|
||
|
||
1. 在 20 中导航到对象
|
||
2. 单击**视图-> 导入记录**
|
||
3. 上传CSV文件
|
||
4. 映射列到字段:
|
||
* 映射用户电子邮件列到适当的关系字段
|
||
* 映射关系列(例如`companyDomain`) 到关联字段
|
||
5. 审核并修复界面中的任何错误
|
||
6. 确认导入
|
||
7. 在继续到下一个文件之前验证几个记录
|
||
|
||
**详细指南:**
|
||
|
||
* [如何导入公司](/l/zh/user-guide/data-migration/how-tos/import-companies-via-csv)
|
||
* [如何导入联系人](/l/zh/user-guide/data-migration/how-tos/import-contacts-via-csv)
|
||
* [如何导入关系](/l/zh/user-guide/data-migration/how-tos/import-relations-between-objects-via-csv)
|
||
|
||
## 步骤7:大型迁移(50 000+个记录)
|
||
|
||
对于大型迁移:
|
||
|
||
| 音量 | 建议的办法 |
|
||
| ---------------- | ---------- |
|
||
| 不足1万份记录 | 单独导入 CSV |
|
||
| 10,000-50,000份记录 | 拆分成多个CSV文件 |
|
||
| 50,000多条记录 | 使用 API |
|
||
|
||
**用于API导入:**
|
||
|
||
* 更快、更可靠的大型数据集
|
||
* 支持批量操作 (每次呼叫最多60个记录)
|
||
* 查看[如何通过 API 导入数据](/l/zh/user-guide/data-migration/how-tos/import-data-via-api)
|
||
|
||
## 步骤8:迁移后设置
|
||
|
||
导入数据后,完成您的工作区配置:
|
||
|
||
### 重新创建视图
|
||
|
||
* 使用过滤器、排序和列配置设置已保存的视图
|
||
* 创建您需要的 kanban 或日历视图
|
||
|
||
### 重新创建工作流
|
||
|
||
* 在 **设置 -> Workflow** 中重建您的automatic
|
||
* 以最关键的工作流开始
|
||
* 在依赖之前测试每一个
|
||
|
||
### 配置角色和权限
|
||
|
||
* 在 **设置 → 成员 → 角色** 中设置角色
|
||
* 分配用户到适当的角色
|
||
|
||
### 连接电子邮件和日历
|
||
|
||
* 每个用户在 **设置 -> 帐户** 中连接自己的帐户
|
||
* 20个将开始同步电子邮件到联系记录
|
||
* 查看[电子邮件和日历](/l/zh/user-guide/calendar-emails/overview)
|
||
|
||
### 训练你的团队
|
||
|
||
* 通过新接口一起移动
|
||
* 记录任何特定团队的进程
|
||
|
||
## 常见问题及解决方案
|
||
|
||
| 问题 | 原因 | 解答 |
|
||
| ---------- | --------- | --------------------------- |
|
||
| **复制错误** | 电子邮件/域已存在 | 从文件中删除重复,或者包含唯一的标识符来更新现有记录 |
|
||
| **找不到关系** | 父记录不存在 | 首先导入父对象 (People之前的公司) |
|
||
| **缺少字段** | 自定义字段不存在 | 在导入前在设置 -> 数据模型中创建字段 |
|
||
| **选择字段错误** | 使用显示标签 | 使用 API 名称 (在设置中启用高级模式来查找他们) |
|
||
| **用户关系为空** | 用户未接受邀请 | 确保所有用户在导入前接受邀请 |
|
||
|
||
请参阅[如何修复导入错误](/l/zh/user-guide/data-migration/how-tos/fix-import-errors)详细故障排除步骤。
|
||
|
||
## 迁移后检查表
|
||
|
||
### 数据的完整性
|
||
|
||
<Check>所有记录均已导入(与源系统的数量进行比较)</Check>
|
||
<Check>关联工作正常(人员已关联到公司)</Check>
|
||
<Check>用户分配映射正确(Owner、Assignee)</Check>
|
||
<Check>自定义字段已填充</Check>
|
||
<Check>没有意外的重复项</Check>
|
||
|
||
### 配置
|
||
|
||
<Check>视图已重新创建</Check>
|
||
<Check>工作流已重新创建并通过测试</Check>
|
||
<Check>角色和权限已配置</Check>
|
||
<Check>邮件/日历同步已连接</Check>
|
||
|
||
### 团队准备情况
|
||
|
||
<Check>团队在新系统</Check>
|
||
<Check>老的 CRM 访问计划已决定 (保留以供参考吗? 何时禁用?)</Check>
|
||
|
||
## 常见问题
|
||
|
||
<AccordionGroup>
|
||
<Accordion title="我可以自动迁移工作流吗?">
|
||
不是当前的。 工作流必须在 20 中手动重新创建。
|
||
</Accordion>
|
||
|
||
<Accordion title="文件附件是什么?">
|
||
文件附件不包含在 CSV 导出中。 您需要手动重新上传他们,通过API迁移,或联系我们的团队寻求帮助。
|
||
</Accordion>
|
||
|
||
<Accordion title="我能在迁移期间保持两个系统运行吗?">
|
||
是的,我们建议保持您旧的 CRM 运行,直到您验证迁移完成。 请注意不要在这两个地方建立新的数据。
|
||
</Accordion>
|
||
|
||
<Accordion title="移徙通常需要多长时间?">
|
||
取决于数据量和复杂性。 可在几个小时内进行小规模移徙(不到10 000项记录)。 大规模迁移可能需要几天时间,包括数据清理和测试。
|
||
</Accordion>
|
||
</AccordionGroup>
|
||
|
||
## 需要帮助?
|
||
|
||
<Tip>
|
||
想在迁移过程中获得帮助吗? [查找认证的20个合作伙伴](https://twenty.com/partners/list?categories=SOLUTIONING\&ref=docs-migrate-crm) 以移动您的数据、管道和用户端到结束。
|
||
</Tip>
|