crm-deduplication
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseCRM deduplication
CRM 去重
State: to-be-approved. Deploy-verified against a live workspace: not yet. Treat
below as the acceptance test and review before deploying. Make no outcome claim
for this skill until it is approved.
Done whencargo-ai project plan状态:待批准。 已针对实时 workspace 完成部署验证:尚未完成。请将下文的
视为验收测试,并在部署前审阅 。在该 skill 获得批准前,
不要对该 skill 的结果作出任何声明。
Done whencargo-ai project planThe outcome
结果
Choose the account path, contact path, or both. Each selected path has its own CRM model, identity
audit, matching policy, survivor policy, disabled play, cost preview, pilot approval, and acceptance
criteria. Approval for one path does not authorize the other.
选择公司账户路径、联系人路径或两者。每个选定路径都有自己独立的 CRM 模型、身份
审核、匹配策略、保留记录策略、停用的 play、成本预览、试点批准和验收标准。
批准其中一条路径并不代表同时批准另一条路径。
Path 1: Account deduplication
路径 1:公司账户去重
deduplicate_accountsThe default survivor policy prefers protected business IDs, customers, commercial activity,
populated records, recent activity, older creation time, then the smallest CRM record ID.
deduplicate_accounts默认保留记录策略依次优先考虑:受保护的业务 ID、客户身份、商业活动、信息完整的记录、
近期活动、较早的创建时间,最后是最小的 CRM 记录 ID。
Path 2: Contact deduplication
路径 2:联系人去重
deduplicate_contactsLinkedIn identity conflicts, generic or shared email, and phone-only matches never merge
automatically. Low-confidence clusters reach Human Review when that path is enabled and otherwise
remain untouched. The native merge is the final CRM write. Normalization, enrichment, and
association changes belong in a separately approved workflow.
deduplicate_contacts存在 LinkedIn 身份冲突、使用通用或共享邮箱,以及仅通过电话号码匹配的情况永远不会自动合并。
低置信度聚类会在启用该路径时进入 Human Review,否则保持不变。原生 merge 是最终一次
CRM 写入。标准化、数据补全和关联关系变更应由单独批准的工作流负责。
Shared merge contract
共享合并契约
Both plays run directly on authoritative CRM-backed models, refresh candidates from the CRM before
scoring, and stop when the queued source record is missing or no duplicate remains. Automatic and
approved Human Review paths are the only merge paths. Decline or timeout leaves records separate.
No candidate or staging model is created.
The checked example in is HubSpot. Salesforce and Attio adapt the connector, extractor,
record-ID field, search action, merge action, and property slugs together. Keep one CRM shape across
the selected paths.
infra/When matching-key coverage is weak, recommend before building the affected path.
That is a recommendation, not a dependency: installs and operates independently.
crm-enrichmentcrm-deduplication两个 play 都直接运行在由权威 CRM 支撑的模型上,在评分前从 CRM 刷新候选项,并在队列中的
源记录缺失或不再存在重复项时停止。自动路径和经批准的 Human Review 路径是仅有的合并路径。
拒绝或超时会让记录保持分离。不会创建候选项模型或暂存模型。
infra/当匹配键的覆盖范围不足时,建议在构建受影响路径之前使用 。
这只是建议而非依赖: 可以独立安装和运行。
crm-enrichmentcrm-deduplicationExample
示例
Merge duplicate HubSpot companies automatically only when the LinkedIn company ID matches, and send everything else to #crm-hygiene for a human to approve.
Illustrative output, fictional records:
text
#crm-hygiene · Review CRM account merge into 18234
Duplicate score: 72/100
Survivor: 18234
Records to merge: 20911
Identity conflict: false
Protected ID conflict: false
Parent/subsidiary warning: false
Evidence:
18234, linkedin id none, linkedin northwind-traders, domain northwind.example, protected no, parent none
20911, linkedin id none, linkedin northwind-traders, domain northwind.example, protected no, parent none
[Approve] [Decline]Two records sharing a LinkedIn page and a domain, but no LinkedIn company ID, wait for a reviewer;
approve merges 20911 into 18234, while decline or 24 hours of silence leaves both untouched.
仅当 LinkedIn company ID 匹配时,自动合并重复的 HubSpot 公司,并将其他所有项发送到 #crm-hygiene,由人工审批。
示例输出,记录均为虚构:
text
#crm-hygiene · Review CRM account merge into 18234
Duplicate score: 72/100
Survivor: 18234
Records to merge: 20911
Identity conflict: false
Protected ID conflict: false
Parent/subsidiary warning: false
Evidence:
18234, linkedin id none, linkedin northwind-traders, domain northwind.example, protected no, parent none
20911, linkedin id none, linkedin northwind-traders, domain northwind.example, protected no, parent none
[Approve] [Decline]两条记录共享一个 LinkedIn page 和一个域名,但没有 LinkedIn company ID,因此会等待审核人员处理;
批准会将 20911 合并到 18234,而拒绝或静默 24 小时则会让两条记录保持不变。
Put it in your project
放入你的项目
This folder is a worked example: real project resources written for another company. The job is to
end with the code this company would have written in its project.
Install the required authoring skill first. If is absent, run:
cargo-projectsh
npx skills add getcargohq/cargo-skills --skill cargo-projectRead directly after installation. Complete its bootstrap and use
its authoring, state, plan, and deployment rules throughout this pipeline.
.agents/skills/cargo-project/SKILL.md- Install it: the CLI does the copy. From inside the project (the folder holding ),
cargo.jsonwrites this example tocargo-ai project add cookbook/crm-deduplicationand this procedure toinfra/crm-deduplication/. No project yet?.claude/skills/crm-deduplication/does both; this folder never ships a shell. If you are reading this from the project'scargo-ai project init <dir> --cookbook crm-deduplication && cd <dir> && npm install, the install already happened. Start at step 2. On a CLI too old to have.claude/skills/, copy this folder in as a sibling of what is there by hand; everything below is unchanged.add - Choose paths and reconcile resources. Select account deduplication, contact deduplication, or
both. Remove unselected model and play files, then update the contract's exact resource inventory,
connector assertions, and object-specific assertions. Rewire each selected path to compatible CRM
resources already in the project and remove duplicate declarations. Keep each play on its
object-specific CRM model. Append environment requirements to ; preserve existing content.
.env.example - Audit and approve each selected path. Follow the matching path in
. Present its identity coverage, candidate classes, conflicts, survivor policy, automatic class, and review destination. Stop for approval of that path's policy and disabled deployment. Approval does not carry across paths.
references/audit.md - Adapt and deploy disabled. Follow the matching path in
. Record adaptations under
references/configure.mdin the copied skill. Run the executable contract, generated types, check, and plan. Inspect the selected graph and deploy only its approved resources with## Decisions. Never runisEnabled: falsein a non-empty directory.cargo-ai project init --force - Hand off each path for pilot approval. Send its direct play link, exact population, current action costs, and approved policy. Stop for explicit approval of that merge-capable pilot.
- Run and report each approved path. Follow the matching path in
, then walk its section in
references/run.mdline by line.evals/acceptance.md
本目录是一个实战示例:其中包含为另一家公司编写的真实项目资源。最终目标是产出该公司
在自己的项目中会编写的代码。
首先安装必需的编写 skill。 如果缺少 ,请运行:
cargo-projectsh
npx skills add getcargohq/cargo-skills --skill cargo-project安装后,直接读取 。完成其 bootstrap,并在整个流水线中
使用其中的编写、状态、计划和部署规则。
.agents/skills/cargo-project/SKILL.md- 安装:CLI 负责复制。 在项目目录(包含 的目录)中运行
cargo.json,会将此示例写入cargo-ai project add cookbook/crm-deduplication,并将此流程写入infra/crm-deduplication/。 还没有项目?运行.claude/skills/crm-deduplication/即可同时完成操作;本目录本身不附带 shell。如果你正在项目的cargo-ai project init <dir> --cookbook crm-deduplication && cd <dir> && npm install中阅读本文, 则安装已经完成,请从步骤 2 开始。 如果 CLI 版本过旧,尚不支持.claude/skills/,则手动将此目录作为 现有内容的同级目录复制进来;以下所有步骤保持不变。add - 选择路径并对齐资源。 选择公司账户去重、联系人去重或两者兼有。删除未选定路径的模型和
play 文件,然后更新 contract 中的精确资源清单、连接器断言和对象特定断言。将每个选定路径
重新连接到项目中已有的兼容 CRM 资源,并移除重复声明。每个 play 都应保留在其对象特定的
CRM 模型上。将环境变量要求追加到 ;保留现有内容。
.env.example - 审核并批准每条选定路径。 按照匹配路径遵循
。展示其身份标识覆盖率、候选类别、冲突、 保留记录策略、自动合并类别和审核目的地。在该路径的策略和停用部署获得批准前停止。 批准不会跨路径生效。
references/audit.md - 调整并以停用状态部署。 按照匹配路径遵循
。在复制后的 skill 的
references/configure.md下记录调整内容。 运行可执行 contract、generated types、check 和 plan。检查选定的工作流图,并且仅以## Decisions部署已批准的资源。绝不要在非空目录中运行isEnabled: false。cargo-ai project init --force - 将每条路径移交以获得试点批准。 提供其直接 play 链接、准确的记录范围、当前操作成本和 已批准的策略。必须明确批准这个具备合并能力的试点后才能继续。
- 运行并报告每条已批准路径。 按照匹配路径遵循 , 然后逐行执行
references/run.md中对应部分。evals/acceptance.md
Account path setup
公司账户路径设置
Verify the live company schema, record ID, LinkedIn company properties, domain property, protected
business identifiers, parent-company property, and survivor inputs. The account audit and policy
must be approved before adapting or .
crm_accountsdeduplicate_accounts验证实时公司 schema、记录 ID、LinkedIn company 属性、域名属性、受保护业务标识符、
母公司属性和保留记录输入。在调整 或 之前,必须批准
公司账户审核和策略。
crm_accountsdeduplicate_accountsContact path setup
联系人路径设置
Verify the live contact schema, record ID, LinkedIn person properties, email, phone, association
evidence, and survivor inputs. Decide whether low-confidence clusters enter Human Review or remain
untouched. The contact audit and policy must be approved before adapting or
.
crm_contactsdeduplicate_contacts验证实时联系人 schema、记录 ID、LinkedIn person 属性、邮箱、电话号码、关联证据和保留记录输入。
决定低置信度聚类是进入 Human Review,还是保持不变。在调整 或
之前,必须批准联系人审核和策略。
crm_contactsdeduplicate_contactsShared review setup
共享审核设置
Resolve the default CRM connector for every selected path. Account deduplication requires Slack
Human Review. Contact deduplication requires Slack only when low-confidence review is enabled.
Replace each active with its approved destination. If both paths use
one channel, each still needs its own approved review policy and pilot. No paid call, review request,
or CRM write occurs during either audit.
PLACEHOLDER_REVIEW_CHANNEL_ID确定每条选定路径使用的默认 CRM 连接器。公司账户去重需要 Slack Human Review。
仅当联系人路径启用低置信度审核时,联系人去重才需要 Slack。将每个处于启用状态的
替换为已批准的目的地。如果两条路径使用同一频道,
每条路径仍需拥有各自已批准的审核策略和试点。在任一审核期间,都不会发生付费调用、
审核请求或 CRM 写入。
PLACEHOLDER_REVIEW_CHANNEL_IDWhat you will be asked
你会被要求提供什么
Derive what can be discovered before asking the operator. Ask only for decisions that change the
selected path's candidate population, merge policy, review ownership, or spend.
先确定可以自动发现的信息,再询问操作员。只询问那些会改变所选路径的候选记录范围、
合并策略、审核责任归属或支出的决策。
Shared inputs
共享输入
| Input | Kind | How it is answered | Why it matters |
|---|---|---|---|
| derived | Inspect authenticated connectors, selected extracts, and generated action types | Sets objects, IDs, search, merge, and property behavior |
| derived | Read whether the request names account deduplication, contact deduplication, or both | Sets which audits, resources, approvals, and pilots are in scope |
| derived | Read current CRM metadata plus Slack metadata for paths with active review | Each path's handoff must disclose its current maximum cost |
| 输入 | 类型 | 如何得出 | 重要性 |
|---|---|---|---|
| 推导得出 | 检查已认证的连接器、所选 extract 和生成的 action type | 决定对象、ID、搜索、合并和属性行为 |
| 推导得出 | 判断请求指定的是公司账户去重、联系人去重,还是两者 | 决定审核、资源、批准和试点的范围 |
| 推导得出 | 读取当前 CRM 元数据,以及启用审核路径的 Slack 元数据 | 每条路径移交时都必须披露当前最高成本 |
Path 1: Account inputs
路径 1:公司账户输入
| Input | Kind | How it is answered | Why it matters |
|---|---|---|---|
| derived | Audit company identifiers, conflicts, candidate classes, and survivor inputs | Grounds the account policy in current CRM records |
| asked | Review keys, protected fields, survivor precedence, score, and automatic class | Controls every company candidate and unattended merge |
| asked | Select Slack channel, owner, and timeout for uncertain company clusters | Gives manual company decisions an accountable owner |
| asked | Approve the disabled build, then the exact merge-capable pilot as separate decisions | Separates deployment from company-record mutation |
| 输入 | 类型 | 如何得出 | 重要性 |
|---|---|---|---|
| 推导得出 | 审核公司标识符、冲突、候选类别和保留记录输入 | 使公司账户策略以当前 CRM 记录为依据 |
| 需询问 | 审核匹配键、受保护字段、保留记录优先级、评分和自动合并类别 | 控制每个公司候选项及无人值守合并 |
| 需询问 | 为不确定的公司聚类选择 Slack 频道、负责人和超时时间 | 为人工处理公司决策明确责任归属 |
| 需询问 | 将停用构建的批准与指定合并试点的批准作为两个独立决策 | 区分部署与公司记录变更 |
Path 2: Contact inputs
路径 2:联系人输入
| Input | Kind | How it is answered | Why it matters |
|---|---|---|---|
| derived | Audit person identifiers, conflicts, candidate classes, and survivor inputs | Grounds the contact policy in current CRM records |
| asked | Review keys, global guards, survivor precedence, and automatic classes | Controls every person candidate and unattended merge |
| asked | Decide whether low-confidence groups enter review; if yes, approve channel and timeout | Defines the non-automatic contact path |
| asked | Approve the disabled build, then the exact merge-capable pilot as separate decisions | Separates deployment from contact-record mutation |
| 输入 | 类型 | 如何得出 | 重要性 |
|---|---|---|---|
| 推导得出 | 审核人员标识符、冲突、候选类别和保留记录输入 | 使联系人策略以当前 CRM 记录为依据 |
| 需询问 | 审核匹配键、全局防护规则、保留记录优先级和自动合并类别 | 控制每个联系人候选项及无人值守合并 |
| 需询问 | 决定低置信度分组是否进入审核;如果进入,则批准频道和超时时间 | 定义联系人的非自动处理路径 |
| 需询问 | 将停用构建的批准与指定合并试点的批准作为两个独立决策 | 区分部署与联系人记录变更 |
What you can change
可以更改什么
Offer only variations relevant to the selected path. Record each approved variation with its
effect on candidates, safeguards, and validation.
只提供与所选路径相关的变体。记录每项已批准变体及其对候选项、防护措施和验证的影响。
Shared variations
共享变体
| Variation | When it is right | How | What it costs |
|---|---|---|---|
| The consumer uses Salesforce or Attio | Replace connector, extract, record ID, search, merge, and properties across selected paths | Generated types and native merge semantics must be revalidated |
| Ambiguous evidence needs a concise review aid | Add priced structured evidence before Human Review only; never use it to bypass deterministic guards | Adds model cost and a non-deterministic review surface |
| 变体 | 适用场景 | 操作方式 | 成本或影响 |
|---|---|---|---|
| 使用方采用 Salesforce 或 Attio | 在所有选定路径中同步替换连接器、extract、记录 ID、搜索、合并和属性 | 必须重新验证生成的类型和原生合并语义 |
| 模糊证据需要简洁的审核辅助信息 | 仅在 Human Review 之前添加需计费的结构化证据;绝不能用于绕过确定性防护规则 | 增加模型成本和非确定性审核面 |
Path 1: Account variations
路径 1:公司账户变体
| Variation | When it is right | How | What it costs |
|---|---|---|---|
| The CRM has another approved durable company identity | Add it to search, normalization, evidence, conflict gates, review, and contract tests | Wider matching can create new false-positive company classes |
| Protected lifecycle, billing, tier, or customer policy must win | Change the account ranker and its contract fixtures together | A policy change can select a different survivor for every cluster |
| 变体 | 适用场景 | 操作方式 | 成本或影响 |
|---|---|---|---|
| CRM 中存在另一个已批准、持久有效的公司身份标识 | 将其加入搜索、标准化、证据、冲突门控、审核和 contract 测试 | 扩大匹配范围可能产生新的公司误匹配类别 |
| 必须优先遵循受保护的生命周期、计费、层级或客户策略 | 同时修改公司账户排序器及其 contract 固定测试数据 | 策略变更可能为每个聚类选择不同的保留记录 |
Path 2: Contact variations
路径 2:联系人变体
| Variation | When it is right | How | What it costs |
|---|---|---|---|
| The CRM has another approved durable person identity | Add it to both searches, normalization, evidence, conflict gates, review, and tests | Wider matching can create new false-positive person classes |
| Commercial history or activity policy differs | Change the contact ranker and its contract fixtures together | A policy change can select a different survivor for every group |
| The operator wants phone-only or ambiguous groups surfaced | Keep Human Review enabled, or remove that branch and update the contact contract so those groups end untouched | Review volume changes; disabled review leaves more duplicates |
| 变体 | 适用场景 | 操作方式 | 成本或影响 |
|---|---|---|---|
| CRM 中存在另一个已批准、持久有效的人员身份标识 | 将其加入两次搜索、标准化、证据、冲突门控、审核和测试 | 扩大匹配范围可能产生新的人员误匹配类别 |
| 商业往来历史或活动策略有所不同 | 同时修改联系人排序器及其 contract 固定测试数据 | 策略变更可能为每个分组选择不同的保留记录 |
| 操作员希望仅通过电话号码匹配的分组或模糊分组也被发现 | 保持 Human Review 启用,或移除该分支并更新联系人 contract,使这些分组最终保持不变 | 审核量会发生变化;停用审核会留下更多重复项 |
What should not change
不应更改什么
Shared invariants
共享不变量
- Run on authoritative CRM models. () Each selected play uses its object-specific CRM extract and record ID. A candidate model introduces another identity system and can target the wrong record.
infra/plays/ - Search live CRM rows before scoring. () The CRM search refreshes candidate membership for every run. Audit snapshots can become stale before a merge.
infra/plays/ - Search, prepare, score, then decide. () Deterministic preparation retains the fresh source once, normalizes evidence, and selects one survivor before the automatic gate.
infra/scripts/ - Merge only on automatic or approved paths. () Human approval reaches the reviewed merge. Decline and timeout end without a CRM write.
infra/plays/ - Stop stale queued rows. () A source missing from the fresh search ends before scoring or emitting merge IDs.
infra/plays/ - Keep one CRM shape. Adapt HubSpot in place. Parallel CRM branches drift from the generated types connected to the selected paths.
- Keep pilots disabled, serial, and limited. () Each selected play remains disabled,
infra/plays/, and limited to 15 rows until its verified pilot is approved for expansion.noConcurrency
- 在权威 CRM 模型上运行。()每个选定 play 都使用其对象特定的 CRM extract 和记录 ID。候选项模型会引入另一套身份体系,并可能指向错误记录。
infra/plays/ - 评分前搜索实时 CRM 行。()每次运行,CRM 搜索都会刷新候选项成员关系。 审核快照可能在合并前已经过期。
infra/plays/ - 依次执行搜索、准备、评分和决策。()确定性准备步骤仅保留一次最新源数据, 标准化证据,并在进入自动门控前选择一个保留记录。
infra/scripts/ - 仅在自动路径或经批准的路径上合并。()人工批准会进入审核后的合并; 拒绝和超时会直接结束,不写入 CRM。
infra/plays/ - 停止处理过期的队列记录。()如果源记录未出现在最新搜索结果中, 则在评分或输出 merge ID 之前结束。
infra/plays/ - **保持单一 CRM 结构。**就地调整 HubSpot。并行的 CRM 分支会与选定路径连接的生成类型发生偏差。
- 保持试点停用、串行且范围受限。()每个选定 play 保持停用、
infra/plays/,并限制为 15 行,直到其经过验证的试点获准扩展。noConcurrency
Path 1: Account invariants
路径 1:公司账户不变量
- Keep the automatic company class narrow. () Exact shared LinkedIn company ID, score at least 60, and no identity, protected-ID, or parent-subsidiary conflict are all required. Every other candidate reaches Human Review.
infra/plays/deduplicate-accounts.ts - Keep names out of identity. () Company name is excluded from candidate generation and scoring. The checked review payload does not rely on it.
infra/scripts/accounts/ - Protect business identities and corporate structure. Conflicting protected IDs and parent-subsidiary clusters never merge automatically.
- 保持自动公司类别足够严格。()必须同时满足双方具有 完全相同的 LinkedIn company ID、评分至少为 60,且不存在身份、受保护 ID 或母子公司冲突。 其他所有候选项都进入 Human Review。
infra/plays/deduplicate-accounts.ts - 不将名称用于身份判断。()公司名称不参与候选项生成和评分。 经过检查的审核载荷也不依赖公司名称。
infra/scripts/accounts/ - **保护业务身份和公司组织结构。**存在受保护 ID 冲突及母子公司聚类时,永远不会自动合并。
Path 2: Contact invariants
路径 2:联系人不变量
- Apply person guards globally. () Every automatic contact class is disqualified by a LinkedIn identity conflict or generic or shared email.
infra/scripts/contacts/evidence.ts - Keep phone-only groups out of automatic merge. Phone is a candidate key and review aid, not sufficient unattended identity evidence.
- Expand transitive groups before deciding. () The second live search gathers every high-confidence identity key discovered by the direct search.
infra/plays/deduplicate-contacts.ts - End after native merge. () Deduplication creates no post-merge update node. A separate approved workflow owns normalization, enrichment, and association changes.
infra/plays/deduplicate-contacts.ts
- 全局应用人员防护规则。()任何自动联系人类别只要存在 LinkedIn 身份冲突,或使用通用或共享邮箱,就会失去自动合并资格。
infra/scripts/contacts/evidence.ts - **将仅通过电话号码匹配的分组排除在自动合并之外。**电话号码是候选键和审核辅助信息, 但不足以作为无人值守合并的充分身份证据。
- 决策前扩展传递性分组。()第二次实时搜索会收集 第一次直接搜索发现的所有高置信度身份键。
infra/plays/deduplicate-contacts.ts - 原生 merge 后即结束。()去重流程不会创建合并后更新节点。 标准化、数据补全和关联关系变更由单独批准的工作流负责。
infra/plays/deduplicate-contacts.ts
Done when
完成标准(Done when)
Shared completion
共享完成条件
- the operator selected account deduplication, contact deduplication, or both
- each selected path has its own reconciled audit, policy approval, disabled-build approval, priced pilot approval, and final report
- the selected resources use one CRM connector, a Slack connector for every path with active review, object-specific CRM models, and no candidate or staging model
- generated types confirm selected search and merge payloads plus Human Review for paths that use it
- ,
node --import tsx evals/contract.mjs,cargo-ai project types, andcargo-ai project checkpass after adaptationcargo-ai project plan - every selected play is disabled, , and limited to 15 CRM rows before its pilot
noConcurrency
- 操作员选择了公司账户去重、联系人去重或两者兼有
- 每条选定路径都有各自对齐后的审核、策略批准、停用构建批准、计费试点批准和最终报告
- 选定资源使用一个 CRM 连接器;每条启用审核的路径都使用 Slack 连接器;使用对象特定的 CRM 模型;且不存在候选项模型或暂存模型
- 生成的类型确认了选定路径的搜索与合并载荷,以及使用审核的路径所需的 Human Review
- 调整后,、
node --import tsx evals/contract.mjs、cargo-ai project types和cargo-ai project check全部通过cargo-ai project plan - 在试点开始前,每个选定 play 都处于停用状态、配置了 ,并限制为 15 条 CRM 记录
noConcurrency
Path 1: Account completion
路径 1:公司账户完成条件
- the account audit reconciles company identifier coverage, mutually exclusive classes, conflicts, survivor evidence, and proposed merge IDs to the source total
- runs directly on
deduplicate_accountsand searches companies livecrm_accounts - its graph contains preparation, native Scoring, the guarded Branch, native Human Review, and CRM merges only on automatic or approved paths
- automatic merge requires exact shared LinkedIn company ID and every account conflict guard
- every account survivor and absorbed company ID is verified in the CRM
- 公司账户审核将公司标识符覆盖率、互斥类别、冲突、保留记录证据和拟议 merge ID 与来源总数对齐
- 直接在
deduplicate_accounts上运行,并实时搜索公司crm_accounts - 其工作流图包含准备步骤、原生 Scoring、受防护的 Branch、原生 Human Review,且仅在自动路径或 经批准的路径上执行 CRM 合并
- 自动合并要求双方具有完全相同的 LinkedIn company ID,并满足每项公司账户冲突防护规则
- 每个公司账户保留记录及被合并掉的公司 ID 均已在 CRM 中验证
Path 2: Contact completion
路径 2:联系人完成条件
- the contact audit reconciles source totals, person identifier coverage, unique candidate clusters, conflicts, survivor evidence, and proposed merge IDs, and reports overlapping matched classes separately
- runs directly on
deduplicate_contactsand performs both direct and transitive live searchescrm_contacts - its graph contains preparation, native Scoring, the guarded Branch, optional native Human Review, and CRM merges only on automatic or approved paths
- automatic merge requires one approved high-confidence class plus every global contact guard
- the merge is the final CRM write, and every contact survivor and absorbed ID is verified in the CRM
- 联系人审核将来源总数、人员标识符覆盖率、唯一候选聚类、冲突、保留记录证据和拟议 merge ID 对齐, 并单独报告重叠的匹配类别
- 直接在
deduplicate_contacts上运行,并执行直接搜索和传递性实时搜索crm_contacts - 其工作流图包含准备步骤、原生 Scoring、受防护的 Branch、可选的原生 Human Review,且仅在自动路径或 经批准的路径上执行 CRM 合并
- 自动合并要求满足一个已批准的高置信度类别,并满足每项全局联系人防护规则
- merge 是最终一次 CRM 写入,每个联系人保留记录及被合并掉的 ID 均已在 CRM 中验证
What it costs
成本
Immediately before each selected path's preview, run
and, when review is enabled,
. Record the CLI version, lookup time, action slugs, and
current cost metadata. The repository does not hard-code pipeline action prices.
cargo-ai connection integration get <crm>cargo-ai connection integration get slack紧接每条选定路径的预览之前,运行
;启用审核时,还要运行
。记录 CLI 版本、查询时间、操作 slug 和当前成本元数据。
仓库不会硬编码流水线操作价格。
cargo-ai connection integration get <crm>cargo-ai connection integration get slackPath 1: Account cost
路径 1:公司账户成本
Price the account search, automatic or approved company merge, and Human Review actions against the
exact account population. Approval authorizes only the company clusters shown for that pilot.
根据准确的公司账户记录范围,对公司账户搜索、自动或经批准的公司合并以及 Human Review 操作计价。
批准仅授权该试点中展示的公司聚类。
Path 2: Contact cost
路径 2:联系人成本
Price both contact searches, automatic or approved contact merge, and enabled Human Review actions
against the exact contact population. Approval authorizes only the person clusters shown for that
pilot.
Enabling either recurring schedule is a separate final approval after that path's pilot passes.
根据准确的联系人记录范围,对两次联系人搜索、自动或经批准的联系人合并以及启用的 Human Review
操作计价。批准仅授权该试点中展示的人员聚类。
任一周期性计划启用,都属于该路径试点通过后的单独最终批准事项。
Composes into
后续组合
Nothing in particular comes after it: the survivors are the records anything reading the CRM sees.
后面没有特定的后续流程:保留记录就是任何读取 CRM 的组件最终看到的记录。