@uipath/skills 1.201.0-preview.621 → 1.202.0-preview.635
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/.cursor-plugin/plugin.json +1 -1
- package/CODEOWNERS +41 -29
- package/README.md +1 -0
- package/assets/skill-status.json +13 -2
- package/assets/uip-catalog-snapshot.json +95 -46
- package/package.json +2 -1
- package/skills/uipath-admin/SKILL.md +107 -197
- package/skills/uipath-admin/references/audit-commands.md +69 -120
- package/skills/uipath-admin/references/audit-workflow-guide.md +101 -152
- package/skills/uipath-admin/references/authorization/authorization-commands.md +121 -210
- package/skills/uipath-admin/references/authorization/check-access.md +39 -63
- package/skills/uipath-admin/references/authorization/grant-permissions.md +38 -49
- package/skills/uipath-admin/references/authorization/permission-catalog.md +32 -34
- package/skills/uipath-admin/references/authorization/role-assignment-management.md +96 -99
- package/skills/uipath-admin/references/authorization/role-management.md +113 -142
- package/skills/uipath-admin/references/diagnose/CAPABILITY.md +13 -14
- package/skills/uipath-admin/references/diagnose/{references/failure-modes.md → failure-modes.md} +90 -46
- package/skills/uipath-admin/references/diagnose/{references/troubleshooting-guide.md → troubleshooting-guide.md} +21 -14
- package/skills/uipath-admin/references/external-app-management.md +42 -39
- package/skills/uipath-admin/references/identity-commands.md +72 -625
- package/skills/uipath-admin/references/identity-troubleshoot-guide.md +73 -95
- package/skills/uipath-admin/references/ip-restriction/bypass-rule-management.md +25 -54
- package/skills/uipath-admin/references/ip-restriction/enforcement-management.md +19 -31
- package/skills/uipath-admin/references/ip-restriction/ip-range-management.md +48 -45
- package/skills/uipath-admin/references/ip-restriction/ip-restriction-commands.md +89 -146
- package/skills/uipath-admin/references/key-concepts.md +24 -0
- package/skills/uipath-admin/references/organization-management.md +49 -70
- package/skills/uipath-admin/references/organizations-commands.md +39 -74
- package/skills/uipath-admin/references/pat-management.md +25 -38
- package/skills/uipath-admin/references/robot-account-management.md +16 -14
- package/skills/uipath-admin/references/smtp-management.md +19 -14
- package/skills/uipath-admin/references/tenant-management.md +1 -1
- package/skills/uipath-admin/references/tenants-commands.md +82 -148
- package/skills/uipath-admin/references/user-management.md +70 -56
- package/skills/uipath-agents/SKILL.md +4 -3
- package/skills/uipath-agents/references/authentication.md +4 -3
- package/skills/uipath-agents/references/coded/capabilities/datafabric.md +465 -0
- package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails-recommend.md +5 -0
- package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails.md +2 -0
- package/skills/uipath-agents/references/coded/capabilities/human-in-the-loop.md +12 -6
- package/skills/uipath-agents/references/coded/flow-integration.md +2 -2
- package/skills/uipath-agents/references/coded/frameworks/langgraph-integration.md +48 -16
- package/skills/uipath-agents/references/coded/frameworks/openai-agents-integration.md +1 -1
- package/skills/uipath-agents/references/coded/lifecycle/deployment.md +11 -1
- package/skills/uipath-agents/references/coded/quickstart.md +11 -8
- package/skills/uipath-agents/references/lowcode/capabilities/inline-in-flow/inline-in-flow.md +3 -3
- package/skills/uipath-agents/references/lowcode/capabilities/memory/memory.md +19 -2
- package/skills/uipath-agents/references/lowcode/evaluations/evaluate.md +2 -2
- package/skills/uipath-agents/references/lowcode/evaluations/orchestrator-eval-run.md +409 -155
- package/skills/uipath-agents/references/lowcode/evaluations/running-evaluations.md +2 -2
- package/skills/uipath-agents/references/lowcode/prompting/autonomous-agent-prompting-guide.md +1 -1
- package/skills/uipath-aops/SKILL.md +313 -0
- package/skills/uipath-aops/assets/templates/pipeline-dto-template.json +15 -0
- package/skills/uipath-aops/references/discovery-flow.md +312 -0
- package/skills/uipath-aops/references/migration-guide.md +146 -0
- package/skills/uipath-aops/references/pipeline-dto-guide.md +276 -0
- package/skills/uipath-aops/references/save-and-run-guide.md +156 -0
- package/skills/uipath-api-workflow/SKILL.md +48 -6
- package/skills/uipath-api-workflow/assets/templates/file-base64-roundtrip-example.json +154 -0
- package/skills/uipath-api-workflow/assets/templates/nested-control-flow-example.json +0 -1
- package/skills/uipath-api-workflow/references/cli-reference.md +20 -1
- package/skills/uipath-api-workflow/references/expressions-and-context.md +19 -0
- package/skills/uipath-api-workflow/references/files-and-base64.md +153 -0
- package/skills/uipath-api-workflow/references/operating-published-workflows.md +3 -2
- package/skills/uipath-api-workflow/references/task-types.md +89 -3
- package/skills/uipath-api-workflow/references/testing-and-evals.md +224 -0
- package/skills/uipath-api-workflow/references/troubleshooting.md +124 -4
- package/skills/uipath-coded-apps/SKILL.md +4 -2
- package/skills/uipath-coded-apps/assets/scripts/dashboards/build-dashboard.mjs +1 -1
- package/skills/uipath-coded-apps/references/dashboards/CAPABILITY.md +11 -1
- package/skills/uipath-coded-apps/references/dashboards/plugins/build/impl.md +5 -3
- package/skills/uipath-coded-apps/references/dashboards/plugins/deploy/impl.md +1 -0
- package/skills/uipath-coded-apps/references/oauth-client-setup.md +2 -0
- package/skills/uipath-coded-apps/references/pack-publish-deploy.md +18 -0
- package/skills/uipath-coded-apps/references/sdk/orchestrator.md +4 -0
- package/skills/uipath-connector-builder/SKILL.md +7 -5
- package/skills/uipath-connector-builder/references/debugging.md +5 -1
- package/skills/uipath-connector-builder/references/element-json.md +3 -1
- package/skills/uipath-connector-builder/references/standard-resources.md +37 -6
- package/skills/uipath-functions/SKILL.md +134 -222
- package/skills/uipath-functions/references/js/authoring-guide.md +141 -0
- package/skills/uipath-functions/references/js/bindings-guide.md +120 -0
- package/skills/uipath-functions/references/js/calling-uipath-apis-guide.md +112 -0
- package/skills/uipath-functions/references/js/coded-app-wiring-guide.md +103 -0
- package/skills/uipath-functions/references/js/deployment-guide.md +109 -0
- package/skills/uipath-functions/references/js/http-semantics-guide.md +80 -0
- package/skills/uipath-functions/references/js/job-mode-guide.md +114 -0
- package/skills/uipath-functions/references/js/local-dev-guide.md +107 -0
- package/skills/uipath-functions/references/python/workflow-guide.md +224 -0
- package/skills/uipath-governance/SKILL.md +9 -8
- package/skills/uipath-governance/references/compliance-pack/catalog/impl.md +36 -8
- package/skills/uipath-governance/references/compliance-pack/coverage/impl.md +14 -12
- package/skills/uipath-governance/references/compliance-pack/disable/impl.md +5 -3
- package/skills/uipath-governance/references/compliance-pack/full-apply/impl.md +7 -5
- package/skills/uipath-governance/references/compliance-pack/partial-apply/impl.md +14 -7
- package/skills/uipath-governance/references/compliance-pack/partial-apply/planning.md +3 -1
- package/skills/uipath-governance/references/compliance-pack/preview-gate.md +1 -1
- package/skills/uipath-governance/references/compliance-pack/query/impl.md +4 -2
- package/skills/uipath-governance/references/diagnose/CAPABILITY.md +12 -12
- package/skills/uipath-governance/references/diagnose/{references/failure-modes.md → failure-modes.md} +5 -5
- package/skills/uipath-governance/references/diagnose/{references/troubleshooting-guide.md → troubleshooting-guide.md} +2 -2
- package/skills/uipath-governance/references/disambiguation-guide.md +15 -7
- package/skills/uipath-human-in-the-loop/SKILL.md +107 -9
- package/skills/uipath-human-in-the-loop/references/hitl-casetask-action.md +413 -0
- package/skills/uipath-insights/SKILL.md +21 -14
- package/skills/uipath-insights/references/alerts-reads-guide.md +242 -0
- package/skills/uipath-insights/references/filter-discovery-guide.md +1 -1
- package/skills/uipath-insights/references/jobs-commands-guide.md +2 -2
- package/skills/uipath-ixp/references/cli-reference.md +1 -1
- package/skills/uipath-ixp/references/improve-prompts-guide.md +5 -6
- package/skills/uipath-maestro-bpmn/SKILL.md +87 -15
- package/skills/uipath-maestro-bpmn/references/diagnose/CAPABILITY.md +10 -10
- package/skills/uipath-maestro-bpmn/references/diagnose/{references/troubleshooting-guide.md → troubleshooting-guide.md} +1 -1
- package/skills/uipath-maestro-bpmn/references/expression-authoring.md +12 -2
- package/skills/uipath-maestro-bpmn/references/operate/CAPABILITY.md +12 -12
- package/skills/uipath-maestro-bpmn/references/operate/{references/run.md → run.md} +2 -2
- package/skills/uipath-maestro-bpmn/references/operate/{references/ship.md → ship.md} +3 -3
- package/skills/uipath-maestro-bpmn/references/patterns/ai-decision-review-guide.md +138 -0
- package/skills/uipath-maestro-bpmn/references/patterns/approval-chain-guide.md +136 -0
- package/skills/uipath-maestro-bpmn/references/patterns/composing-guide.md +113 -0
- package/skills/uipath-maestro-bpmn/references/patterns/external-wait-guide.md +145 -0
- package/skills/uipath-maestro-bpmn/references/patterns/failure-escalation-guide.md +103 -0
- package/skills/uipath-maestro-bpmn/references/patterns/high-volume-batch-guide.md +107 -0
- package/skills/uipath-maestro-bpmn/references/patterns/queue-distribution-guide.md +129 -0
- package/skills/uipath-maestro-bpmn/references/patterns/smart-triage-guide.md +129 -0
- package/skills/uipath-maestro-bpmn/references/registry-workflow.md +15 -0
- package/skills/uipath-maestro-bpmn/references/shared/local-metadata-regeneration-guide.md +67 -36
- package/skills/uipath-maestro-bpmn/references/shared/project-layout.md +6 -5
- package/skills/uipath-maestro-bpmn/references/structural-bpmn.md +23 -5
- package/skills/uipath-maestro-bpmn/validator/bpmn-spec.json +101 -53
- package/skills/uipath-maestro-case/SKILL.md +23 -24
- package/skills/uipath-maestro-case/references/bindings-and-expressions.md +30 -17
- package/skills/uipath-maestro-case/references/bindings-v2-sync.md +5 -5
- package/skills/uipath-maestro-case/references/brownfield.md +3 -3
- package/skills/uipath-maestro-case/references/case-commands.md +8 -4
- package/skills/uipath-maestro-case/references/case-editing-operations.md +19 -19
- package/skills/uipath-maestro-case/references/case-schema.md +17 -3
- package/skills/uipath-maestro-case/references/connector-integration.md +25 -16
- package/skills/uipath-maestro-case/references/connector-trigger-impl.md +15 -15
- package/skills/uipath-maestro-case/references/connector-trigger-planning.md +32 -29
- package/skills/uipath-maestro-case/references/entry-points-sync.md +2 -1
- package/skills/uipath-maestro-case/references/evals/evals.json +11 -11
- package/skills/uipath-maestro-case/references/implementation.md +74 -44
- package/skills/uipath-maestro-case/references/phased-execution.md +23 -21
- package/skills/uipath-maestro-case/references/placeholder-tasks.md +28 -23
- package/skills/uipath-maestro-case/references/planning.md +37 -252
- package/skills/uipath-maestro-case/references/plugins/case/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/case/planning.md +8 -6
- package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/planning.md +11 -10
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/impl-json.md +6 -6
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/planning.md +12 -12
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/impl-json.md +4 -4
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/planning.md +10 -9
- package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/impl-json.md +5 -5
- package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/planning.md +16 -14
- package/skills/uipath-maestro-case/references/plugins/logging/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/sla/impl-json.md +15 -15
- package/skills/uipath-maestro-case/references/plugins/sla/planning.md +20 -21
- package/skills/uipath-maestro-case/references/plugins/stages/impl-json.md +6 -6
- package/skills/uipath-maestro-case/references/plugins/stages/planning.md +9 -9
- package/skills/uipath-maestro-case/references/plugins/tasks/action/impl-json.md +9 -9
- package/skills/uipath-maestro-case/references/plugins/tasks/action/planning.md +38 -38
- package/skills/uipath-maestro-case/references/plugins/tasks/agent/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/agent/planning.md +24 -20
- package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/planning.md +24 -20
- package/skills/uipath-maestro-case/references/plugins/tasks/case-management/impl-json.md +4 -4
- package/skills/uipath-maestro-case/references/plugins/tasks/case-management/planning.md +25 -21
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/impl-json.md +30 -22
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/planning.md +44 -28
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-trigger/impl-json.md +10 -10
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-trigger/planning.md +27 -23
- package/skills/uipath-maestro-case/references/plugins/tasks/create-inline-common.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/process/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/process/planning.md +25 -22
- package/skills/uipath-maestro-case/references/plugins/tasks/rpa/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/rpa/planning.md +25 -21
- package/skills/uipath-maestro-case/references/plugins/tasks/wait-for-timer/impl-json.md +4 -4
- package/skills/uipath-maestro-case/references/plugins/tasks/wait-for-timer/planning.md +5 -4
- package/skills/uipath-maestro-case/references/plugins/triggers/event/impl-json.md +9 -9
- package/skills/uipath-maestro-case/references/plugins/triggers/event/planning.md +30 -19
- package/skills/uipath-maestro-case/references/plugins/triggers/manual/impl-json.md +4 -4
- package/skills/uipath-maestro-case/references/plugins/triggers/manual/planning.md +8 -7
- package/skills/uipath-maestro-case/references/plugins/triggers/timer/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/triggers/timer/planning.md +5 -4
- package/skills/uipath-maestro-case/references/plugins/variables/bindings/impl-json.md +5 -5
- package/skills/uipath-maestro-case/references/plugins/variables/global-vars/impl-json.md +7 -7
- package/skills/uipath-maestro-case/references/plugins/variables/global-vars/planning.md +21 -17
- package/skills/uipath-maestro-case/references/plugins/variables/io-binding/impl-json.md +29 -21
- package/skills/uipath-maestro-case/references/plugins/variables/io-binding/planning.md +23 -21
- package/skills/uipath-maestro-case/references/registry-discovery.md +5 -5
- package/skills/uipath-maestro-flow/.maintenance/README.md +35 -28
- package/skills/uipath-maestro-flow/.maintenance/check-anchors.sh +19 -1
- package/skills/uipath-maestro-flow/.maintenance/check-links.sh +3 -0
- package/skills/uipath-maestro-flow/.maintenance/check-plugin-pairs.sh +2 -2
- package/skills/uipath-maestro-flow/SKILL.md +66 -76
- package/skills/uipath-maestro-flow/references/author/CAPABILITY.md +75 -72
- package/skills/uipath-maestro-flow/references/author/brownfield.md +90 -0
- package/skills/uipath-maestro-flow/references/author/{references/editing-operations-cli.md → editing-operations-cli.md} +9 -4
- package/skills/uipath-maestro-flow/references/author/editing-operations-json.md +373 -0
- package/skills/uipath-maestro-flow/references/author/editing-operations.md +103 -0
- package/skills/uipath-maestro-flow/references/author/{references/greenfield.md → greenfield.md} +32 -20
- package/skills/uipath-maestro-flow/references/author/planning-arch.md +342 -0
- package/skills/uipath-maestro-flow/references/author/planning-impl.md +283 -0
- package/skills/uipath-maestro-flow/references/author/plugins/agent/impl.md +227 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/agent/planning.md +2 -2
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/agentic-process/impl.md +2 -2
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/agentic-process/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/api-workflow/impl.md +2 -2
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/api-workflow/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/plugins/batch-transform/impl.md +171 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/batch-transform/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/plugins/connector/impl.md +449 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/connector/planning.md +3 -3
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/connector-trigger/impl.md +20 -18
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/connector-trigger/planning.md +2 -2
- package/skills/uipath-maestro-flow/references/author/plugins/data-fabric/impl.md +427 -0
- package/skills/uipath-maestro-flow/references/author/plugins/data-fabric/planning.md +185 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/decision/impl.md +5 -0
- package/skills/uipath-maestro-flow/references/author/plugins/delay/impl.md +38 -0
- package/skills/uipath-maestro-flow/references/author/plugins/end/impl.md +56 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/flow/impl.md +2 -2
- package/skills/uipath-maestro-flow/references/author/plugins/hitl/impl.md +178 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/hitl/planning.md +14 -1
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/http/impl-connector.md +4 -4
- package/skills/uipath-maestro-flow/references/author/plugins/http/impl-manual.md +68 -0
- package/skills/uipath-maestro-flow/references/author/plugins/http/impl.md +173 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/http/planning.md +3 -3
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/inline-agent/impl.md +6 -6
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/inline-agent/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/inline-voice-agent/impl.md +4 -4
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/inline-voice-agent/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/ixp/impl.md +8 -8
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/loop/impl.md +1 -1
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/loop/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/plugins/merge/impl.md +43 -0
- package/skills/uipath-maestro-flow/references/author/plugins/merge/planning.md +24 -0
- package/skills/uipath-maestro-flow/references/author/plugins/rpa/impl.md +117 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/rpa/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/scheduled-trigger/impl.md +6 -8
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/script/impl.md +5 -5
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/script/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/plugins/subflow/impl.md +164 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/subflow/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/plugins/summarize/impl.md +189 -0
- package/skills/uipath-maestro-flow/references/author/plugins/summarize/planning.md +66 -0
- package/skills/uipath-maestro-flow/references/author/plugins/switch/planning.md +34 -0
- package/skills/uipath-maestro-flow/references/author/plugins/terminate/impl.md +48 -0
- package/skills/uipath-maestro-flow/references/author/plugins/transform/impl.md +241 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/transform/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/diagnose/CAPABILITY.md +39 -37
- package/skills/uipath-maestro-flow/references/diagnose/{references/failure-modes.md → failure-modes.md} +22 -22
- package/skills/uipath-maestro-flow/references/diagnose/{references/troubleshooting-guide.md → troubleshooting-guide.md} +60 -1
- package/skills/uipath-maestro-flow/references/evaluate/CAPABILITY.md +27 -25
- package/skills/uipath-maestro-flow/references/evaluate/{references/commands-reference.md → commands-reference.md} +58 -7
- package/skills/uipath-maestro-flow/references/evaluate/eval-sets-guide.md +227 -0
- package/skills/uipath-maestro-flow/references/evaluate/upload-safety.md +94 -0
- package/skills/uipath-maestro-flow/references/operate/CAPABILITY.md +21 -21
- package/skills/uipath-maestro-flow/references/operate/{references/manage.md → manage.md} +4 -4
- package/skills/uipath-maestro-flow/references/operate/run.md +121 -0
- package/skills/uipath-maestro-flow/references/operate/{references/ship.md → ship.md} +5 -5
- package/skills/uipath-maestro-flow/references/shared/action-nodes.md +30 -22
- package/skills/uipath-maestro-flow/references/shared/cli-commands.md +76 -184
- package/skills/uipath-maestro-flow/references/shared/cli-conventions.md +49 -60
- package/skills/uipath-maestro-flow/references/shared/file-format.md +32 -11
- package/skills/uipath-maestro-flow/references/shared/node-output-wiring.md +49 -104
- package/skills/uipath-maestro-flow/references/shared/ux-narration-and-todos.md +66 -103
- package/skills/uipath-maestro-flow/references/shared/variables-and-expressions.md +4 -4
- package/skills/uipath-planner/SKILL.md +1 -1
- package/skills/uipath-planner/assets/templates/case/case-sdd-template.md +5 -3
- package/skills/uipath-planner/references/case/case-design-lane-guide.md +1 -1
- package/skills/uipath-planner/references/case/case-design-layers-guide.md +2 -2
- package/skills/uipath-planner/references/non-pdd-lane-guide.md +2 -1
- package/skills/uipath-planner/references/pdd-driven-lane-guide.md +3 -2
- package/skills/uipath-planner/references/sdd-generation-guide.md +1 -0
- package/skills/uipath-planner/scripts/case/audit_sdd.py +77 -1
- package/skills/uipath-platform/SKILL.md +6 -4
- package/skills/uipath-platform/references/integration-service/activities.md +7 -4
- package/skills/uipath-platform/references/integration-service/reference-resolution.md +28 -0
- package/skills/uipath-platform/references/integration-service/resources.md +11 -0
- package/skills/uipath-platform/references/integration-service/triggers.md +2 -2
- package/skills/uipath-platform/references/licensing/diagnose/CAPABILITY.md +80 -0
- package/skills/uipath-platform/references/licensing/diagnose/references/failure-modes.md +147 -0
- package/skills/uipath-platform/references/licensing/diagnose/references/troubleshooting-guide.md +125 -0
- package/skills/uipath-platform/references/licensing/licensing.md +3 -0
- package/skills/uipath-platform/references/licensing/user-licenses-allocations.md +5 -0
- package/skills/uipath-platform/references/orchestrator/run-jobs.md +11 -2
- package/skills/uipath-platform/references/traces/feedback.md +4 -4
- package/skills/uipath-platform/references/traces/traces.md +1 -1
- package/skills/uipath-process-mining/SKILL.md +6 -6
- package/skills/uipath-process-mining/references/lifecycle-and-rbac.md +10 -8
- package/skills/uipath-process-mining/references/model-editing.md +1 -1
- package/skills/uipath-process-mining/references/querying.md +4 -3
- package/skills/uipath-review/SKILL.md +171 -541
- package/skills/uipath-review/references/agents/agents-lowcode-rules.md +73 -92
- package/skills/uipath-review/references/agents/guardrails/coded-guardrails-review.md +4 -0
- package/skills/uipath-review/references/agents/guardrails/guardrails-review.md +73 -180
- package/skills/uipath-review/references/architecture-assessment-guide.md +93 -105
- package/skills/uipath-review/references/review-workflow-guide.md +1 -1
- package/skills/uipath-review/references/rpa/modern-studio-issues.md +44 -44
- package/skills/uipath-review/references/rpa/rpa-common-issues.md +251 -321
- package/skills/uipath-review/references/rpa/rpa-review-checklist.md +1 -1
- package/skills/uipath-review/references/rule-catalog-workflow.md +25 -45
- package/skills/uipath-review/references/rule-format.md +21 -21
- package/skills/uipath-rpa/.maintenance/pattern-card-maintenance.md +1 -1
- package/skills/uipath-rpa/CLAUDE.md +4 -5
- package/skills/uipath-rpa/SKILL.md +40 -246
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/FindText.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetColorAtPosition.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetCursorPosition.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetField.md +13 -13
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetFieldAtPosition.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetScreenArea.md +27 -8
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetText.md +2 -14
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetTextAtPosition.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/MoveCursor.md +3 -11
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/MoveCursorToText.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SendControlKey.md +2 -8
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SendKeys.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SendKeysSecure.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SetField.md +14 -13
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SetFieldAtPosition.md +4 -7
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/TerminalSession/_common-options.md +29 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/TerminalSession/authoring-paths.md +58 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/TerminalSession.md +197 -11
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/WaitFieldText.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/WaitScreenReady.md +9 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/WaitScreenText.md +2 -14
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/WaitTextAtPosition.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities.json +271 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/coded/coded-api.md +61 -3
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/overview.md +76 -0
- package/skills/uipath-rpa/references/cli-reference.md +63 -29
- package/skills/uipath-rpa/references/coded/codedworkflow-reference.md +59 -1
- package/skills/uipath-rpa/references/coded/operations-guide.md +2 -1
- package/skills/uipath-rpa/references/debugging.md +29 -12
- package/skills/uipath-rpa/references/environment-setup.md +54 -1
- package/skills/uipath-rpa/references/execution-maps-guide.md +10 -9
- package/skills/uipath-rpa/references/legacy/activity-docs/_INVOKE-CODE.md +1 -1
- package/skills/uipath-rpa/references/uia-starter-guide.md +46 -8
- package/skills/uipath-rpa/references/xaml/common-pitfalls.md +3 -4
- package/skills/uipath-rpa/references/xaml/csharp-activity-binding-guide.md +7 -8
- package/skills/uipath-rpa/references/xaml/xaml-basics-and-rules.md +132 -42
- package/skills/uipath-solution/SKILL.md +9 -6
- package/skills/uipath-solution/references/activate-and-manage.md +11 -6
- package/skills/uipath-solution/references/develop-solution.md +39 -28
- package/skills/uipath-solution/references/pack-and-deploy.md +49 -1
- package/skills/uipath-solution/references/scenarios/failure-modes.md +1 -1
- package/skills/uipath-solution/references/scenarios/intra-solution-references.md +3 -3
- package/skills/uipath-solution/references/scenarios/manual-edits.md +1 -1
- package/skills/uipath-solution/references/scenarios.md +2 -2
- package/skills/uipath-solution/references/solution-overview.md +15 -6
- package/skills/uipath-tasks/SKILL.md +11 -6
- package/skills/uipath-tasks/references/task-assignment.md +5 -0
- package/skills/uipath-tasks/references/task-catalogs.md +7 -4
- package/skills/uipath-tasks/references/task-completion.md +3 -1
- package/skills/uipath-tasks/references/task-data.md +3 -3
- package/skills/uipath-tasks/references/task-lifecycle.md +11 -0
- package/skills/uipath-tasks/references/task-metadata.md +4 -3
- package/skills/uipath-test/SKILL.md +13 -28
- package/skills/uipath-test/references/failure-triage-guide.md +90 -0
- package/skills/uipath-test/references/playwright-first-mile-guide.md +2 -2
- package/skills/uipath-test/references/publish-and-link-guide.md +0 -1
- package/skills/uipath-test/references/test-result-report-guide.md +1 -2
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/interpretations/healing-agent-data.md +1 -1
- package/skills/uipath-troubleshoot/references/presenting.md +1 -1
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/folder-not-accessible.md +1 -1
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/generic-error-400.md +4 -4
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/integration-service-400.md +2 -2
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/job-operation-timeout.md +1 -1
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/no-suitable-runtime-machine.md +1 -1
- package/version-manifest.json +2 -2
- package/skills/uipath-maestro-case/scripts/audit_plan.py +0 -231
- package/skills/uipath-maestro-flow/references/author/references/brownfield.md +0 -93
- package/skills/uipath-maestro-flow/references/author/references/editing-operations-json.md +0 -545
- package/skills/uipath-maestro-flow/references/author/references/editing-operations.md +0 -131
- package/skills/uipath-maestro-flow/references/author/references/planning-arch.md +0 -638
- package/skills/uipath-maestro-flow/references/author/references/planning-impl.md +0 -306
- package/skills/uipath-maestro-flow/references/author/references/plugins/agent/impl.md +0 -229
- package/skills/uipath-maestro-flow/references/author/references/plugins/batch-transform/impl.md +0 -174
- package/skills/uipath-maestro-flow/references/author/references/plugins/connector/impl.md +0 -741
- package/skills/uipath-maestro-flow/references/author/references/plugins/delay/impl.md +0 -75
- package/skills/uipath-maestro-flow/references/author/references/plugins/end/impl.md +0 -65
- package/skills/uipath-maestro-flow/references/author/references/plugins/hitl/impl.md +0 -204
- package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl-manual.md +0 -65
- package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl.md +0 -201
- package/skills/uipath-maestro-flow/references/author/references/plugins/merge/impl.md +0 -43
- package/skills/uipath-maestro-flow/references/author/references/plugins/merge/planning.md +0 -29
- package/skills/uipath-maestro-flow/references/author/references/plugins/rpa/impl.md +0 -121
- package/skills/uipath-maestro-flow/references/author/references/plugins/subflow/impl.md +0 -230
- package/skills/uipath-maestro-flow/references/author/references/plugins/summarize/impl.md +0 -198
- package/skills/uipath-maestro-flow/references/author/references/plugins/summarize/planning.md +0 -71
- package/skills/uipath-maestro-flow/references/author/references/plugins/switch/planning.md +0 -38
- package/skills/uipath-maestro-flow/references/author/references/plugins/terminate/impl.md +0 -48
- package/skills/uipath-maestro-flow/references/author/references/plugins/transform/impl.md +0 -287
- package/skills/uipath-maestro-flow/references/evaluate/references/eval-sets-guide.md +0 -226
- package/skills/uipath-maestro-flow/references/evaluate/references/upload-safety.md +0 -82
- package/skills/uipath-maestro-flow/references/operate/references/run.md +0 -99
- /package/skills/uipath-maestro-bpmn/references/diagnose/{references/failure-modes.md → failure-modes.md} +0 -0
- /package/skills/uipath-maestro-bpmn/references/operate/{references/manage.md → manage.md} +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/decision/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/delay/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/end/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/flow/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/ixp/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/queue/impl.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/queue/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/scheduled-trigger/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/switch/impl.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/terminate/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/evaluate/{references/evaluators-guide.md → evaluators-guide.md} +0 -0
- /package/skills/uipath-maestro-flow/references/evaluate/{references/running-guide.md → running-guide.md} +0 -0
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
# Delay Node — Implementation
|
|
2
|
-
|
|
3
|
-
## Node Type
|
|
4
|
-
|
|
5
|
-
`core.logic.delay`
|
|
6
|
-
|
|
7
|
-
## Registry Validation
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
uip maestro flow registry get core.logic.delay --output json
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
Confirm: input port `input`, output port `output`, required inputs `timerType` and `timerPreset`. Set the node instance `typeVersion` to the `version` field from this response — do not hardcode it.
|
|
14
|
-
|
|
15
|
-
## JSON Structure
|
|
16
|
-
|
|
17
|
-
### Duration-Based (Preset)
|
|
18
|
-
|
|
19
|
-
```json
|
|
20
|
-
{
|
|
21
|
-
"id": "wait15min",
|
|
22
|
-
"type": "core.logic.delay",
|
|
23
|
-
"typeVersion": "<DEFINITION_VERSION>",
|
|
24
|
-
"display": { "label": "Wait 15 Minutes" },
|
|
25
|
-
"inputs": {
|
|
26
|
-
"timerType": "timeDuration",
|
|
27
|
-
"timerPreset": "PT15M"
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
### Duration-Based (Custom ISO 8601)
|
|
33
|
-
|
|
34
|
-
```json
|
|
35
|
-
{
|
|
36
|
-
"id": "waitCustom",
|
|
37
|
-
"type": "core.logic.delay",
|
|
38
|
-
"typeVersion": "<DEFINITION_VERSION>",
|
|
39
|
-
"display": { "label": "Wait 1 Day 5 Hours" },
|
|
40
|
-
"inputs": {
|
|
41
|
-
"timerType": "timeDuration",
|
|
42
|
-
"timerPreset": "custom",
|
|
43
|
-
"timerValue": "P1DT5H30M"
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
### Date-Based (Wait Until)
|
|
49
|
-
|
|
50
|
-
```json
|
|
51
|
-
{
|
|
52
|
-
"id": "waitUntil",
|
|
53
|
-
"type": "core.logic.delay",
|
|
54
|
-
"typeVersion": "<DEFINITION_VERSION>",
|
|
55
|
-
"display": { "label": "Wait Until April 15" },
|
|
56
|
-
"inputs": {
|
|
57
|
-
"timerType": "timeDate",
|
|
58
|
-
"timerPreset": "custom",
|
|
59
|
-
"timerDate": "=js:$vars.scheduledDate"
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
## Adding / Editing
|
|
65
|
-
|
|
66
|
-
For step-by-step add, delete, and wiring procedures, see [editing-operations.md](../../editing-operations.md). Use the JSON structure above for the node-specific `inputs`. BPMN type and event definition come from the definition in `definitions[]`.
|
|
67
|
-
|
|
68
|
-
## Debug
|
|
69
|
-
|
|
70
|
-
| Error | Cause | Fix |
|
|
71
|
-
| --- | --- | --- |
|
|
72
|
-
| Invalid timer value | Malformed ISO 8601 string | Check format: `P[n]Y[n]M[n]W[n]DT[n]H[n]M[n]S` |
|
|
73
|
-
| Missing `timerValue` | `timerPreset: "custom"` but no `timerValue` | Add `timerValue` with ISO 8601 duration |
|
|
74
|
-
| Missing `timerDate` | `timerType: "timeDate"` but no `timerDate` | Add `timerDate` with ISO 8601 datetime or `=js:` expression |
|
|
75
|
-
| BPMN timer event not emitted | Wrong `core.logic.delay` definition in `definitions[]` | Re-copy from `uip maestro flow registry get core.logic.delay --output json` — the definition carries `model.eventDefinition: "bpmn:TimerEventDefinition"` |
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
# End Node — Implementation
|
|
2
|
-
|
|
3
|
-
## Node Type
|
|
4
|
-
|
|
5
|
-
`core.control.end`
|
|
6
|
-
|
|
7
|
-
## Registry Validation
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
uip maestro flow registry get core.control.end --output json
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
Confirm: input port `input`, no output ports. Set the node instance `typeVersion` to the `version` field from this response — do not hardcode it.
|
|
14
|
-
|
|
15
|
-
## JSON Structure
|
|
16
|
-
|
|
17
|
-
### Without Output Mapping
|
|
18
|
-
|
|
19
|
-
```json
|
|
20
|
-
{
|
|
21
|
-
"id": "doneSuccess",
|
|
22
|
-
"type": "core.control.end",
|
|
23
|
-
"typeVersion": "<DEFINITION_VERSION>",
|
|
24
|
-
"display": { "label": "Done" },
|
|
25
|
-
"inputs": {}
|
|
26
|
-
}
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
### With Output Mapping
|
|
30
|
-
|
|
31
|
-
When the workflow declares `out` variables, every End node must map all of them:
|
|
32
|
-
|
|
33
|
-
```json
|
|
34
|
-
{
|
|
35
|
-
"id": "doneSuccess",
|
|
36
|
-
"type": "core.control.end",
|
|
37
|
-
"typeVersion": "<DEFINITION_VERSION>",
|
|
38
|
-
"display": { "label": "Done" },
|
|
39
|
-
"inputs": {},
|
|
40
|
-
"outputs": {
|
|
41
|
-
"processedCount": {
|
|
42
|
-
"source": "=js:$vars.processData.output.count"
|
|
43
|
-
},
|
|
44
|
-
"resultSummary": {
|
|
45
|
-
"source": "=js:$vars.formatOutput.output.summary"
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
Each key in `outputs` must match a variable `id` from `variables.globals` where `direction: "out"`.
|
|
52
|
-
|
|
53
|
-
## Adding / Editing
|
|
54
|
-
|
|
55
|
-
For step-by-step add, delete, and wiring procedures, see [editing-operations.md](../../editing-operations.md). Use the JSON structure above for the node-specific `inputs` and `outputs`.
|
|
56
|
-
|
|
57
|
-
Output mapping must be added with `Edit` against the `.flow` file — see [Edit/Write: Add output mapping](../../editing-operations-json.md#add-output-mapping-on-an-end-node).
|
|
58
|
-
|
|
59
|
-
## Debug
|
|
60
|
-
|
|
61
|
-
| Error | Cause | Fix |
|
|
62
|
-
| --- | --- | --- |
|
|
63
|
-
| Missing output mapping | `out` variable not mapped on this End node | Add `outputs.{varId}.source` expression for every `out` variable |
|
|
64
|
-
| Output expression unresolvable | `$vars` reference points to unreachable node | Ensure the node is upstream and connected via edges |
|
|
65
|
-
| Runtime silent failure | Output mapping missing on one reachable End node | Check **all** End nodes, not just the primary path |
|
|
@@ -1,204 +0,0 @@
|
|
|
1
|
-
# HITL Node — Implementation
|
|
2
|
-
|
|
3
|
-
Two node types implement human-in-the-loop checkpoints. Choose based on whether you need an inline form or an existing deployed app.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Option 1 — `uipath.human-in-the-loop.quick-form` (Inline Schema — OOTB)
|
|
8
|
-
|
|
9
|
-
This is the preferred option. No registry pull, no app publishing, no tenant dependency. Write the node directly into the `.flow` file as JSON.
|
|
10
|
-
|
|
11
|
-
**Full implementation guide, JSON examples, and schema conversion rules:**
|
|
12
|
-
→ [`uipath-human-in-the-loop` skill — hitl-node-quickform.md](../../../../../../uipath-human-in-the-loop/references/hitl-node-quickform.md)
|
|
13
|
-
|
|
14
|
-
> **Note:** Skills are self-contained. This cross-skill reference is for documentation context only. The agent uses the `uipath-human-in-the-loop` skill to implement HITL nodes. This implementation guide is for implementation-phase topology resolution only — not for schema design or node writing.
|
|
15
|
-
|
|
16
|
-
### Adding / Editing
|
|
17
|
-
|
|
18
|
-
For add, delete, and wiring procedures, see [editing-operations.md](../../editing-operations.md). **Use `Edit` / `Write` for HITL node authoring.** Do not use the dedicated HITL CLI for this non-carve-out structural edit. Wire the `outcome-completed` port after adding the node.
|
|
19
|
-
|
|
20
|
-
### Quick Reference
|
|
21
|
-
|
|
22
|
-
**Node JSON (minimum viable):**
|
|
23
|
-
|
|
24
|
-
```json
|
|
25
|
-
{
|
|
26
|
-
"id": "hitlReview1",
|
|
27
|
-
"type": "uipath.human-in-the-loop.quick-form",
|
|
28
|
-
"typeVersion": "1.0",
|
|
29
|
-
"display": { "label": "Invoice Review" },
|
|
30
|
-
"inputs": {
|
|
31
|
-
"schema": {
|
|
32
|
-
"schemaId": "<uuid>",
|
|
33
|
-
"fields": [
|
|
34
|
-
{ "id": "invoiceid", "label": "Invoice ID", "type": "text", "direction": "input", "binding": "vars.fetchInvoice.output.invoiceId" },
|
|
35
|
-
{ "id": "amount", "label": "Amount", "type": "number", "direction": "input", "binding": "vars.fetchInvoice.output.amount" },
|
|
36
|
-
{ "id": "decision", "label": "Decision", "type": "text", "direction": "output", "variable": "vars.decision" }
|
|
37
|
-
],
|
|
38
|
-
"outcomes": [
|
|
39
|
-
{ "id": "approve", "name": "Approve", "type": "string", "isPrimary": true, "action": "Continue" },
|
|
40
|
-
{ "id": "reject", "name": "Reject", "type": "string", "isPrimary": false, "action": "End" }
|
|
41
|
-
]
|
|
42
|
-
},
|
|
43
|
-
"recipient": { "channels": ["Email", "ActionCenter"], "connections": {}, "assignee": { "type": "group" } },
|
|
44
|
-
"priority": "Low"
|
|
45
|
-
},
|
|
46
|
-
"outputs": {
|
|
47
|
-
"output": {
|
|
48
|
-
"type": "object",
|
|
49
|
-
"description": "Task result data",
|
|
50
|
-
"source": "=result",
|
|
51
|
-
"var": "output",
|
|
52
|
-
"properties": {
|
|
53
|
-
"decision": { "type": "string" },
|
|
54
|
-
"Action": { "type": "string", "enum": ["Approve", "Reject"], "default": "Approve" }
|
|
55
|
-
}
|
|
56
|
-
},
|
|
57
|
-
"status": {
|
|
58
|
-
"type": "string",
|
|
59
|
-
"description": "Task completion status",
|
|
60
|
-
"source": "=result.Action",
|
|
61
|
-
"var": "status",
|
|
62
|
-
"enum": ["Approve", "Reject"],
|
|
63
|
-
"default": "Approve"
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
**Field format rules:**
|
|
70
|
-
- **Input fields**: `binding: "vars.<nodeId>.output.<field>"` (raw path, no `=js:$` prefix). No `variable` property on input fields.
|
|
71
|
-
- **Output fields**: `variable: "vars.<globalName>"` (`vars.` prefix required). No `binding`.
|
|
72
|
-
- **InOut fields**: both `binding` and `variable`, same formats as above.
|
|
73
|
-
- `schemaId` (not `id`) at the schema level — generate a fresh UUID.
|
|
74
|
-
- `typeVersion` — always `"1.0"` for `uipath.human-in-the-loop.quick-form`. **Do not run `registry get` to derive this value; do not use `"1.1"` or any other version.** The OOTB HITL node version is stable at `1.0`.
|
|
75
|
-
- No `model` block on node instances — only the definition carries it.
|
|
76
|
-
|
|
77
|
-
**outputs block**: only `output` (with `properties` for output/inOut fields + `Action` outcome) and `status` (with `enum`/`default` from outcomes). No per-field `custom: true` entries.
|
|
78
|
-
|
|
79
|
-
**Ports:** `input` (target) → `outcome-completed` (source, label: Completed)
|
|
80
|
-
|
|
81
|
-
**Output variables:**
|
|
82
|
-
- `$vars.{nodeId}.output` — object with all `output` / `inOut` field values, keyed by **field `id`**
|
|
83
|
-
- `$vars.{nodeId}.output.{fieldId}` — individual field value (e.g. `$vars.hitlReview1.output.decision`)
|
|
84
|
-
- `$vars.{nodeId}.status` — selected outcome name (e.g. `"Approve"`, `"Reject"`)
|
|
85
|
-
- `$vars.{globalId}` — workflow-global alias; `globalId` is `field.variable` with `vars.` stripped. **Do not use this in scripts — always use `$vars.{nodeId}.output.{fieldId}` instead.**
|
|
86
|
-
|
|
87
|
-
---
|
|
88
|
-
|
|
89
|
-
## Option 2 — App-Based HITL (`uipath.human-in-the-loop.coded-action-app`)
|
|
90
|
-
|
|
91
|
-
Use when there is an existing deployed Action Center app that should serve as the task form.
|
|
92
|
-
|
|
93
|
-
### Discovery
|
|
94
|
-
|
|
95
|
-
**CLI (primary path):**
|
|
96
|
-
|
|
97
|
-
```bash
|
|
98
|
-
uip solution resources list --kind App --output json
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
Returns all Action Center app types (`vB Action`, `workflow Action`, `Coded Action`, `JS Action`). Filter by app name. Then retrieve the configuration:
|
|
102
|
-
|
|
103
|
-
```bash
|
|
104
|
-
uip solution resources get <key> --output json
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
**Direct API fallback (if CLI unavailable):**
|
|
108
|
-
|
|
109
|
-
```
|
|
110
|
-
GET {BASE_URL}/{ORG}/studio_/backend/api/resourcebuilder/solutions/{SOLUTION_ID}/resources/search
|
|
111
|
-
?kind=app&pageSize=25&projectKey={PROJECT_KEY}&includeSolutionResources=true
|
|
112
|
-
&types=VB%20Action&types=Workflow%20Action&types=Coded%20Action&types=CodedAction&types=JS%20Action
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
Full step-by-step (app search → retrieve-configuration → resource files → reference registration → debug overwrites) → **[hitl-node-apptask.md](../../../../../../uipath-human-in-the-loop/references/hitl-node-apptask.md)**
|
|
116
|
-
|
|
117
|
-
### Node JSON (Quick Reference)
|
|
118
|
-
|
|
119
|
-
```json
|
|
120
|
-
{
|
|
121
|
-
"id": "invoiceReview1",
|
|
122
|
-
"type": "uipath.human-in-the-loop.coded-action-app",
|
|
123
|
-
"typeVersion": "<DEFINITION_VERSION>",
|
|
124
|
-
"display": { "label": "Invoice Review" },
|
|
125
|
-
"inputs": {
|
|
126
|
-
"recipient": { "channels": ["ActionCenter"], "connections": {}, "assignee": { "type": "group" } },
|
|
127
|
-
"app": {
|
|
128
|
-
"displayName": "Invoice Approval",
|
|
129
|
-
"name": "Invoice Approval",
|
|
130
|
-
"key": "<app.key>",
|
|
131
|
-
"folderPath": "Shared",
|
|
132
|
-
"inputSchema": {
|
|
133
|
-
"type": "object",
|
|
134
|
-
"properties": {
|
|
135
|
-
"<paramName>": { "type": "string" }
|
|
136
|
-
}
|
|
137
|
-
},
|
|
138
|
-
"outputSchema": {
|
|
139
|
-
"type": "object",
|
|
140
|
-
"properties": {
|
|
141
|
-
"<outputName>": { "type": "string" }
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
},
|
|
145
|
-
"appInputBindings": {
|
|
146
|
-
"<inputParamName>": "=vars.<nodeId>.output.<field>",
|
|
147
|
-
"<inputParamName2>": "=metadata.InstanceId"
|
|
148
|
-
},
|
|
149
|
-
"schema": {
|
|
150
|
-
"fields": [],
|
|
151
|
-
"outcomes": [{ "id": "submit", "name": "Submit", "type": "string", "isPrimary": true, "action": "Continue" }]
|
|
152
|
-
},
|
|
153
|
-
"priority": "Medium"
|
|
154
|
-
},
|
|
155
|
-
"outputs": {
|
|
156
|
-
"output": {
|
|
157
|
-
"type": "object",
|
|
158
|
-
"description": "Task result data",
|
|
159
|
-
"source": "=result",
|
|
160
|
-
"var": "output",
|
|
161
|
-
"properties": {
|
|
162
|
-
"Action": { "type": "string", "enum": ["Submit"], "default": "Submit" }
|
|
163
|
-
}
|
|
164
|
-
},
|
|
165
|
-
"status": {
|
|
166
|
-
"type": "string",
|
|
167
|
-
"description": "Task completion status",
|
|
168
|
-
"source": "=result.Action",
|
|
169
|
-
"var": "status",
|
|
170
|
-
"enum": ["Submit"],
|
|
171
|
-
"default": "Submit"
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
**`typeVersion`** — fill in the version returned by `uip maestro flow registry get <appKey>` for the specific deployed app. Unlike QuickForm (always `"1.0"`), AppTask version varies per app definition.
|
|
178
|
-
|
|
179
|
-
**`inputs.app`**: `inputSchema` and `outputSchema` are JSON Schema objects (`{ "type": "object", "properties": { ... } }`), **not arrays**.
|
|
180
|
-
|
|
181
|
-
**`inputs.appInputBindings`** — maps app input parameter names to binding expressions. Format: `"=vars.<path>"` (with `=` prefix, no `js:`). Key = parameter name from `inputSchema.properties`. Without this, all input fields appear blank.
|
|
182
|
-
|
|
183
|
-
### If the app does not exist yet
|
|
184
|
-
|
|
185
|
-
Note as `[CREATE NEW] <description>` in the node table and use `core.logic.mock` as a placeholder. The app itself is out of scope for this skill — use the `uipath-coded-apps` skill to build it.
|
|
186
|
-
|
|
187
|
-
---
|
|
188
|
-
|
|
189
|
-
## Common Pattern — Human-in-the-Loop
|
|
190
|
-
|
|
191
|
-
```text
|
|
192
|
-
Manual Trigger -> RPA Process (extract) -> HITL (review) -> Decision (approved?) ->
|
|
193
|
-
true: Script (submit) -> End
|
|
194
|
-
false: End
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
## Debug
|
|
198
|
-
|
|
199
|
-
| Error | Cause | Fix |
|
|
200
|
-
| --- | --- | --- |
|
|
201
|
-
| Node type not found in registry (Option 2) | App not published or registry stale | If in same solution: `uip maestro flow registry list --local`. Otherwise: `uip login` then `uip maestro flow registry pull --force` |
|
|
202
|
-
| Task never completes | Human hasn't submitted the form | Check task assignment in Orchestrator |
|
|
203
|
-
| Output missing expected fields | App form doesn't match expected schema | Verify app form fields match what the flow expects |
|
|
204
|
-
| `outcome-completed` port unwired (Option 1) | Missing edge on output handle | Wire the `outcome-completed` output handle — an unwired `outcome-completed` blocks the flow indefinitely |
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
# HTTP Request Node — Manual Mode
|
|
2
|
-
|
|
3
|
-
Use this walkthrough when there is no IS connector for the target service, the API needs no auth (or auth you pass yourself in headers), or you are prototyping against an arbitrary REST endpoint. For connector-managed auth, use [impl-connector.md](impl-connector.md) instead.
|
|
4
|
-
|
|
5
|
-
**No connection lookup required.** Manual mode uses `ImplicitConnection` — there are no IS bindings.
|
|
6
|
-
|
|
7
|
-
Before starting, read [impl.md](impl.md) for the node type, registry validation, and the "always use `node configure`" rule. Follow Steps 1–4 in order.
|
|
8
|
-
|
|
9
|
-
## Step 1 — Add the node
|
|
10
|
-
|
|
11
|
-
```bash
|
|
12
|
-
uip maestro flow node add <ProjectName>.flow core.action.http.v2 \
|
|
13
|
-
--label "<HTTP node label>" --output json
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
> **Inside a loop body?** Add `--parent <LOOP_NODE_ID>` to set `parentId`. Without it, the node runs outside the loop context and outputs are null. See [loop/impl.md](../loop/impl.md).
|
|
17
|
-
|
|
18
|
-
The CLI copies the manifest into `definitions[]`, adds the node instance, registers `variables.nodes`, and inserts a `layout.nodes` placeholder — byte-for-byte from the registry. Save the returned `<nodeId>` — Step 2 reuses it. Leave `inputs` empty; Step 2 populates `inputs.detail`. Do not hand-author the definition — see [impl.md — Add the node](impl.md#add-the-node).
|
|
19
|
-
|
|
20
|
-
## Step 2 — Configure the node
|
|
21
|
-
|
|
22
|
-
> **Find missing values first.** Before composing `url` / `query` / `body`, resolve any values the agent doesn't have (IDs from names, required body fields, response shape, …). See [/uipath:uipath-platform — http-request.md](../../../../../../uipath-platform/references/integration-service/http-request.md).
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
uip maestro flow node configure <ProjectName>.flow <nodeId> \
|
|
26
|
-
--detail '{
|
|
27
|
-
"authentication": "manual",
|
|
28
|
-
"method": "GET",
|
|
29
|
-
"url": "https://api.example.com/endpoint",
|
|
30
|
-
"query": {"param1": "value1"}
|
|
31
|
-
}' --output json
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
The CLI:
|
|
35
|
-
|
|
36
|
-
- Builds the full `inputs.detail` (manual auth, `ImplicitConnection`, bodyParameters, essentialConfiguration)
|
|
37
|
-
- Does **not** generate `bindings_v2.json` or a connection resource file — manual mode needs neither
|
|
38
|
-
|
|
39
|
-
`url` must be a full URL (scheme + host + path). For auth headers you control, pass them under `headers`:
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
uip maestro flow node configure <ProjectName>.flow <nodeId> \
|
|
43
|
-
--detail '{
|
|
44
|
-
"authentication": "manual",
|
|
45
|
-
"method": "GET",
|
|
46
|
-
"url": "https://api.example.com/me",
|
|
47
|
-
"headers": {"Authorization": "=js:`Bearer ${$vars.apiToken}`"}
|
|
48
|
-
}' --output json
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
**Dynamic values:** HTTP input fields do not resolve `{$vars.x}` brace-templates — use `=js:` expressions for any dynamic `url` / `headers` / `body` / `query`. Pass the `=js:` string verbatim in `--detail`. Full rationale and examples: [impl.md — Dynamic values](impl.md#dynamic-values-in-url--headers--body--query).
|
|
52
|
-
|
|
53
|
-
## Step 3 — (Optional) Response branches
|
|
54
|
-
|
|
55
|
-
Skip unless you need to route downstream paths based on response content (e.g., `items.length > 0` vs empty). For generic call-failure handling use the `error` port in Step 4 instead. Full syntax and rules: [impl.md — Conditional branches](impl.md#conditional-branches).
|
|
56
|
-
|
|
57
|
-
## Step 4 — Wire edges
|
|
58
|
-
|
|
59
|
-
The HTTP node's target port is `input`. Source ports: `default` (success), `error` (network/non-2xx), `branch-{id}` (one per Step 3 entry). Wire `default` to the next node. Wire `error` to a handler **only when the requirements say what a failed call should do** — with no `error` edge the call faults the flow, which is the correct default, and setting `inputs.errorHandlingEnabled: true` without the edge swallows the failure into a run that reports success. See [file-format.md — Default: off](../../../../shared/file-format.md#default-off--enable-only-for-a-failure-the-flow-actually-handles).
|
|
60
|
-
|
|
61
|
-
Edge JSON shapes and all four examples (upstream→node, default→downstream, error→handler, branch→downstream): [impl.md — Wire edges](impl.md#wire-edges).
|
|
62
|
-
|
|
63
|
-
## Debug
|
|
64
|
-
|
|
65
|
-
See [impl.md — Debug](impl.md#debug). For manual mode, watch for `ImplicitConnection` errors — they signal a missing `authentication: "manual"` flag or a non-URL `url` value.
|
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
# HTTP Request Node — Implementation
|
|
2
|
-
|
|
3
|
-
This page is the entry point for implementing a managed HTTP node. Pick your auth mode below, then follow the matching walkthrough end-to-end. The "Shared Reference" section is an appendix — the mode walkthroughs already inline what you need to act, and link here only for full rationale and extended examples.
|
|
4
|
-
|
|
5
|
-
## Node Type
|
|
6
|
-
|
|
7
|
-
`core.action.http.v2` (Managed HTTP Request)
|
|
8
|
-
|
|
9
|
-
> **Always use `core.action.http.v2`** for all HTTP requests. The older `core.action.http` (v1) is deprecated.
|
|
10
|
-
|
|
11
|
-
## Pick a Mode
|
|
12
|
-
|
|
13
|
-
| Mode | Use when | Walkthrough |
|
|
14
|
-
| --- | --- | --- |
|
|
15
|
-
| **Connector** | Target system has an IS connector — auth via an existing IS connection (OAuth/API key) | [impl-connector.md](impl-connector.md) |
|
|
16
|
-
| **Manual** | No connector exists, public/no-auth API, or quick prototyping | [impl-manual.md](impl-manual.md) |
|
|
17
|
-
|
|
18
|
-
> **Mode fallback — auto-try, then confirm.** Prefer a curated connector activity first; if none, use connector mode; if connector mode cannot be configured (connector lacks HTTP request support — `HasHttpRequest` false — or no usable IS connection), fall through to manual mode automatically. Manual changes the auth model (you supply auth yourself), so confirm the switched mode with the user before finalizing. See [impl-connector.md — Step 2](impl-connector.md#step-2--identify-target-connection).
|
|
19
|
-
|
|
20
|
-
The `--detail` payload differs in two places between modes: `authentication` (`"connector"` vs `"manual"`), and the connector-binding fields `targetConnector` / `connectionId` / `folderKey` (connector mode only; `url` is then relative to the connector base, vs. an absolute URL in manual mode). Everything else (node add, dynamic values, branches, edges, debug) is shared.
|
|
21
|
-
|
|
22
|
-
## Critical: Use `node configure`
|
|
23
|
-
|
|
24
|
-
> **Do not hand-write `inputs.detail`, `bindings_v2.json`, or connection resource files.** Run `uip maestro flow node configure` — it builds everything from a simple `--detail` JSON. Hand-written configurations miss the `essentialConfiguration` block and fail at runtime. `core.action.http.v2` is CLI-owned per [Author capability — Node ownership](../../../CAPABILITY.md#node-ownership--who-authors-the-node) (same envelope rules as connector activities).
|
|
25
|
-
|
|
26
|
-
## Registry validation
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
uip maestro flow registry get core.action.http.v2 --output json
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
Confirm in `Data.Node.handleConfiguration`: target port `input`, source ports `branch-{item.id}` (dynamic, `repeat: inputs.branches`) and `default`. Also confirm `Data.Node.supportsErrorHandling: true` — HTTP v2 participates in the implicit `error` port pattern shared by every action node (see [Action Node Structure](../../../../shared/action-nodes.md)). Model `serviceType` is `Intsvc.UnifiedHttpRequest`.
|
|
33
|
-
|
|
34
|
-
---
|
|
35
|
-
|
|
36
|
-
## Shared Reference (appendix)
|
|
37
|
-
|
|
38
|
-
The mode walkthroughs link into the sections below for full rationale and extended examples. You do not need to read this section in order — jump directly from the walkthrough link that brought you here.
|
|
39
|
-
|
|
40
|
-
### Add the node
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
uip maestro flow node add <ProjectName>.flow core.action.http.v2 \
|
|
44
|
-
--label "<HTTP node label>" --output json
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
The CLI copies the manifest into `definitions[]`, adds the node instance to `nodes[]`, registers the `variables.nodes` entries, and inserts a placeholder in `layout.nodes` — all in code, byte-for-byte from the registry (including `typeVersion`, which the CLI pulls from the manifest's `version` field; do not hardcode it). Save the returned node ID — both walkthroughs reuse it.
|
|
48
|
-
|
|
49
|
-
The CLI initializes `inputs` from the manifest's `inputDefaults`:
|
|
50
|
-
|
|
51
|
-
```json
|
|
52
|
-
"inputs": {
|
|
53
|
-
"branches": [],
|
|
54
|
-
"timeout": "PT15M",
|
|
55
|
-
"retryCount": 0,
|
|
56
|
-
"swaggerDefinition": null,
|
|
57
|
-
"detail": {}
|
|
58
|
-
}
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
`inputs.detail` is populated by the configure step (next). The inputs-level siblings — `branches`, `timeout`, `retryCount` — are set at `node add` time via `--input`:
|
|
62
|
-
|
|
63
|
-
```bash
|
|
64
|
-
uip maestro flow node add <ProjectName>.flow core.action.http.v2 \
|
|
65
|
-
--label "<HTTP node label>" \
|
|
66
|
-
--input '{
|
|
67
|
-
"timeout": "PT30M",
|
|
68
|
-
"retryCount": 3,
|
|
69
|
-
"branches": [
|
|
70
|
-
{ "id": "hasItems", "name": "Has Items", "conditionExpression": "$self.output.body.items.length > 0" },
|
|
71
|
-
{ "id": "empty", "name": "Empty", "conditionExpression": "$self.output.body.items.length == 0" }
|
|
72
|
-
]
|
|
73
|
-
}' --output json
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
- `timeout` — ISO 8601 duration (e.g. `PT15M`, `PT1H`, `P1D`). Default `PT15M`.
|
|
77
|
-
- `retryCount` — integer. Default `0`.
|
|
78
|
-
- `branches` — see [Conditional branches](#conditional-branches) below.
|
|
79
|
-
|
|
80
|
-
> **Do not hand-author the `core.action.http.v2` definition, and do not `Edit` `inputs.*` after the fact.** Use `uip maestro flow node add` (with `--input` for branches/timeout/retryCount) and `uip maestro flow node configure` (for `inputs.detail`). These are the only supported authoring paths.
|
|
81
|
-
|
|
82
|
-
### Dynamic values in URL / headers / body / query
|
|
83
|
-
|
|
84
|
-
**IS activity input fields do not resolve `{$vars.x}` brace-templates.** The flow runtime's `{...}` template interpolation only applies to native flow fields (end-node output `source`, variable updates, decision `expression`, script body, etc.) — **not** to fields under `inputs.detail.bodyParameters` on HTTP v2 or on any `uipath.connector.*` activity. Evidence: `"url": "https://.../user/{$vars.article}/..."` ships to the service as literal `{vars.article}` (the `$` is stripped, braces remain), producing a 400 Bad Request.
|
|
85
|
-
|
|
86
|
-
**Use `=js:` expressions for any dynamic value in IS activity inputs.** The runtime evaluates `=js:` before handing the value to the connector:
|
|
87
|
-
|
|
88
|
-
```json
|
|
89
|
-
"bodyParameters": {
|
|
90
|
-
"url": "=js:`https://api.example.com/users/${$vars.userId}/orders`",
|
|
91
|
-
"headers": {
|
|
92
|
-
"Authorization": "=js:'Bearer ' + $vars.apiToken",
|
|
93
|
-
"X-Request-ID": "=js:$metadata.instanceId"
|
|
94
|
-
},
|
|
95
|
-
"query": {
|
|
96
|
-
"since": "=js:$vars.startDate"
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
Template literals with `${...}` interpolation work because the whole expression is evaluated as JavaScript — `$vars` is a global in the `=js:` context. Plain string concatenation (`'Bearer ' + $vars.token`) works the same way.
|
|
102
|
-
|
|
103
|
-
When calling `uip maestro flow node configure --detail`, pass the `=js:` string verbatim — the CLI stores it in `inputs.detail.bodyParameters` unchanged:
|
|
104
|
-
|
|
105
|
-
```bash
|
|
106
|
-
uip maestro flow node configure <Project>.flow <nodeId> \
|
|
107
|
-
--detail '{
|
|
108
|
-
"authentication": "manual",
|
|
109
|
-
"method": "GET",
|
|
110
|
-
"url": "=js:`https://api.example.com/users/${$vars.userId}`"
|
|
111
|
-
}' --output json
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
### Conditional branches
|
|
115
|
-
|
|
116
|
-
Skip this section unless you need to route downstream paths based on the *response content* (e.g., `items.length > 0` vs empty). Do **not** use `branches` just to handle call failures — for that, use the `error` port (see [Wire edges](#wire-edges)).
|
|
117
|
-
|
|
118
|
-
Each branch entry creates a `branch-{id}` source port. `$self` refers to the current HTTP node's output inside the condition.
|
|
119
|
-
|
|
120
|
-
Set `branches` at `node add` time via `--input` (see [Add the node](#add-the-node)) — `branches` lives at `inputs.branches`, not `inputs.detail.branches`, and `node configure --detail` does not accept it.
|
|
121
|
-
|
|
122
|
-
```bash
|
|
123
|
-
uip maestro flow node add <ProjectName>.flow core.action.http.v2 \
|
|
124
|
-
--label "<HTTP node label>" \
|
|
125
|
-
--input '{
|
|
126
|
-
"branches": [
|
|
127
|
-
{ "id": "hasItems", "name": "Has Items", "conditionExpression": "$self.output.body.items.length > 0" },
|
|
128
|
-
{ "id": "empty", "name": "Empty", "conditionExpression": "$self.output.body.items.length == 0" }
|
|
129
|
-
]
|
|
130
|
-
}' --output json
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
> **Do not prefix `conditionExpression` with `=js:`** — HTTP branch conditions are auto-evaluated as JS (same rule as decision/switch expressions).
|
|
134
|
-
|
|
135
|
-
### Wire edges
|
|
136
|
-
|
|
137
|
-
The managed HTTP node's target port is `input`. Its source ports are:
|
|
138
|
-
|
|
139
|
-
- `default` — primary success output (or fallback when configured branches don't match)
|
|
140
|
-
- `error` — fires when the HTTP call fails (network error, timeout, non-2xx not caught by a branch); wire this to an error handler to keep the flow from faulting
|
|
141
|
-
- `branch-{id}` — one per entry in `inputs.branches` ([Conditional branches](#conditional-branches)); use the exact `id` you set
|
|
142
|
-
|
|
143
|
-
Use `Edit` to add edge objects to `edges[]`; do not use `uip maestro flow edge add` for this structural wiring. Examples:
|
|
144
|
-
|
|
145
|
-
```json
|
|
146
|
-
{
|
|
147
|
-
"id": "e-<upstreamNodeId>-<nodeId>",
|
|
148
|
-
"sourceNodeId": "<upstreamNodeId>",
|
|
149
|
-
"sourcePort": "<port>",
|
|
150
|
-
"targetNodeId": "<nodeId>",
|
|
151
|
-
"targetPort": "input"
|
|
152
|
-
}
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
```json
|
|
156
|
-
{
|
|
157
|
-
"id": "e-<nodeId>-<downstreamNodeId>",
|
|
158
|
-
"sourceNodeId": "<nodeId>",
|
|
159
|
-
"sourcePort": "default",
|
|
160
|
-
"targetNodeId": "<downstreamNodeId>",
|
|
161
|
-
"targetPort": "input"
|
|
162
|
-
}
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
```json
|
|
166
|
-
{
|
|
167
|
-
"id": "e-<nodeId>-<errorHandlerId>",
|
|
168
|
-
"sourceNodeId": "<nodeId>",
|
|
169
|
-
"sourcePort": "error",
|
|
170
|
-
"targetNodeId": "<errorHandlerId>",
|
|
171
|
-
"targetPort": "input"
|
|
172
|
-
}
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
Add the `error` edge above **only when the requirements say what should happen if the call fails.** With no error edge, a failed call faults the flow — the correct, visible default.
|
|
176
|
-
|
|
177
|
-
When an HTTP node does have an outgoing `error` edge, the HTTP node instance must also include `inputs.errorHandlingEnabled: true`. `uip maestro flow edge add --source-port error` and `uip maestro flow format` set this automatically; direct JSON edits must set it explicitly. Never set the flag on an HTTP node with no error edge — it suppresses the fault, so a failed call flows on and the run reports success. See [file-format.md — Default: off](../../../../shared/file-format.md#default-off--enable-only-for-a-failure-the-flow-actually-handles).
|
|
178
|
-
|
|
179
|
-
```json
|
|
180
|
-
{
|
|
181
|
-
"id": "e-<nodeId>-<hasItemsDownstream>",
|
|
182
|
-
"sourceNodeId": "<nodeId>",
|
|
183
|
-
"sourcePort": "branch-hasItems",
|
|
184
|
-
"targetNodeId": "<hasItemsDownstream>",
|
|
185
|
-
"targetPort": "input"
|
|
186
|
-
}
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
### Debug
|
|
190
|
-
|
|
191
|
-
| Error | Cause | Fix |
|
|
192
|
-
| --- | --- | --- |
|
|
193
|
-
| `not_authed` or 401/403 | Wrong node type (v1 instead of v2), missing bindings, or expired connection | Verify node type is `core.action.http.v2`, check `bindings_v2.json` exists, ping the connection |
|
|
194
|
-
| `configuration` field missing | Node not configured via CLI | Run `uip maestro flow node configure` — do not hand-write `inputs.detail` |
|
|
195
|
-
| `flow validate` errors with `uiPathActivityTypeId` missing on `core.action.http.v2` | Node was hand-authored in `definitions[]` instead of via `uip maestro flow node add` | Remove the node, re-add it via `uip maestro flow node add <file> core.action.http.v2 ...`, then re-run `node configure`. |
|
|
196
|
-
| Connection not found | Wrong connection ID or connector key | Re-run `uip is connections list` for the target connector |
|
|
197
|
-
| Wrong API response | Incorrect `url` or `query` | Check the target service's API documentation |
|
|
198
|
-
| `ImplicitConnection` errors | Manual mode misconfigured | Verify `authentication: "manual"` and `url` is a full URL |
|
|
199
|
-
| Flow faults on 4xx/5xx response | No `error` edge wired from the HTTP node | Expected when the requirements specify no fallback. If they do, add an edge with `sourcePort: "error"` to an error-handler node. See [Implicit error port on action nodes](../../../../shared/file-format.md#implicit-error-port-on-action-nodes) — same mechanism applies to all action nodes |
|
|
200
|
-
| Flow reports `Completed` but the API call failed | `inputs.errorHandlingEnabled: true` with no handler, or an `error` edge routed into the happy path / the success End node | Remove the flag when there is no error edge; otherwise repoint the error edge at a distinct End node with an error/status output, or at `core.logic.terminate`. See [Do not swallow the failure](../../../../shared/file-format.md#do-not-swallow-the-failure) |
|
|
201
|
-
| Edge `source-port output` rejected | Referencing the variable namespace as a port name | HTTP source ports are `default`, `error`, and `branch-{id}` — not `output`. The `output` name is only a variable namespace (`$vars.{nodeId}.output`) |
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
# Merge Node — Implementation
|
|
2
|
-
|
|
3
|
-
## Node Type
|
|
4
|
-
|
|
5
|
-
`core.logic.merge`
|
|
6
|
-
|
|
7
|
-
## Registry Validation
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
uip maestro flow registry get core.logic.merge --output json
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
Confirm: input port `input` (accepts multiple connections), output port `output`. Set the node instance `typeVersion` to the `version` field from this response — do not hardcode it.
|
|
14
|
-
|
|
15
|
-
## JSON Structure
|
|
16
|
-
|
|
17
|
-
```json
|
|
18
|
-
{
|
|
19
|
-
"id": "joinBranches",
|
|
20
|
-
"type": "core.logic.merge",
|
|
21
|
-
"typeVersion": "<DEFINITION_VERSION>",
|
|
22
|
-
"display": { "label": "Join Branches" },
|
|
23
|
-
"inputs": {}
|
|
24
|
-
}
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
## Adding / Editing
|
|
28
|
-
|
|
29
|
-
For step-by-step add, delete, and wiring procedures, see [editing-operations.md](../../editing-operations.md). Use the JSON structure above for the node-specific `inputs`.
|
|
30
|
-
|
|
31
|
-
## Wiring
|
|
32
|
-
|
|
33
|
-
- `input` — accepts multiple incoming edges (one per parallel branch). All branches must reach the merge before it continues.
|
|
34
|
-
- `output` — single outgoing edge to the next downstream node.
|
|
35
|
-
|
|
36
|
-
See [editing-operations.md](../../editing-operations.md) for edge add procedures.
|
|
37
|
-
|
|
38
|
-
## Debug
|
|
39
|
-
|
|
40
|
-
| Error | Cause | Fix |
|
|
41
|
-
| --- | --- | --- |
|
|
42
|
-
| Merge never completes | One parallel branch has no path to the merge node | Ensure all forked branches reach the merge |
|
|
43
|
-
| Unexpected execution order | Branches assumed to complete in order | Merge waits for all — don't depend on arrival order |
|