uipath-maestro-bpmn
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseReasoning budget
推理预算
- Match reasoning to step difficulty and bias toward acting; for mechanical / IO / format steps, if a provided script already covers the task, run it — don't re-derive it.
- Save deep, extended reasoning for the one genuinely hard judgment a script can't make for you.
- 根据步骤难度匹配推理方式,优先行动;对于机械/输入输出/格式类步骤,如果已有脚本可完成任务,直接运行脚本——无需重新推导。
- 将深度、扩展推理留给脚本无法完成的真正复杂判断。
Working style
工作风格
- Understand first, then decide. Read this skill's SKILL.md and understand the scripts it ships before you act. Then plan accordingly, such as run a script as-is when it fits, change a script when it's close, or write extra scripts to complement — based on what the scripts actually do, not a guess.
- Plan the whole path up front, then chain. Outline the full sequence of steps before running anything, batch independent steps into one turn, and pipeline the whole plan in as few turns as possible. Don't do things that can be pipelined into one call turn-by-turn.
- Inspect an input ONCE. To learn a file's structure (sheets/columns, pages, form fields, keys), dump it once — ideally to a file you then grep — never re-open the same file field-by-field or retry it with several libraries.
- Don't repeat work. Do not rerun a command when its inputs and relevant state are unchanged, and do not reread an unchanged file, script, or SKILL.md already in context. After a tool or command may modify a file, reread the affected content before relying on it.
- Write code once and reuse. If a step needs code, write it once as a small script (paths/params as CLI args) and call it; don't paste near-duplicate inline python across turns. Keep it terse — no comment banners or narration in inline scripts.
- Keep outputs small. Don't put large tool results and outputs into the context, instead write them into a file and use tools to inspect them. If there is no tool available, you should write your own scripts to inspect the file.
- Don't do anything unnecessary. Don't call tools, read files, or put results into context unless they're immediately needed.
- 先理解,再决策。 先阅读本技能的SKILL.md并了解其附带脚本的功能,再采取行动。然后据此规划,比如脚本适用时直接运行,接近需求时修改脚本,或编写额外脚本进行补充——依据脚本实际功能,而非猜测。
- 提前规划完整路径,再链式执行。 在运行任何操作前先列出完整步骤序列,将独立步骤批量整合到一轮操作中,用尽可能少的轮次完成整个计划。不要将可批量处理的操作逐轮执行。
- 仅检查一次输入。 要了解文件结构(工作表/列、页面、表单字段、键),只需导出一次——最好导出到文件后用grep工具查看——切勿逐字段重新打开同一文件,或尝试用多个库重复读取。
- 避免重复工作。 当输入和相关状态未改变时,不要重新运行命令;不要重复读取上下文中已有的未修改文件、脚本或SKILL.md。工具或命令可能修改文件后,在依赖该文件前需重新读取受影响的内容。
- 编写一次代码并复用。 如果某步骤需要代码,编写一个小型脚本(路径/参数作为CLI参数)并调用;不要在多轮操作中粘贴近乎重复的内联Python代码。保持代码简洁——内联脚本中不要添加注释横幅或说明文字。
- 保持输出精简。 不要将大型工具结果和输出放入上下文,而是写入文件并使用工具查看。如果没有可用工具,应自行编写脚本查看文件。
- 不做不必要的操作。 除非立即需要,否则不要调用工具、读取文件或将结果放入上下文。
UiPath Maestro BPMN
UiPath Maestro BPMN
Work with UiPath Maestro (Process Orchestration) projects across their
lifecycle: author, validate, package, operate, and diagnose. Authoring is
registry-driven: every extension payload comes from a template the
registry serves; the structural BPMN that holds those nodes together (process
scaffold, sequence flows, gateways, events, boundary events, containers,
multi-instance markers, and the diagram) is authored from the documented spec +
canvas contract. Packaging, operating (upload, publish, run, manage), and
diagnosing are driven through the UiPath CLI, covered in the capability
references below.
.bpmnuipath:*全生命周期处理UiPath Maestro(流程编排)的项目:创建、验证、打包、运维和诊断。创建基于注册表驱动:每个扩展负载均来自注册表提供的模板;承载这些节点的结构化BPMN(流程框架、顺序流、网关、事件、边界事件、容器、多实例标记和流程图)依据文档规范和画布协议创建。打包、运维(上传、发布、运行、管理)和诊断通过UiPath CLI完成,详情见下方功能参考。
.bpmnuipath:*When to use
使用场景
- Create a Maestro from a description.
.bpmn - Edit structure: gateways, events, boundary events, subprocesses, call activities, multi-instance loops, sequence-flow conditions, variables.
.bpmn - Add a UiPath extension node (RPA job, agent, HITL, queue, business rule, API workflow, Integration Service connector, internal message, timer).
- Validate a against the canvas rules before import.
.bpmn - Package, upload, publish, or run a project, and manage its jobs and instances.
- Diagnose a failed or misbehaving run.
- 根据描述创建Maestro 文件。
.bpmn - 编辑结构:网关、事件、边界事件、子流程、调用活动、多实例循环、顺序流条件、变量。
.bpmn - 添加UiPath扩展节点(RPA任务、Agent、HITL、队列、业务规则、API工作流、Integration Service连接器、内部消息、计时器)。
- 在导入前根据画布规则验证文件。
.bpmn - 打包、上传、发布或运行项目,并管理其任务和实例。
- 诊断失败或运行异常的流程。
Editing an existing .bpmn
(preserve what you did not author)
.bpmn编辑现有.bpmn
文件(保留非自行创建的内容)
.bpmnThe skill can edit an existing file. Make surgical edits and preserve
content you did not author: unknown elements, ,
tags, imported Integration Service payloads, and stable element IDs. Do not
regenerate the whole file or drop extension data the skill does not recognize —
preserve-only structures (see the blocklist in
references/structural-bpmn.md) round-trip
untouched. Never normalize existing nodes to this skill's canonical templates:
do not add missing attributes (e.g. on an
existing ) to elements the edit does not target — on untouched
neighbors only wiring (/) may change.
uipath:*uipath:migrationVersiontype="json" target="bodyField"uipath:inputbpmn:incomingbpmn:outgoingFor JSON use ; for XAML/coded workflows use
; for Python agents use ; for Case plans use
.
.flowuipath-maestro-flowuipath-rpauipath-agentsuipath-maestro-case本技能可编辑现有文件。需进行精准编辑,保留非自行创建的内容:未知的元素、、标签、导入的Integration Service负载以及稳定的元素ID。不要重新生成整个文件或丢弃技能无法识别的扩展数据——仅保留结构(详见references/structural-bpmn.md中的黑名单),原样往返处理。切勿将现有节点标准化为技能的规范模板:不要向未针对的元素添加缺失的属性(例如现有中的)——仅未修改的相邻节点的连线(/)可更改。
uipath:*uipath:migrationVersionuipath:inputtype="json" target="bodyField"bpmn:incomingbpmn:outgoing处理 JSON文件请使用;处理XAML/编码工作流请使用;处理Python Agent请使用;处理案例计划请使用。
.flowuipath-maestro-flowuipath-rpauipath-agentsuipath-maestro-caseThe model
模型
Two halves make a valid Maestro :
.bpmn- payloads — registry-owned. Each node's extension XML (
uipath:*/uipath:activity/uipath:event, itsuipath:mapping,context,input, andoutput) comes frombindingInfo'suip maestro bpmn registry get <type>. Never hand-author axmlTemplateelement from prose.uipath:* - Structural BPMN — spec/canvas-owned. The registry emits no
/
<bpmn:definitions>, no sequence flows, no gateway conditions/defaults, no event-definition payloads, no boundary-event attributes, no subprocess/loop structure, and no diagram. Author all of these from references/structural-bpmn.md, which is grounded in the registry spec and the Studio Web canvas serializer.<bpmn:process>
有效的Maestro 文件由两部分组成:
.bpmn- 负载——注册表所有。 每个节点的扩展XML(
uipath:*/uipath:activity/uipath:event及其uipath:mapping、context、input和output)来自bindingInfo的uip maestro bpmn registry get <type>。切勿根据文本手动创建xmlTemplate元素。uipath:* - 结构化BPMN——规范/画布所有。 注册表不提供/
<bpmn:definitions>、顺序流、网关条件/默认值、事件定义负载、边界事件属性、子流程/循环结构以及流程图。这些内容需依据references/structural-bpmn.md创建,该文档基于注册表规范和Studio Web画布序列化器。<bpmn:process>
Workflow
工作流程
Work the four steps quickly, but keep the path matched to the user's ask. Treat
requests to discover before authoring, save raw registry JSON/evidence, or "do
not author yet" as discovery-only even if they describe an eventual BPMN. In
that mode, immediately create , run and save , or , and for each requested type; do not
read deep authoring references or scaffold a project. For authoring asks, author
early: do not pre-read every reference before writing. Read a reference only
when you reach the structure it covers, get the needed templates, then write the
first complete draft before further spelunking. If
references/structural-bpmn.md or
references/expression-authoring.md
directly covers the requested construct, write a first complete draft before
further spelunking.
registry-evidence/registry pull --output jsonregistry list --output jsonregistry search ... --output jsonregistry get <type> --output jsonFor registry-evidence-only tasks, be command-first and time-boxed:
- Create before anything else.
registry-evidence/ - Run the registry command forms the user asked for. For RPA job + internal
message discovery, use ,
uip maestro bpmn registry list --limit -1 --output json, anduip maestro bpmn registry get Orchestrator.StartJob --output json.uip maestro bpmn registry get Maestro.ReceiveMessageEvent --output json - If is unavailable in a temp/smoke sandbox, or if it writes a valid JSON failure object such as
uipinstead of registry content, do not search the repo for a replacement CLI or inspect test fixtures. Still issue the required"Result": "Failure"andlistcommand forms once each with output redirected to their evidence files (allowing failure withget), so the transcript shows the discovery loop:|| trueanduip maestro bpmn registry list --limit -1 --output json. Record the failed CLI attempts inuip maestro bpmn registry get <type> --output json, then overwrite any failure JSON in the expectedregistry-evidence/cli-error.txtfiles with valid JSON evidence fromregistry-evidence/*.jsoncontaining the same extension types and stop. The final evidence files must literally contain the discovered type names, for exampleskills/uipath-maestro-bpmn/validator/bpmn-spec.jsonandOrchestrator.StartJob.Maestro.ReceiveMessageEvent
-
Discover.once (cached for the session — do not re-pull), then
uip maestro bpmn registry pull/listto map intent to extension types;searchfor live connections (alwaysuip is connections list --all-folders— a folder-scoped list silently misses connections). Confirm every selection with the user (use AskUserQuestion). Never fabricate an identifier. See references/registry-workflow.md.--all-folders -
Get templates.for each chosen registry-owned node only. Enrich
uip maestro bpmn registry get <type> --output jsonconnector nodes withIntsvc.*/--connection-id. Do not call--object-namefor structural gaps the registry never owns: sequence flows, gateways, events, boundary events, multi-instance/loop markers,registry get/retry structure, or diagrams. If a registry template's BPMN host tag is PascalCase (for exampleerrorMappingor<bpmn:SendTask>), normalize the host tag to the serializer's lower-camel BPMN element (<bpmn:ReceiveTask>,<bpmn:sendTask>) while preserving the<bpmn:receiveTask>payload exactly.uipath:* -
Assemble. Author directly from the complete minimal file in references/structural-bpmn.md plus each node's(fill placeholders only). That skeleton already shows variables, the entry point, a branch, and the diagram. Do not reverse-engineer authoring patterns from task fixtures or generated package files — fixture spelunking is the top reason authoring runs out of time. Add only the structural pieces your process needs (extra gateways, events, boundary events, containers, multi-instance markers, expression/error mappings, retry attributes), then run
xmlTemplateto generate the diagram. Ifuip maestro bpmn format <file.bpmn>reportsformat, update the CLI (see references/cli-conventions.md); if upgrading is unavailable, use the fallback DI structure in references/structural-bpmn.md. For local authoring prompts, use the plain project layoutunknown commandwith<ProjectName>/<ProjectName>.bpmn; do not create<ProjectName>/project.uiproj, package files, or*Solution/artifacts unless the user explicitly asks to package or operate the project. When adding draft or preserve-only case-management variants, include a real lowercase.uipxpayload with synthetic content as a separate preserve-only extension. Do not treat an<uipath:caseManagement version="v1">...</uipath:caseManagement>typed activity shell as a substitute for that payload when the user asks to preserve case-management contract variants. When asked to preserve a generic unsupportedOrchestrator.StartCaseMgmtProcess*, write the actual capitalized elementuipath:Activity. Do not write<uipath:Activity version="v1">...</uipath:Activity>; that is a lowercase typed shell, not the preserve-only generic payload. When writing public-safe placeholders into XML attribute values, XML-escape angle brackets: use<uipath:activity><uipath:type value="uipath:Activity" ... />,<TENANT_URL>, and<FOLDER_KEY>in attributes. Raw<CONNECTION_NAME>text is only safe in element text or CDATA; unescaped angle brackets inside attributes make the BPMN not well-formed. When routing on an Actions.HITL user task's outcome, the sequence-flow conditions from the exclusive gateway must reference the exact variable bound by the HITL template's<PLACEHOLDER>(for example<uipath:output ... var="...">), not only a copied or derived script variable. For Integration Service draft notes, name every CLI-owned blocker literally, including the exact phrase=vars.Var_HitlResult == "approve", plus dynamic schemas, generated outputs,connection binding, and package metadata. Avoid softer wording such as "connection and process binding" because it hides the concrete artifact the CLI must supply. If the user asks to package or operate, runbindings_v2.jsonto generate the five package metadata files. Only fall back to the minimal local metadata shape in references/shared/local-metadata-regeneration-guide.md when the CLI is unavailable. Do not copy CLI scaffold metadata shapes into a synthetic local project.uip maestro bpmn update-metadata <file.bpmn> -
Validate. Run the CLI validator — it runs the full PO.Frontend canvas rule set (structural rules plus variable, method-call, input-type, and event-object checks) offline, plus deploy-readiness checks:bash
uip maestro bpmn validate <file.bpmn> --output jsonExit 0 = valid; exit 1 = validation failed (the envelope lists each issue with its rule code). Warnings are reported but do not fail the run. Validate once; fix only error-severity findings. Do not re-validate in a loop chasing warnings. Ifreports "unknown command" or clearly skips the structural rules, the installed CLI predates them — update it (see references/cli-conventions.md). See references/structural-bpmn.md#validation.validate
快速完成四个步骤,但需确保路径匹配用户需求。如果用户要求先探索再创建、保存原始注册表JSON/证据,或“暂不创建”,即使最终会创建BPMN,也仅执行探索操作。在此模式下,立即创建目录,运行并保存、或,以及针对每个请求类型的;不要深入阅读创建参考文档或搭建项目框架。对于创建请求,尽早开始创建:不要在编写前预读所有参考文档。仅当遇到对应结构时才阅读参考文档,获取所需模板,然后编写第一个完整草稿,之后再深入研究。如果references/structural-bpmn.md或references/expression-authoring.md直接涵盖请求的结构,编写第一个完整草稿后再深入研究。
registry-evidence/registry pull --output jsonregistry list --output jsonregistry search ... --output jsonregistry get <type> --output json对于仅需注册表证据的任务,优先使用命令并限定时间:
- 首先创建目录。
registry-evidence/ - 运行用户要求的注册表命令。对于RPA任务+内部消息探索,使用、
uip maestro bpmn registry list --limit -1 --output json和uip maestro bpmn registry get Orchestrator.StartJob --output json。uip maestro bpmn registry get Maestro.ReceiveMessageEvent --output json - 如果临时/沙箱环境中无法使用,或其返回的是有效的JSON失败对象(例如
uip)而非注册表内容,不要在仓库中寻找替代CLI或检查测试 fixtures。仍需按要求各运行一次"Result": "Failure"和list命令形式,并将输出重定向到对应的证据文件(允许失败,添加get),以便记录探索流程:|| true和uip maestro bpmn registry list --limit -1 --output json。将失败的CLI尝试记录在uip maestro bpmn registry get <type> --output json中,然后用registry-evidence/cli-error.txt中的有效JSON证据覆盖预期skills/uipath-maestro-bpmn/validator/bpmn-spec.json文件中的任何失败JSON,该证据需包含相同的扩展类型,然后停止操作。最终的证据文件必须包含实际发现的类型名称,例如registry-evidence/*.json和Orchestrator.StartJob。Maestro.ReceiveMessageEvent
-
探索。 运行一次(会话内缓存——无需重新拉取),然后通过
uip maestro bpmn registry pull/list将需求映射到扩展类型;运行search获取实时连接(始终使用uip is connections list --all-folders——按文件夹范围列出会遗漏连接)。与用户确认每一项选择(使用AskUserQuestion)。切勿编造标识符。详见references/registry-workflow.md。--all-folders -
获取模板。 仅针对每个选定的注册表所有节点运行。为
uip maestro bpmn registry get <type> --output json连接器节点添加Intsvc.*/--connection-id参数。不要为注册表不涉及的结构空白调用--object-name:顺序流、网关、事件、边界事件、多实例/循环标记、registry get/重试结构或流程图。如果注册表模板的BPMN宿主标签为帕斯卡命名法(例如errorMapping或<bpmn:SendTask>),需将宿主标签标准化为序列化器的小驼峰式BPMN元素(<bpmn:ReceiveTask>、<bpmn:sendTask>),同时完全保留<bpmn:receiveTask>负载。uipath:* -
组装。 直接依据references/structural-bpmn.md中的完整最小文件加上每个节点的(仅填充占位符)进行创建。该框架已包含变量、入口点、分支和流程图。不要从任务fixtures或生成的包文件反向工程创建模式——研究fixtures是导致创建超时的主要原因。仅添加流程所需的结构部分(额外网关、事件、边界事件、容器、多实例标记、表达式/错误映射、重试属性),然后运行
xmlTemplate生成流程图。如果uip maestro bpmn format <file.bpmn>命令返回format,请更新CLI(详见references/cli-conventions.md);如果无法升级,使用references/structural-bpmn.md中的备用DI结构。对于本地创建请求,使用简单项目布局unknown command和<ProjectName>/<ProjectName>.bpmn;除非用户明确要求打包或运维项目,否则不要创建<ProjectName>/project.uiproj、包文件或*Solution/工件。 添加草稿或仅保留的案例管理变体时,需包含真实的小写.uipx负载,其中包含合成内容作为单独的仅保留扩展。当用户要求保留案例管理协议变体时,不要用<uipath:caseManagement version="v1">...</uipath:caseManagement>类型的活动外壳替代该负载。 当要求保留通用的不支持Orchestrator.StartCaseMgmtProcess*时,编写实际的大写元素uipath:Activity。不要编写<uipath:Activity version="v1">...</uipath:Activity>;这是小写的类型化外壳,而非仅保留的通用负载。 向XML属性值中写入公开安全的占位符时,需对尖括号进行XML转义:在属性中使用<uipath:activity><uipath:type value="uipath:Activity" ... />、<TENANT_URL>和<FOLDER_KEY>。原始<CONNECTION_NAME>文本仅在元素文本或CDATA中安全;属性内未转义的尖括号会导致BPMN格式不正确。 基于Actions.HITL用户任务的结果进行路由时,排他网关的顺序流条件必须引用HITL模板的<PLACEHOLDER>绑定的精确变量(例如<uipath:output ... var="...">),而非仅复制或派生的脚本变量。 对于Integration Service草稿说明,需明确命名每个CLI相关的障碍,包括确切短语=vars.Var_HitlResult == "approve",以及动态模式、生成的输出、connection binding和包元数据。避免使用“连接和流程绑定”等模糊表述,因为这会隐藏CLI必须提供的具体工件。 如果用户要求打包或运维,运行bindings_v2.json生成五个包元数据文件。仅当CLI不可用时,才使用references/shared/local-metadata-regeneration-guide.md中的最小本地元数据格式作为备选。不要将CLI框架元数据格式复制到合成本地项目中。uip maestro bpmn update-metadata <file.bpmn> -
验证。 运行CLI验证器——它会离线运行完整的PO.Frontend画布规则集(结构规则以及变量、方法调用、输入类型和事件对象检查),加上部署就绪检查:bash
uip maestro bpmn validate <file.bpmn> --output json退出码0表示有效;退出码1表示验证失败(返回结果会列出每个问题及其规则代码)。警告会被报告,但不会导致运行失败。仅验证一次;仅修复错误级别的问题。不要循环验证以解决警告。如果命令返回“unknown command”或明显跳过结构规则,说明安装的CLI版本过旧——请更新(详见references/cli-conventions.md)。详见references/structural-bpmn.md#validation。validate
Operate and diagnose
运维与诊断
Beyond authoring, this skill packages, ships, runs, and diagnoses Maestro
projects through the UiPath CLI.
- Package and operate (package a project, upload to Studio Web, publish or deploy, run or debug instances, and manage jobs, instances, incidents, and lifecycle actions): see references/operate/CAPABILITY.md.
- Diagnose (fetch incidents, variables, and element executions, and trace a failed run back to its BPMN element): see references/diagnose/CAPABILITY.md.
Any cloud-side change (upload, publish, deploy, run, pause, resume, cancel,
retry, migrate) requires explicit user consent, and local validation should pass
first.
除创建外,本技能还可通过UiPath CLI打包、发布、运行和诊断Maestro项目。
- 打包与运维(打包项目、上传到Studio Web、发布或部署、运行或调试实例,以及管理任务、实例、事件和生命周期操作):详见references/operate/CAPABILITY.md。
- 诊断(获取事件、变量和元素执行情况,并将失败的运行追溯到对应的BPMN元素):详见references/diagnose/CAPABILITY.md。
任何云端变更(上传、发布、部署、运行、暂停、恢复、取消、重试、迁移)都需要用户明确同意,且需先通过本地验证。
Structural coverage
结构覆盖范围
This skill teaches authoring of the full surface the canvas supports. What the
registry serves a template for vs. what you author by hand:
| Structure | Source |
|---|---|
Node | Registry |
| Authored (registry gap) |
Sequence flows, | Authored (registry gap) |
| Gateways: exclusive, parallel, inclusive, event-based (complex is preserve-only) | Authored (registry gap) |
| Events + event-definition matrix: message, timer, error, terminate (end-only). Signal/escalation/conditional/link/compensate/cancel/multiple are preserve-only | Authored (registry gap); payload per canvas serializer |
Boundary events: | Authored (registry gap) |
Subprocess, event subprocess ( | Authored (registry gap); call-activity payloads from registry |
| Multi-instance / loop characteristics | Authored from canvas contract — registry exposes no template (registry gap) |
| Generated via |
Flagged registry gaps: the registry serves no template for structural BPMN,
sequence-flow conditions, event-definition payloads, boundary-event attributes,
multi-instance markers, or the diagram. These are authored from the spec +
canvas contract in references/structural-bpmn.md
and honestly surfaced to the user as gaps when asked.
本技能教授画布支持的所有创建内容。注册表提供模板的内容与需手动创建的内容对比:
| 结构 | 来源 |
|---|---|
节点 | 注册表的 |
| 手动创建(注册表空白) |
顺序流、 | 手动创建(注册表空白) |
| 网关:排他、并行、包容、事件驱动(复杂类型仅保留) | 手动创建(注册表空白) |
| 事件 + 事件定义矩阵:消息、计时器、错误、终止(仅结束事件)。信号/升级/条件/链接/补偿/取消/多事件仅保留 | 手动创建(注册表空白);负载遵循画布序列化器 |
边界事件: | 手动创建(注册表空白) |
子流程、事件子流程( | 手动创建(注册表空白);调用活动负载来自注册表 |
| 多实例/循环特性 | 依据画布协议手动创建——注册表未提供模板(注册表空白) |
| 通过 |
标记的注册表空白:注册表未提供结构化BPMN、顺序流条件、事件定义负载、边界事件属性、多实例标记或流程图的模板。这些内容需依据references/structural-bpmn.md中的规范和画布协议手动创建,当用户询问时需如实告知这些空白。
Rules
规则
- Registry owns every payload. Author from
uipath:*templates; never hand-writeregistry getXML from prose.uipath: - Never fabricate an identifier. Connection IDs, process/queue/connector keys, app IDs, folder ids/paths come from discovery or the user.
- Structural BPMN is authored, not invented. Follow the spec/canvas
contract in references/structural-bpmn.md;
flag honestly what the registry does not expose.
BPMN XML element names are case-sensitive: use exact lower-camel tags such
as ,
<bpmn:startEvent>,<bpmn:intermediateCatchEvent>, and<bpmn:scriptTask>. Do not write PascalCase tags like<bpmn:endEvent>.<bpmn:IntermediateCatchEvent> - Confirm before authoring. Confirm the chosen connector/connection/process and the process structure with the user (AskUserQuestion).
- The diagram is mandatory. Import is diagram-driven — every node needs a
, every flow a
BPMNShape, or it will not appear on the canvas.BPMNEdge - Node type is a child element, never an attribute. Every /
uipath:activity/uipath:eventdeclares its type asuipath:mappinginside the wrapper. Never write<uipath:type value="<Type>" version="v1" />— the canvas will not recognize the node. Event extension types (<uipath:activity type="…">,Intsvc.WaitForEvent,Intsvc.EventTrigger,Maestro.ReceiveMessageEvent) must useMaestro.SendMessageEvent, including when the BPMN host is task-like such as<uipath:event>.<bpmn:receiveTask> - No in XML comments. XML forbids
--(double-hyphen) inside--, so never paste CLI commands or flags (<!-- … -->,--output,--connection-id) into a comment — it makes the file unparseable. Keep comments minimal.--object-name - Use for parsed CLI calls.
--output json - Public-safe always. No customer XML, tenant URLs, real IDs, or private names — see references/public-safety.md.
- Confirm before any cloud change. Upload, publish, deploy, run, pause, resume, cancel, retry, and migrate require explicit user consent; validate locally first.
- 每个负载均归注册表所有。 依据
uipath:*模板创建;切勿根据文本手动编写registry getXML。uipath: - 切勿编造标识符。 连接ID、流程/队列/连接器键、应用ID、文件夹ID/路径需来自探索或用户提供。
- 结构化BPMN需手动创建,而非凭空发明。 遵循references/structural-bpmn.md中的规范/画布协议;如实告知用户注册表未提供的内容。
BPMN XML元素名称区分大小写:使用精确的小驼峰标签,例如、
<bpmn:startEvent>、<bpmn:intermediateCatchEvent>和<bpmn:scriptTask>。不要使用帕斯卡命名法标签,如<bpmn:endEvent>。<bpmn:IntermediateCatchEvent> - 创建前确认。 与用户确认所选的连接器/连接/流程以及流程结构(使用AskUserQuestion)。
- 流程图是必需的。 导入基于流程图驱动——每个节点需要一个,每个流需要一个
BPMNShape,否则无法在画布上显示。BPMNEdge - 节点类型是子元素,而非属性。 每个/
uipath:activity/uipath:event需在包装器内通过uipath:mapping声明其类型。切勿编写<uipath:type value="<Type>" version="v1" />——画布无法识别该节点。 事件扩展类型(<uipath:activity type="…">、Intsvc.WaitForEvent、Intsvc.EventTrigger、Maestro.ReceiveMessageEvent)必须使用Maestro.SendMessageEvent,即使BPMN宿主是类似任务的元素,如<uipath:event>。<bpmn:receiveTask> - XML注释中禁止使用。 XML禁止在
--内使用<!-- … -->(双连字符),因此切勿将CLI命令或标志(--、--output、--connection-id)粘贴到注释中——这会导致文件无法解析。尽量减少注释。--object-name - 解析CLI调用时使用。
--output json - 始终保持公开安全。 不要包含客户XML、租户URL、真实ID或私有名称——详见references/public-safety.md。
- 任何云端变更前需确认。 上传、发布、部署、运行、暂停、恢复、取消、重试和迁移都需要用户明确同意;先进行本地验证。
References
参考文档
| Topic | Read |
|---|---|
| Discover → template → bind → assemble loop | references/registry-workflow.md |
| Structural BPMN, event matrix, boundary events, containers, multi-instance, diagram, validation | references/structural-bpmn.md |
Runtime expressions, | references/expression-authoring.md |
| CLI conventions and the side-effect boundary | references/cli-conventions.md |
| Keeping content public-safe | references/public-safety.md |
| Package, upload, publish, run, or manage instances | references/operate/CAPABILITY.md |
| Diagnose a failed or misbehaving run | references/diagnose/CAPABILITY.md |
| Project layout and generated package files | references/shared/project-layout.md |
| 主题 | 链接 |
|---|---|
| 探索→模板→绑定→组装流程 | references/registry-workflow.md |
| 结构化BPMN、事件矩阵、边界事件、容器、多实例、流程图、验证 | references/structural-bpmn.md |
运行时表达式、 | references/expression-authoring.md |
| CLI约定和副作用边界 | references/cli-conventions.md |
| 保持内容公开安全 | references/public-safety.md |
| 打包、上传、发布、运行或管理实例 | references/operate/CAPABILITY.md |
| 诊断失败或运行异常的流程 | references/diagnose/CAPABILITY.md |
| 项目布局和生成的包文件 | references/shared/project-layout.md |