用途:把旧版 Field Service 移动屏幕流程(processType='FieldServiceMobile')迁移到 DataCaptureFlow,目标是让 Field Service 客户从 Mobile Screen Flow 转向 Data Capture 数字表单。
主要能力:全自动 XML 转换,处理已知迁移模式,包括字段类型转换、执行图重构、变量去重、平台事件移除;支持子流程依赖树解析(叶子优先迁移)、批量并行转换、迁移摘要生成、干跑校验与草稿部署,并保留回滚快照。
使用方式:先明确迁移范围(单个、若干命名流程或全部),再通过 Tooling REST API 查询流程,用 sf project retrieve start --metadata "Flow:<FlowApiName>" --target-org <alias> 取回 XML;校验候选(需同时含 FieldServiceMobile 与 <screens>);用 discover_subflow_tree.py 解析子流程树,transform_flow.py 转换(子流程加 --is-subflow),convert_to_dc_spec.py 与 generate_summary.py 生成摘要;可选 validate_flow.sh --bundle 干跑,deploy_flow.sh 部署(仅 Draft),最后查询 DataCaptureFlow 验证。
适用场景:Field Service 移动表单现代化、批量迁移旧流程、需要离线优先与实时校验的表单场景。
限制:仅迁移含 <screens> 的 FieldServiceMobile 流程,纯自动化流程不迁移;Apex/action 调用、子流程、故障路径、自定义组件、未知字段类型会产生 _incompleteMigration 与 XML 注释,不支持字段槽位变为只读 DisplayText;部署仅 Draft,激活需手动;依赖项筛选、后台补全、提交后编辑等能力暂未提供或属路线图;Slack 画布需 MCP 工具,离线运行跳过校验与部署。