@uipath/skills 1.198.0-preview.21 → 1.199.0-preview.106
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/CODEOWNERS +4 -2
- package/hooks/send-telemetry.ps1 +19 -13
- package/hooks/send-telemetry.sh +19 -13
- package/package.json +1 -1
- package/skills/uipath-admin/SKILL.md +10 -7
- package/skills/uipath-admin/references/audit-commands.md +21 -10
- package/skills/uipath-admin/references/audit-workflow-guide.md +15 -6
- package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails-recommend.md +6 -1
- package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails.md +7 -1
- package/skills/uipath-agents/references/coded/embedding-in-flows.md +5 -5
- package/skills/uipath-agents/references/coded/flow-integration.md +1 -1
- package/skills/uipath-agents/references/coded/quickstart.md +3 -3
- package/skills/uipath-agents/references/coded-vs-lowcode-guide.md +1 -1
- package/skills/uipath-agents/references/lowcode/capabilities/guardrails/guardrails-recommend.md +39 -2
- package/skills/uipath-agents/references/lowcode/capabilities/guardrails/guardrails.md +36 -2
- package/skills/uipath-agents/references/lowcode/capabilities/process/process.md +4 -4
- package/skills/uipath-agents/references/lowcode/capabilities/process/solution-files.md +1 -1
- package/skills/uipath-agents/references/lowcode/critical-rules/critical-rules.md +1 -1
- package/skills/uipath-agents/references/lowcode/project-lifecycle.md +19 -9
- package/skills/uipath-agents/references/lowcode/solution-resources.md +2 -2
- package/skills/uipath-api-workflow/SKILL.md +14 -7
- package/skills/uipath-api-workflow/references/cli-reference.md +2 -2
- package/skills/uipath-api-workflow/references/connector-activity-discovery.md +1 -1
- package/skills/uipath-api-workflow/references/expressions-and-context.md +2 -2
- package/skills/uipath-api-workflow/references/operating-published-workflows.md +74 -0
- package/skills/uipath-api-workflow/references/task-types.md +3 -3
- package/skills/uipath-api-workflow/references/troubleshooting.md +23 -10
- package/skills/uipath-coded-apps/SKILL.md +3 -3
- package/skills/uipath-coded-apps/assets/scripts/dashboards/build-dashboard.mjs +2 -2
- package/skills/uipath-coded-apps/references/create-action-app.md +11 -3
- package/skills/uipath-coded-apps/references/create-web-app.md +9 -7
- package/skills/uipath-coded-apps/references/dashboards/plugins/build/impl.md +3 -1
- package/skills/uipath-coded-apps/references/dashboards/plugins/deploy/impl.md +145 -87
- package/skills/uipath-coded-apps/references/dashboards/primitives/state-file.md +2 -2
- package/skills/uipath-coded-apps/references/debug.md +44 -37
- package/skills/uipath-coded-apps/references/oauth-client-setup.md +69 -616
- package/skills/uipath-coded-apps/references/sdk/conversational-agent.md +1 -1
- package/skills/uipath-coded-apps/references/sdk/data-fabric.md +3 -1
- package/skills/uipath-coded-apps/references/widgets/validation-station.md +169 -13
- package/skills/uipath-feedback/SKILL.md +12 -6
- package/skills/uipath-governance/references/auth-context.md +1 -1
- package/skills/uipath-governance/references/compliance-pack/coverage/impl.md +115 -31
- package/skills/uipath-governance/references/compliance-pack/full-apply/impl.md +2 -1
- package/skills/uipath-governance/references/compliance-pack/query/impl.md +2 -2
- package/skills/uipath-human-in-the-loop/SKILL.md +3 -3
- package/skills/uipath-human-in-the-loop/references/hitl-node-apptask.md +2 -2
- package/skills/uipath-human-in-the-loop/references/hitl-node-coded-action-app.md +1 -1
- package/skills/uipath-human-in-the-loop/references/hitl-node-quickform.md +2 -2
- package/skills/uipath-insights/SKILL.md +2 -2
- package/skills/uipath-ixp/SKILL.md +5 -5
- package/skills/uipath-ixp/references/cli-reference.md +1 -1
- package/skills/uipath-maestro-bpmn/SKILL.md +92 -8
- package/skills/uipath-maestro-bpmn/references/diagnose/CAPABILITY.md +5 -1
- package/skills/uipath-maestro-bpmn/references/diagnose/references/troubleshooting-guide.md +5 -0
- package/skills/uipath-maestro-bpmn/references/expression-authoring.md +16 -3
- package/skills/uipath-maestro-bpmn/references/operate/references/run.md +17 -3
- package/skills/uipath-maestro-bpmn/references/public-safety.md +15 -0
- package/skills/uipath-maestro-bpmn/references/registry-workflow.md +50 -22
- package/skills/uipath-maestro-bpmn/references/shared/local-metadata-regeneration-guide.md +17 -0
- package/skills/uipath-maestro-bpmn/references/shared/project-layout.md +30 -2
- package/skills/uipath-maestro-bpmn/references/structural-bpmn.md +54 -7
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ScriptWritesVariableThenGatewayBranches.bpmn +8 -4
- package/skills/uipath-maestro-case/SKILL.md +72 -34
- package/skills/uipath-maestro-case/assets/templates/sdd-template-examples.md +1 -1
- package/skills/uipath-maestro-case/assets/templates/sdd-template.md +40 -20
- package/skills/uipath-maestro-case/assets/templates/sdd-viewer.html +2 -2
- package/skills/uipath-maestro-case/references/bindings-and-expressions.md +13 -8
- package/skills/uipath-maestro-case/references/bindings-v2-sync.md +1 -1
- package/skills/uipath-maestro-case/references/brownfield.md +13 -3
- package/skills/uipath-maestro-case/references/case-commands.md +6 -6
- package/skills/uipath-maestro-case/references/case-editing-operations.md +13 -13
- package/skills/uipath-maestro-case/references/case-schema.md +58 -47
- package/skills/uipath-maestro-case/references/connector-trigger-common.md +2 -2
- package/skills/uipath-maestro-case/references/evals/evals.json +124 -23
- package/skills/uipath-maestro-case/references/implementation.md +15 -15
- package/skills/uipath-maestro-case/references/phase-0-interview.md +119 -460
- package/skills/uipath-maestro-case/references/phased-execution.md +23 -17
- package/skills/uipath-maestro-case/references/placeholder-tasks.md +3 -3
- package/skills/uipath-maestro-case/references/planning.md +48 -28
- package/skills/uipath-maestro-case/references/plugins/case/impl-json.md +2 -1
- package/skills/uipath-maestro-case/references/plugins/case/planning.md +1 -1
- package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/planning.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/planning.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/impl-json.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/planning.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/impl-json.md +2 -2
- package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/planning.md +18 -2
- package/skills/uipath-maestro-case/references/plugins/sla/impl-json.md +12 -7
- package/skills/uipath-maestro-case/references/plugins/sla/planning.md +23 -7
- package/skills/uipath-maestro-case/references/plugins/stages/impl-json.md +3 -0
- package/skills/uipath-maestro-case/references/plugins/stages/planning.md +7 -4
- package/skills/uipath-maestro-case/references/plugins/tasks/action/planning.md +15 -6
- package/skills/uipath-maestro-case/references/plugins/tasks/agent/planning.md +17 -34
- package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/planning.md +15 -13
- package/skills/uipath-maestro-case/references/plugins/tasks/case-management/planning.md +14 -10
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/impl-json.md +2 -2
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/planning.md +8 -2
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-trigger/impl-json.md +1 -1
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-trigger/planning.md +4 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/create-inline-common.md +55 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/process/planning.md +9 -6
- package/skills/uipath-maestro-case/references/plugins/tasks/rpa/planning.md +10 -5
- package/skills/uipath-maestro-case/references/plugins/tasks/wait-for-timer/planning.md +1 -1
- package/skills/uipath-maestro-case/references/plugins/triggers/event/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/triggers/event/planning.md +1 -1
- package/skills/uipath-maestro-case/references/plugins/triggers/manual/impl-json.md +1 -0
- package/skills/uipath-maestro-case/references/plugins/triggers/timer/impl-json.md +1 -0
- package/skills/uipath-maestro-case/references/plugins/variables/bindings/impl-json.md +2 -1
- package/skills/uipath-maestro-case/references/plugins/variables/global-vars/impl-json.md +10 -4
- package/skills/uipath-maestro-case/references/plugins/variables/io-binding/impl-json.md +74 -24
- package/skills/uipath-maestro-case/references/plugins/variables/io-binding/planning.md +51 -8
- package/skills/uipath-maestro-case/references/registry-discovery.md +83 -29
- package/skills/uipath-maestro-case/references/sdd-generation-rules.md +96 -64
- package/skills/uipath-maestro-flow/SKILL.md +2 -1
- package/skills/uipath-maestro-flow/references/author/CAPABILITY.md +1 -1
- package/skills/uipath-maestro-flow/references/author/references/editing-operations-json.md +1 -1
- package/skills/uipath-maestro-flow/references/author/references/greenfield.md +6 -6
- package/skills/uipath-maestro-flow/references/author/references/plugins/agent/impl.md +4 -4
- package/skills/uipath-maestro-flow/references/author/references/plugins/connector-trigger/impl.md +4 -1
- package/skills/uipath-maestro-flow/references/author/references/plugins/connector-trigger/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/diagnose/references/failure-modes.md +5 -7
- package/skills/uipath-maestro-flow/references/shared/cli-commands.md +13 -12
- package/skills/uipath-maestro-flow/references/shared/file-format.md +1 -1
- package/skills/uipath-maestro-flow/references/shared/variables-and-expressions.md +2 -1
- package/skills/uipath-mcp-servers/SKILL.md +6 -6
- package/skills/uipath-mcp-servers/references/is-activity-workflow.md +17 -7
- package/skills/uipath-planner/SKILL.md +36 -24
- package/skills/uipath-planner/assets/templates/agent-sdd-template.md +111 -7
- package/skills/uipath-planner/assets/templates/api-workflow-sdd-template.md +75 -11
- package/skills/uipath-planner/assets/templates/bpmn-sdd-template.md +429 -0
- package/skills/uipath-planner/assets/templates/case-sdd-template.md +114 -19
- package/skills/uipath-planner/assets/templates/coded-app-sdd-template.md +68 -5
- package/skills/uipath-planner/assets/templates/flow-sdd-template.md +84 -5
- package/skills/uipath-planner/assets/templates/rpa-sdd-template.md +265 -26
- package/skills/uipath-planner/references/attended-reauth-pattern-guide.md +7 -1
- package/skills/uipath-planner/references/multi-skill-patterns-guide.md +11 -6
- package/skills/uipath-planner/references/non-pdd-lane-guide.md +90 -86
- package/skills/uipath-planner/references/package-selection-guide.md +4 -2
- package/skills/uipath-planner/references/pdd-analysis-guide.md +34 -7
- package/skills/uipath-planner/references/pdd-driven-lane-guide.md +25 -3
- package/skills/uipath-planner/references/plan-and-tasks-format.md +7 -6
- package/skills/uipath-planner/references/platform-availability-guide.md +5 -2
- package/skills/uipath-planner/references/product-selection-guide.md +239 -21
- package/skills/uipath-planner/references/rpa-product-guide.md +22 -2
- package/skills/uipath-planner/references/sdd-generation-guide.md +123 -31
- package/skills/uipath-planner/references/tenant-library-search-guide.md +6 -4
- package/skills/uipath-planner/scripts/docx-extract.ps1 +59 -0
- package/skills/uipath-planner/scripts/sdd-to-docx.ps1 +74 -0
- package/skills/uipath-platform/SKILL.md +12 -3
- package/skills/uipath-platform/references/data-fabric/data-fabric.md +7 -1
- package/skills/uipath-platform/references/data-fabric/entity-schema.md +21 -2
- package/skills/uipath-platform/references/data-fabric/filter-platform-contract.md +2 -0
- package/skills/uipath-platform/references/data-fabric/records-query.md +12 -0
- package/skills/uipath-platform/references/integration-service/triggers.md +2 -0
- package/skills/uipath-platform/references/orchestrator/tenant-admin.md +3 -1
- package/skills/uipath-rpa/CLAUDE.md +12 -10
- package/skills/uipath-rpa/SKILL.md +62 -34
- package/skills/uipath-rpa/references/cli-reference.md +3 -1
- package/skills/uipath-rpa/references/coded/codedworkflow-reference.md +1 -1
- package/skills/uipath-rpa/references/coded/coding-guidelines.md +18 -3
- package/skills/uipath-rpa/references/coded/operations-guide.md +8 -6
- package/skills/uipath-rpa/references/legacy/activity-docs/ActiveDirectory.md +2 -3
- package/skills/uipath-rpa/references/legacy/activity-docs/_INDEX.md +1 -1
- package/skills/uipath-rpa/references/library-authoring-guide.md +1 -1
- package/skills/uipath-rpa/references/powershell-interop-guide.md +1 -1
- package/skills/uipath-rpa/references/project-structure-guide.md +1 -1
- package/skills/uipath-rpa/references/testing-guide.md +1 -1
- package/skills/uipath-rpa/references/uia-starter-guide.md +216 -0
- package/skills/uipath-rpa/references/validation-guide.md +2 -0
- package/skills/uipath-rpa/references/xaml/workflow-guide.md +2 -2
- package/skills/uipath-solution/SKILL.md +8 -6
- package/skills/uipath-solution/references/develop-solution.md +14 -14
- package/skills/uipath-solution/references/pack-and-deploy.md +4 -0
- package/skills/uipath-solution/references/scenarios/intra-solution-references.md +1 -1
- package/skills/uipath-solution/references/scenarios/manual-edits.md +2 -2
- package/skills/uipath-solution/references/solution-overview.md +28 -1
- package/skills/uipath-tasks/SKILL.md +2 -2
- package/skills/uipath-tasks/references/action-center-urls.md +4 -5
- package/skills/uipath-troubleshoot/SKILL.md +15 -9
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/overview.md +19 -2
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/browser-open-or-attach-failed.md +4 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/browser-scope-errors.md +119 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/click-silent-no-op.md +76 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/invoke-workflow-failed.md +38 -11
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/invoke-workflow-file-design-time-errors.md +89 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/queue-operation-failed.md +91 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/trigger-scope-and-local-triggers-failed.md +106 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/type-into-wrong-or-incomplete-text.md +91 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/summary.md +7 -2
- package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/overview.md +38 -0
- package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/playbooks/csv-datatable-structure-mismatch.md +32 -0
- package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/playbooks/csv-file-locked-or-invalid-path.md +33 -0
- package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/playbooks/csv-helper-method-not-found.md +36 -0
- package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/playbooks/read-csv-file-not-found.md +34 -0
- package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/playbooks/read-csv-invalid-format.md +33 -0
- package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/playbooks/read-csv-more-values-than-header.md +34 -0
- package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/playbooks/write-csv-access-denied.md +35 -0
- package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/playbooks/write-csv-cannot-set-unknown-member.md +30 -0
- package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/playbooks/write-csv-invalid-delimiter.md +27 -0
- package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/playbooks/write-csv-unsupported-encoding.md +27 -0
- package/skills/uipath-troubleshoot/references/activity-packages/csv-activities/summary.md +16 -0
- package/skills/uipath-troubleshoot/references/activity-packages/database-activities/playbooks/execute-query-failures.md +27 -2
- package/skills/uipath-troubleshoot/references/activity-packages/database-activities/summary.md +1 -1
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/overview.md +1 -1
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/excel-application-card-failures.md +20 -31
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/excel-application-scope-failures.md +7 -6
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/excel-not-installed.md +72 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/null-reference-from-activity.md +150 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/read-range-sheet-not-found.md +1 -1
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/{read-range-file-locked.md → workbook-file-locked.md} +54 -40
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/write-cell-failures.md +3 -3
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/summary.md +5 -7
- package/skills/uipath-troubleshoot/references/activity-packages/file-operations/overview.md +31 -0
- package/skills/uipath-troubleshoot/references/activity-packages/file-operations/playbooks/download-file-403-401-auth.md +32 -0
- package/skills/uipath-troubleshoot/references/activity-packages/file-operations/playbooks/download-file-host-not-found.md +33 -0
- package/skills/uipath-troubleshoot/references/activity-packages/file-operations/playbooks/download-file-httpclient-reused-in-loop.md +34 -0
- package/skills/uipath-troubleshoot/references/activity-packages/file-operations/playbooks/download-file-stuck-tmp.md +29 -0
- package/skills/uipath-troubleshoot/references/activity-packages/file-operations/summary.md +10 -0
- package/skills/uipath-troubleshoot/references/activity-packages/intelligent-ocr-activities/investigation_guide.md +36 -0
- package/skills/uipath-troubleshoot/references/activity-packages/intelligent-ocr-activities/overview.md +33 -0
- package/skills/uipath-troubleshoot/references/activity-packages/intelligent-ocr-activities/playbooks/du-document-rejected.md +32 -0
- package/skills/uipath-troubleshoot/references/activity-packages/intelligent-ocr-activities/playbooks/du-license-or-endpoint-rejected.md +63 -0
- package/skills/uipath-troubleshoot/references/activity-packages/intelligent-ocr-activities/playbooks/du-not-enabled-or-tenant-key.md +38 -0
- package/skills/uipath-troubleshoot/references/activity-packages/intelligent-ocr-activities/playbooks/du-storage-or-taxonomy-missing.md +44 -0
- package/skills/uipath-troubleshoot/references/activity-packages/intelligent-ocr-activities/summary.md +10 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ipc-activities/investigation_guide.md +34 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ipc-activities/overview.md +35 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ipc-activities/playbooks/broadcast-message-timeout.md +38 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ipc-activities/playbooks/broadcast-message-unauthorized-access.md +38 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ipc-activities/presentation.md +9 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ipc-activities/summary.md +9 -0
- package/skills/uipath-troubleshoot/references/activity-packages/jira-activities/investigation_guide.md +31 -0
- package/skills/uipath-troubleshoot/references/activity-packages/jira-activities/overview.md +39 -0
- package/skills/uipath-troubleshoot/references/activity-packages/jira-activities/playbooks/jira-activity-missing-or-not-loaded.md +37 -0
- package/skills/uipath-troubleshoot/references/activity-packages/jira-activities/playbooks/jira-add-comment-failures.md +50 -0
- package/skills/uipath-troubleshoot/references/activity-packages/jira-activities/playbooks/jira-scope-authentication-failures.md +47 -0
- package/skills/uipath-troubleshoot/references/activity-packages/jira-activities/playbooks/jira-scope-response-not-json-or-500.md +42 -0
- package/skills/uipath-troubleshoot/references/activity-packages/jira-activities/playbooks/jira-transition-issue-failures.md +47 -0
- package/skills/uipath-troubleshoot/references/activity-packages/jira-activities/presentation.md +9 -0
- package/skills/uipath-troubleshoot/references/activity-packages/jira-activities/summary.md +11 -0
- package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/overview.md +1 -0
- package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/playbooks/send-smtp-mail-failures.md +161 -0
- package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/summary.md +1 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ocr-activities/investigation_guide.md +29 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ocr-activities/overview.md +26 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ocr-activities/playbooks/ocr-endpoint-and-authentication.md +52 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ocr-activities/playbooks/ocr-engine-config-and-dependencies.md +55 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ocr-activities/playbooks/ocr-input-and-runtime.md +51 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ocr-activities/summary.md +10 -0
- package/skills/uipath-troubleshoot/references/activity-packages/pdf-activities/investigation_guide.md +33 -0
- package/skills/uipath-troubleshoot/references/activity-packages/pdf-activities/overview.md +34 -0
- package/skills/uipath-troubleshoot/references/activity-packages/pdf-activities/playbooks/pdf-corrupt-or-image-input.md +49 -0
- package/skills/uipath-troubleshoot/references/activity-packages/pdf-activities/playbooks/pdf-encrypted-or-wrong-password.md +51 -0
- package/skills/uipath-troubleshoot/references/activity-packages/pdf-activities/playbooks/pdf-file-not-found-or-not-pdf.md +45 -0
- package/skills/uipath-troubleshoot/references/activity-packages/pdf-activities/playbooks/pdf-invalid-page-range.md +42 -0
- package/skills/uipath-troubleshoot/references/activity-packages/pdf-activities/playbooks/pdf-read-ocr-no-engine.md +39 -0
- package/skills/uipath-troubleshoot/references/activity-packages/pdf-activities/summary.md +11 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/overview.md +1 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/python-scope-architecture-version-mismatch.md +2 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/python-scope-hang-dotnet-runtime.md +36 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/summary.md +1 -0
- package/skills/uipath-troubleshoot/references/activity-packages/sap-bapi-activities/investigation_guide.md +34 -0
- package/skills/uipath-troubleshoot/references/activity-packages/sap-bapi-activities/overview.md +34 -0
- package/skills/uipath-troubleshoot/references/activity-packages/sap-bapi-activities/playbooks/sap-bapi-not-found.md +39 -0
- package/skills/uipath-troubleshoot/references/activity-packages/sap-bapi-activities/playbooks/sap-connection-failed.md +46 -0
- package/skills/uipath-troubleshoot/references/activity-packages/sap-bapi-activities/playbooks/sap-unsupported-bapi.md +32 -0
- package/skills/uipath-troubleshoot/references/activity-packages/sap-bapi-activities/summary.md +9 -0
- package/skills/uipath-troubleshoot/references/activity-packages/slack-activities/investigation_guide.md +31 -0
- package/skills/uipath-troubleshoot/references/activity-packages/slack-activities/overview.md +29 -0
- package/skills/uipath-troubleshoot/references/activity-packages/slack-activities/playbooks/connection-resolution-failure.md +46 -0
- package/skills/uipath-troubleshoot/references/activity-packages/slack-activities/playbooks/slack-api-error.md +65 -0
- package/skills/uipath-troubleshoot/references/activity-packages/slack-activities/summary.md +8 -0
- package/skills/uipath-troubleshoot/references/activity-packages/system-activities/investigation_guide.md +13 -0
- package/skills/uipath-troubleshoot/references/activity-packages/system-activities/overview.md +21 -9
- package/skills/uipath-troubleshoot/references/activity-packages/system-activities/playbooks/compress-extract-files-failed.md +64 -0
- package/skills/uipath-troubleshoot/references/activity-packages/system-activities/playbooks/download-file-failed.md +46 -0
- package/skills/uipath-troubleshoot/references/activity-packages/system-activities/playbooks/file-folder-operation-failed.md +61 -0
- package/skills/uipath-troubleshoot/references/activity-packages/system-activities/playbooks/get-asset-wrong-activity-type.md +2 -0
- package/skills/uipath-troubleshoot/references/activity-packages/system-activities/playbooks/queue-transaction-activity-failed.md +47 -0
- package/skills/uipath-troubleshoot/references/activity-packages/system-activities/summary.md +6 -0
- package/skills/uipath-troubleshoot/references/activity-packages/terminal-activities/investigation_guide.md +28 -0
- package/skills/uipath-troubleshoot/references/activity-packages/terminal-activities/overview.md +30 -0
- package/skills/uipath-troubleshoot/references/activity-packages/terminal-activities/playbooks/terminal-session-connection-failed.md +58 -0
- package/skills/uipath-troubleshoot/references/activity-packages/terminal-activities/playbooks/terminal-session-null-reference.md +40 -0
- package/skills/uipath-troubleshoot/references/activity-packages/terminal-activities/summary.md +8 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/interpretations/healing-agent-data.md +10 -27
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/investigation_guide.md +1 -1
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/overview.md +9 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/ambiguous-selector.md +2 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/application-not-found.md +1 -10
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/browser-communication-failed.md +85 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/click-coordinate-off-screen.md +2 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/click-silent-no-op.md +79 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/dependency-version-conflict.md +66 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/disabled-element.md +2 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/napplicationcard-view-generation-failed.md +78 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/scope-container-wrong-page.md +2 -2
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/selector-failure-healing-disabled.md +2 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/selector-failure-healing-fix.md +4 -2
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/selector-failure-manual.md +3 -1
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/type-into-input-failed.md +148 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/verify-execution-failure.md +2 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/summary.md +5 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/add-picture-failures.md +1 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-com-interop-failures.md +5 -0
- package/skills/uipath-troubleshoot/references/presenting.md +3 -3
- package/skills/uipath-troubleshoot/references/products/agents/playbooks/context-grounding-index-not-found.md +35 -24
- package/skills/uipath-troubleshoot/references/products/agents/playbooks/guardrail-violation.md +14 -12
- package/skills/uipath-troubleshoot/references/products/agents/playbooks/input-schema-validation-failure.md +23 -13
- package/skills/uipath-troubleshoot/references/products/agents/playbooks/is-connection-disabled.md +6 -4
- package/skills/uipath-troubleshoot/references/products/agents/playbooks/is-invalid-credentials.md +12 -9
- package/skills/uipath-troubleshoot/references/products/agents/playbooks/is-invalid-element-instance.md +12 -9
- package/skills/uipath-troubleshoot/references/products/agents/playbooks/llm-insufficient-information.md +20 -13
- package/skills/uipath-troubleshoot/references/products/agents/summary.md +1 -1
- package/skills/uipath-troubleshoot/references/products/api-workflows/investigation_guide.md +52 -0
- package/skills/uipath-troubleshoot/references/products/api-workflows/overview.md +33 -0
- package/skills/uipath-troubleshoot/references/products/api-workflows/playbooks/connection-auth-failure.md +49 -0
- package/skills/uipath-troubleshoot/references/products/api-workflows/playbooks/expression-reference-error.md +32 -0
- package/skills/uipath-troubleshoot/references/products/api-workflows/playbooks/output-undefined.md +39 -0
- package/skills/uipath-troubleshoot/references/products/api-workflows/playbooks/publish-deploy-failure.md +38 -0
- package/skills/uipath-troubleshoot/references/products/api-workflows/playbooks/run-not-successful.md +37 -0
- package/skills/uipath-troubleshoot/references/products/api-workflows/summary.md +14 -0
- package/skills/uipath-troubleshoot/references/products/assistant/investigation_guide.md +71 -0
- package/skills/uipath-troubleshoot/references/products/assistant/overview.md +44 -0
- package/skills/uipath-troubleshoot/references/products/assistant/playbooks/assistant-crash.md +38 -0
- package/skills/uipath-troubleshoot/references/products/assistant/playbooks/orchestrator-connection-failure.md +43 -0
- package/skills/uipath-troubleshoot/references/products/assistant/playbooks/process-missing-or-unstartable.md +41 -0
- package/skills/uipath-troubleshoot/references/products/assistant/playbooks/sign-in-failure.md +42 -0
- package/skills/uipath-troubleshoot/references/products/assistant/summary.md +18 -0
- package/skills/uipath-troubleshoot/references/products/coded-apps/overview.md +49 -0
- package/skills/uipath-troubleshoot/references/products/coded-apps/playbooks/action-app-form-data-not-loading.md +66 -0
- package/skills/uipath-troubleshoot/references/products/coded-apps/playbooks/api-401-after-login.md +51 -0
- package/skills/uipath-troubleshoot/references/products/coded-apps/playbooks/api-403-folder-permission.md +51 -0
- package/skills/uipath-troubleshoot/references/products/coded-apps/playbooks/cors-error-wrong-base-url.md +46 -0
- package/skills/uipath-troubleshoot/references/products/coded-apps/playbooks/deploy-404-app-not-found.md +59 -0
- package/skills/uipath-troubleshoot/references/products/coded-apps/playbooks/invalid-scope.md +70 -0
- package/skills/uipath-troubleshoot/references/products/coded-apps/playbooks/isauthenticated-false-after-callback.md +59 -0
- package/skills/uipath-troubleshoot/references/products/coded-apps/playbooks/redirect-uri-mismatch.md +59 -0
- package/skills/uipath-troubleshoot/references/products/coded-apps/summary.md +14 -0
- package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connection-invalid.md +11 -10
- package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connection-not-resolved.md +3 -3
- package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connector-general-exception.md +1 -1
- package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/request-failed.md +2 -0
- package/skills/uipath-troubleshoot/references/products/maestro/error_codes.md +2 -2
- package/skills/uipath-troubleshoot/references/products/maestro/investigation_guide.md +6 -2
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/autopilot-429.md +8 -5
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/expression-evaluation-errors.md +6 -0
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/folder-not-accessible.md +1 -1
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/gateway-no-outgoing-flow.md +6 -4
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/integration-service-404.md +3 -2
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/js-runtime-discrepancy.md +7 -1
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/marker-input-null.md +4 -0
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/marker-invalid-cast.md +5 -1
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/multi-instance-parallel.md +7 -1
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/no-suitable-runtime-machine.md +2 -0
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/personal-automation-quota.md +1 -1
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/service-task-child-job-faulted.md +10 -2
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/variable-expression-errors.md +6 -0
- package/skills/uipath-troubleshoot/references/products/maestro/summary.md +5 -5
- package/skills/uipath-troubleshoot/references/products/orchestrator/investigation_guide.md +2 -2
- package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-faulted-logon-failure.md +2 -0
- package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-faulted-session-timeout.md +50 -0
- package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-pending-no-host.md +2 -0
- package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-stuck.md +2 -0
- package/skills/uipath-troubleshoot/references/products/orchestrator/summary.md +1 -0
- package/skills/uipath-troubleshoot/references/products/studio/overview.md +34 -0
- package/skills/uipath-troubleshoot/references/products/studio/playbooks/studio-autopilot-unavailable.md +47 -0
- package/skills/uipath-troubleshoot/references/products/studio/summary.md +7 -0
- package/skills/uipath-troubleshoot/references/runtime-exceptions/overview.md +12 -1
- package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/argument-exception.md +48 -0
- package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/argument-out-of-range-exception.md +50 -0
- package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/assign-linq-no-data-rows.md +78 -0
- package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/assign-type-mismatch.md +91 -0
- package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/directory-not-found-exception.md +47 -0
- package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/if-condition-compiler-error.md +81 -0
- package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/if-wrong-branch.md +85 -0
- package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/index-out-of-range-exception.md +48 -0
- package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/invalid-operation-exception.md +51 -0
- package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/key-not-found-exception.md +45 -0
- package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/null-reference-exception.md +2 -0
- package/skills/uipath-troubleshoot/references/runtime-exceptions/playbooks/visualbasicvalue-requires-compilation.md +47 -0
- package/skills/uipath-troubleshoot/references/runtime-exceptions/summary.md +11 -0
- package/skills/uipath-troubleshoot/references/summary.md +138 -5
- package/version-manifest.json +2 -2
- package/skills/uipath-rpa/references/ui-automation-guide.md +0 -559
- package/skills/uipath-rpa/references/uia-configure-target-workflows.md +0 -188
- package/skills/uipath-rpa/references/uia-elements-interaction-guide.md +0 -102
- package/skills/uipath-rpa/references/uia-prerequisites.md +0 -42
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/add-queue-item-failed.md +0 -58
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/lookup-range-excel-not-installed.md +0 -36
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/lookup-range-file-locked.md +0 -40
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/lookup-range-null-reference.md +0 -37
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/read-range-null-reference.md +0 -119
|
@@ -16,6 +16,11 @@ Two types exist:
|
|
|
16
16
|
|
|
17
17
|
This restriction is enforced as [../../critical-rules/conversational-critical-rules.md](../../critical-rules/conversational-critical-rules.md) Critical Rule 1.
|
|
18
18
|
|
|
19
|
+
**Required completion gate:** after writing a conversational custom Tool
|
|
20
|
+
guardrail, run `uip agent refresh "<AGENT_NAME>" --output json`, then execute
|
|
21
|
+
`uip agent validate "<AGENT_NAME>" --output json`. Do not report the guardrail
|
|
22
|
+
task complete before the validation command has been attempted.
|
|
23
|
+
|
|
19
24
|
## Guardrail Schema (Base Fields)
|
|
20
25
|
|
|
21
26
|
Every guardrail object in the `guardrails` array shares these base fields:
|
|
@@ -241,6 +246,11 @@ Prefer `type: 3` (UserEmail) when adding manually — it requires no GUID or ass
|
|
|
241
246
|
|
|
242
247
|
#### Adding an escalation guardrail — step-by-step
|
|
243
248
|
|
|
249
|
+
**Scaffolding gate (MANDATORY):** when the request includes creating a solution
|
|
250
|
+
or agent, run both `uip solution init` and `uip agent init` before app discovery.
|
|
251
|
+
An incompatible or missing escalation app rejects only the guardrail; it does
|
|
252
|
+
not cancel the requested local solution and agent scaffolding.
|
|
253
|
+
|
|
244
254
|
**Step 0 — Discover available validators (MANDATORY — do not skip even when validator type is already known):**
|
|
245
255
|
|
|
246
256
|
```bash
|
|
@@ -282,8 +292,27 @@ Example entry:
|
|
|
282
292
|
|
|
283
293
|
> **Important:** Do NOT use `--kind Process` with `Type: "webApp"` to find Action Center apps. Those entries are the code-behind processes — their `Key` values are process release GUIDs, not app deployment IDs. Using them as `app.id` will cause runtime resolution failures.
|
|
284
294
|
|
|
295
|
+
**Step 1 completion gate — both branches MUST run `resources get`:**
|
|
296
|
+
|
|
297
|
+
- Exact app row found: immediately run
|
|
298
|
+
`uip solution resources get "<Key from the row>" --output json`.
|
|
299
|
+
- No exact app row/key found: immediately run
|
|
300
|
+
`uip solution resources get "<requested app name>" --output json` once and
|
|
301
|
+
treat its failure as `GET_ERROR`.
|
|
302
|
+
|
|
303
|
+
Do not edit files, refresh, validate, or respond to the user between
|
|
304
|
+
`resources list` and this required `resources get` attempt. A missing catalog
|
|
305
|
+
row is not a completed schema check and is never permission to skip the
|
|
306
|
+
command.
|
|
307
|
+
|
|
285
308
|
**Step 2 — Verify the app exposes the guardrail action-schema contract** (do this **before** writing the guardrail JSON — an incompatible app must be rejected, not authored).
|
|
286
309
|
|
|
310
|
+
**Required command gate:** execute
|
|
311
|
+
`uip solution resources get "<Key from Step 1>" --output json` for the selected
|
|
312
|
+
app before deciding whether it is compatible. The `resources list` row is not
|
|
313
|
+
an action schema and cannot replace this command. Do not write or reject the
|
|
314
|
+
guardrail until the returned action schema has been checked.
|
|
315
|
+
|
|
287
316
|
A guardrail escalation app must expose a specific action-schema contract. If verification fails, stop and report to the user: `<APP_NAME> does not have the required action schema configuration for tool guardrails.` (replace `<APP_NAME>` with the app's `Name` from Step 1). Do NOT write the guardrail.
|
|
288
317
|
|
|
289
318
|
`uip solution resources get` returns the app's action schema in one CLI-native call — no auth handling, no Apps API endpoints. Pipe its output into a verifier that confirms every required argument name. The CLI handles authentication, so Claude never touches the auth file or the token.
|
|
@@ -565,7 +594,10 @@ Built-in validators call the UiPath Guardrails API. They have a `validatorType`
|
|
|
565
594
|
|-------------------|---------|-------------|
|
|
566
595
|
| `"enum-list"` | Array parameters (e.g., `entities`, `harmfulContentEntities`, `ipEntities`) | string[] |
|
|
567
596
|
| `"map-enum"` | Threshold maps (e.g., `entityThresholds`, `harmfulContentEntityThresholds`) | object (keys = entity names, values = numbers) |
|
|
568
|
-
| `"number"` | Scalar numbers (e.g., `threshold`
|
|
597
|
+
| `"number"` | Scalar numbers (e.g., `threshold`) | number |
|
|
598
|
+
| `"enum"` | Scalar single-choice (e.g., `model` for `llm_as_judge`) | string |
|
|
599
|
+
| `"text"` | Free text (e.g., `guardrailText` for `llm_as_judge`) | string |
|
|
600
|
+
| `"text-list"` | Text arrays (e.g., `positiveExamples`, `negativeExamples` for `llm_as_judge`) | string[] |
|
|
569
601
|
|
|
570
602
|
### Validators Quick Reference
|
|
571
603
|
|
|
@@ -578,6 +610,9 @@ Built-in validators call the UiPath Guardrails API. They have a `validatorType`
|
|
|
578
610
|
| `harmful_content` | Agent, Llm, Tool | **Not usable** (autonomous-only) | Pre + Post | Block, Log, Escalate |
|
|
579
611
|
| `intellectual_property` | Llm, Agent | **Not usable** (autonomous-only) | Post only | Block, Log, Escalate |
|
|
580
612
|
| `user_prompt_attacks` | Llm | **Not usable** (autonomous-only) | Pre only | Block, Log, Escalate |
|
|
613
|
+
| `llm_as_judge` | Agent, Llm, Tool | **Not usable** (autonomous-only) | Pre + Post | Block, Log, Escalate |
|
|
614
|
+
|
|
615
|
+
> **`llm_as_judge` needs an LLM Gateway model.** Its `model` parameter comes back with an **empty** `Options` list from `uip agent guardrails list` — the valid values live in LLM Gateway, not the catalog. Run `uip agent guardrails llm-as-judge-models --output json` and use a `ModelId` from the result for the `model` parameter (prefer a non-preview model; a small/fast model such as a Haiku / mini class is a sound judge default). If the command returns no models or fails (no LLM Gateway access), tell the user and ask them to configure a model in their LLM Gateway or supply a model ID. Its other parameters are `guardrailText` (`text`, required), `positiveExamples` / `negativeExamples` (`text-list`, optional), and `threshold` (`number`, optional).
|
|
581
616
|
|
|
582
617
|
Run `uip agent guardrails list --output json` to get the authoritative list. Only use validators where `Status` is `"Available"`. Use the output to populate `validatorType`, `selector.scopes`, and `validatorParameters` fields. **These built-in validators are autonomous-only — do NOT author any of them on a conversational agent (they will not run at any scope). Conversational agents use Custom deterministic `Tool` guardrails only.**
|
|
583
618
|
**How to map `uip agent guardrails list` output to guardrail JSON:**
|
|
@@ -1107,4 +1142,3 @@ Confirm the guardrails appear in the validated output without errors. Refresh re
|
|
|
1107
1142
|
- [../../critical-rules/critical-rules.md](../../critical-rules/critical-rules.md) — canonical low-code rules and guardrail anti-patterns (discriminators, scope casing, populating `guardrail.policies` on tool resources, UUID reuse)
|
|
1108
1143
|
- [../../project-lifecycle.md](../../project-lifecycle.md) § `uip agent guardrails list` — CLI reference for validator discovery
|
|
1109
1144
|
- [../../agent-definition.md](../../agent-definition.md) § Guardrails — root-level placement in `agent.json`
|
|
1110
|
-
|
|
@@ -155,7 +155,7 @@ Wrapper changes to `Code: "ResourceConfigurations"` with `Data.resources[]` cont
|
|
|
155
155
|
- `resources/solution_folder/package/<PackageName>.json` (package declaration)
|
|
156
156
|
- an entry in `userProfile/<userId>/debug_overwrites.json` with real `folderKey`, `folderFullyQualifiedName`, and `folderPath` so Studio Web can resolve the process at runtime. An entry missing `folderFullyQualifiedName` or `folderPath` will cause "Could not find process for tool '<name>'" — refresh from current uipcli populates both correctly.
|
|
157
157
|
|
|
158
|
-
For in-solution agents already registered with the parent solution — auto-registered by `uip agent init` (when run from inside a solution directory; verify via `Data.SolutionRegistration.Status` = `Registered` / `AlreadyRegistered`) or via the `uip solution
|
|
158
|
+
For in-solution agents already registered with the parent solution — auto-registered by `uip agent init` (when run from inside a solution directory; verify via `Data.SolutionRegistration.Status` = `Registered` / `AlreadyRegistered`) or via the `uip solution projects add` fallback — the package + process declarations are pre-existing; refresh resolves the binding against them.
|
|
159
159
|
|
|
160
160
|
**Type-to-directory mapping for process declarations:**
|
|
161
161
|
|
|
@@ -222,11 +222,11 @@ When two agent projects in the same solution call each other (parent-tool topolo
|
|
|
222
222
|
# 2. Add a second agent. When run from inside the solution directory,
|
|
223
223
|
# `uip agent init` auto-registers the project with the parent `.uipx`
|
|
224
224
|
# (confirm via `Data.SolutionRegistration.Status` in the response).
|
|
225
|
-
# `uip solution
|
|
225
|
+
# `uip solution projects add` is the fallback when registration was
|
|
226
226
|
# `NotInSolution` / `Skipped` / `Failed` (not for `OptedOut`, which means
|
|
227
227
|
# `--skip-solution-registration` was passed and the skip was intentional).
|
|
228
228
|
uip agent init "ToolAgent" --output json
|
|
229
|
-
# (fallback) uip solution
|
|
229
|
+
# (fallback) uip solution projects add "ToolAgent" --output json
|
|
230
230
|
# Either path creates resources/solution_folder/package/ToolAgent.json and
|
|
231
231
|
# resources/solution_folder/process/agent/ToolAgent.json automatically.
|
|
232
232
|
|
|
@@ -244,7 +244,7 @@ uip agent refresh ToolAgent --output json
|
|
|
244
244
|
uip agent validate ToolAgent --output json
|
|
245
245
|
```
|
|
246
246
|
|
|
247
|
-
UUID cross-references between `SolutionStorage.Projects[].ProjectId`, `package/<ToolAgent>.json.projectKey`, and `process/agent/<ToolAgent>.json.projectKey` are auto-managed by project registration (`uip agent init` auto-registration, or the `uip solution
|
|
247
|
+
UUID cross-references between `SolutionStorage.Projects[].ProjectId`, `package/<ToolAgent>.json.projectKey`, and `process/agent/<ToolAgent>.json.projectKey` are auto-managed by project registration (`uip agent init` auto-registration, or the `uip solution projects add` fallback) and `uip agent refresh` — do not hand-edit. See [../../solution-resources.md](../../solution-resources.md) § UUID Cross-References.
|
|
248
248
|
|
|
249
249
|
## Gotchas
|
|
250
250
|
|
|
@@ -4,7 +4,7 @@ When `uip solution resources refresh` cannot produce solution-level files (offli
|
|
|
4
4
|
|
|
5
5
|
It also documents the Releases API + `GetPackageEntryPointsV2` + JWT decoding extraction path — used when `uip solution resources get` is unavailable (older `uip` builds, RCS unreachable, custom deployments). For the standard CLI-driven extraction, see [process.md § Discovery](process.md#discovery).
|
|
6
6
|
|
|
7
|
-
> **`folders[].fullyQualifiedName` carries the literal `Folder`** (e.g., `"Shared"`, `"Shared/Sales"`) returned by `uip solution resources list` — the same value the agent-level `resource.json` writes into `properties.folderPath` and that `bindings_v2.json` propagates. Templates show `<Folder>` as the placeholder; examples show `"Shared"` as a concrete value. Auto-generated declarations for **solution-internal projects** (created when the agent project is registered with the solution — by `uip agent init` auto-registration or by the `uip solution
|
|
7
|
+
> **`folders[].fullyQualifiedName` carries the literal `Folder`** (e.g., `"Shared"`, `"Shared/Sales"`) returned by `uip solution resources list` — the same value the agent-level `resource.json` writes into `properties.folderPath` and that `bindings_v2.json` propagates. Templates show `<Folder>` as the placeholder; examples show `"Shared"` as a concrete value. Auto-generated declarations for **solution-internal projects** (created when the agent project is registered with the solution — by `uip agent init` auto-registration or by the `uip solution projects add` fallback) keep `"solution_folder"` instead — they have no fixed Orchestrator folder until deploy. See [../../critical-rules/critical-rules.md](../../critical-rules/critical-rules.md) Rule 11.
|
|
8
8
|
|
|
9
9
|
## Directory Structure
|
|
10
10
|
|
|
@@ -30,7 +30,7 @@ Some additional rules and anti-patterns may only be relevant for autonomous or c
|
|
|
30
30
|
|
|
31
31
|
12. **Tools carry a `location` field.** Use `"solution"` when the row from `uip solution resources list` has `Source: "Local"` (resource is in the same solution); use `"external"` when `Source: "Remote"` (already deployed in Orchestrator). All other resource fields (`type`, `referenceKey`, `folderPath`, schemas, `exampleCalls`) follow the same rules in both cases. Connection (Integration Service) bindings are bound by `connection.id` and are exempt — no `folderPath` propagation.
|
|
32
32
|
|
|
33
|
-
13. **Process tools require solution-level resource files and `debug_overwrites.json`.** Whether local or external, you need the agent-level `resources/{ToolName}/resource.json`, solution-level files under `resources/solution_folder/`, AND a `userProfile/<userId>/debug_overwrites.json` for folder resolution. `uip solution resources refresh` generates these from the bindings; for in-solution agents the package + process declarations are pre-created when the project is registered with the solution (
|
|
33
|
+
13. **Process tools require solution-level resource files and `debug_overwrites.json`.** Whether local or external, you need the agent-level `resources/{ToolName}/resource.json`, solution-level files under `resources/solution_folder/`, AND a `userProfile/<userId>/debug_overwrites.json` for folder resolution. `uip solution resources refresh` generates these from the bindings; for in-solution agents the package + process declarations are pre-created when the project is registered with the solution (`uip agent init` registers with the parent `.uipx` inside a solution, or auto-scaffolds `<Name>Solution/` and registers when run outside one; falls back to `uip solution projects add` if registration was `Skipped` / `Failed` / `NotInSolution` — `OptedOut` means `--skip-solution-registration` was passed and both auto-scaffold and registration were skipped intentionally), and refresh resolves the binding against them. Without these, Studio Web will show "resource is missing in this environment". See [capabilities/process/solution-files.md](../capabilities/process/solution-files.md).
|
|
34
34
|
|
|
35
35
|
14. **Never manually edit `storageVersion`.** It is managed by `uip agent refresh` (which writes the latest version on success) and by Studio Web on import. `uip agent validate` fails with `AgentValidationOutdated` if the version is behind — run `uip agent refresh` to migrate. If validate reports a `storageVersion` newer than supported, upgrade uipcli rather than editing the field by hand.
|
|
36
36
|
|
|
@@ -23,6 +23,8 @@ uip agent init "<AGENT_NAME>" --output json
|
|
|
23
23
|
|
|
24
24
|
The `<path>` argument is relative or absolute; the command can run from any directory. Creates agent.json, entry-points.json, project.uiproj, and default eval directories inside the target path. Run `uip agent refresh` after editing to regenerate `entry-points.json` and `bindings_v2.json`.
|
|
25
25
|
|
|
26
|
+
**Solution placement** (standalone mode): inside a solution directory the project auto-registers with the parent `.uipx`; **outside any solution it auto-scaffolds one** — creates `<Name>Solution/<Name>Solution.uipx` and nests the project at `<Name>Solution/<Name>/` (response adds `Data.AutoCreatedSolution`). Pass `--skip-solution-registration` to opt out of both — the project then lands at the bare path with `SolutionRegistration.Status: OptedOut`. See [§ Register Project with Solution](#register-project-with-solution).
|
|
27
|
+
|
|
26
28
|
**Options:**
|
|
27
29
|
- `--conversational` - Pass to initialize a conversational agent. When not passed, an autonomous agent is initialized.
|
|
28
30
|
- `--model <model>` — LLM model to use (default: `gpt-5.4` for autonomous, `anthropic.claude-sonnet-4-5-20250929-v1:0` for conversational). This default is stale; override it post-init — discover current tenant models with `uip agent model list` and select per [model-selection-guide.md](model-selection-guide.md). Pass `--model` at init or edit `settings.model` after.
|
|
@@ -172,17 +174,23 @@ uip solution init "<SOLUTION_NAME>" --output json
|
|
|
172
174
|
|
|
173
175
|
### Register Project with Solution
|
|
174
176
|
|
|
175
|
-
`uip agent init`
|
|
177
|
+
`uip agent init` always lands the project inside a solution — no manual `solution init` needed:
|
|
178
|
+
|
|
179
|
+
- **Inside a solution directory** — auto-registers the project with the parent `.uipx`.
|
|
180
|
+
- **Outside any solution** — auto-scaffolds a parent solution: creates `<Name>Solution/<Name>Solution.uipx` and nests the project at `<Name>Solution/<Name>/`. The response adds `Data.AutoCreatedSolution` (`{ Name, Path, SolutionFile }`) and reports `SolutionRegistration.Status: Registered`. Idempotent — re-running reuses the existing `.uipx` (`AlreadyRegistered`). If a **non-empty** directory already exists at the path you typed, init warns and leaves it untouched — the project still lands in `<Name>Solution/<Name>/`, not the existing directory.
|
|
181
|
+
- **`--skip-solution-registration`** — opts out of **both** auto-scaffold and registration. No discovery, no sibling solution dir; the project lands at the bare path with `Status: OptedOut`.
|
|
182
|
+
|
|
183
|
+
Verify via `Data.SolutionRegistration.Status` in the `agent init` response. The full set of statuses:
|
|
176
184
|
|
|
177
185
|
- `Registered` / `AlreadyRegistered` — registered (added now / already present). **You are done.**
|
|
178
|
-
- `OptedOut` — `--skip-solution-registration` was passed; registration
|
|
179
|
-
- `NotInSolution` — no parent `.uipx` was found (`init` ran outside a solution). Use the fallback if you want it in a solution.
|
|
186
|
+
- `OptedOut` — `--skip-solution-registration` was passed; auto-scaffold and registration were intentionally skipped. No action needed (register later with the fallback if you change your mind).
|
|
180
187
|
- `Skipped` — a candidate solution was found but registration wasn't safe (e.g. multiple `.uipx`, or project outside the solution dir). Resolve, then use the fallback.
|
|
181
188
|
- `Failed` — registration was attempted but errored (`.uipx` read/parse/write). Use the fallback.
|
|
189
|
+
- `NotInSolution` — no parent `.uipx` and auto-scaffold did not run (rare outside `--skip-solution-registration`). Use the fallback if you want it in a solution.
|
|
182
190
|
|
|
183
191
|
```bash
|
|
184
|
-
# Fallback — when Status is
|
|
185
|
-
uip solution
|
|
192
|
+
# Fallback — when Status is Skipped / Failed / NotInSolution (not needed for OptedOut or Registered).
|
|
193
|
+
uip solution projects add "<AGENT_PROJECT_DIR>" [solutionFile] --output json
|
|
186
194
|
```
|
|
187
195
|
|
|
188
196
|
Run from the solution directory. The first argument is the path to the agent project folder (positional, not `--project-path`). The optional second argument is the path to the `.uipx` solution file — if omitted, the CLI searches up from the project path to find the nearest `.uipx` automatically.
|
|
@@ -329,10 +337,12 @@ uip solution init "<SOLUTION_NAME>" --output json
|
|
|
329
337
|
uip agent init "<SOLUTION_NAME>/<AGENT_NAME>" --output json
|
|
330
338
|
# (fallback only — run if Data.SolutionRegistration.Status is `NotInSolution` / `Skipped` / `Failed`;
|
|
331
339
|
# `OptedOut` means `--skip-solution-registration` was passed and registration was skipped on purpose)
|
|
332
|
-
# uip solution
|
|
340
|
+
# uip solution projects add "<SOLUTION_NAME>/<AGENT_NAME>" --output json
|
|
333
341
|
```
|
|
334
342
|
|
|
335
|
-
|
|
343
|
+
The explicit `uip solution init` is optional: running `uip agent init "<AGENT_NAME>"` alone outside any solution auto-scaffolds `<AGENT_NAME>Solution/<AGENT_NAME>/` and registers the project (response carries `Data.AutoCreatedSolution`). Keep the explicit `solution init` when you want a solution name distinct from the agent name.
|
|
344
|
+
|
|
345
|
+
When the fallback is needed, `uip solution projects add` automatically finds the nearest `.uipx` by searching up from the agent path.
|
|
336
346
|
|
|
337
347
|
### Step 3 — Configure agent.json
|
|
338
348
|
|
|
@@ -415,10 +425,10 @@ All solution lifecycle operations go through `uip solution` CLI. Never call Auto
|
|
|
415
425
|
|------|---------|----------|-----------------|
|
|
416
426
|
| Login check | `uip login status --output json` | Any directory | — |
|
|
417
427
|
| Create solution | `uip solution init "<NAME>" --output json` | Any directory | — |
|
|
418
|
-
| Scaffold agent | `uip agent init "<NAME>" --output json` |
|
|
428
|
+
| Scaffold agent | `uip agent init "<NAME>" --output json` | Any directory (auto-scaffolds `<NAME>Solution/` if outside a solution) | — |
|
|
419
429
|
| Scaffold inline agent | `uip agent init "<FLOW_PROJECT_DIR>" --inline-in-flow --output json` | Any directory | — |
|
|
420
430
|
| Verify project registration | Check `Data.SolutionRegistration.Status` from `agent init` response (`Registered` / `AlreadyRegistered` = done; `OptedOut` = `--skip-solution-registration` passed) | Solution directory | — |
|
|
421
|
-
| Register project (fallback) | `uip solution
|
|
431
|
+
| Register project (fallback) | `uip solution projects add "<PATH>" --output json` — when `agent init` returned `Skipped` / `Failed` / `NotInSolution` | Solution directory | — |
|
|
422
432
|
| Refresh + regenerate derived files | `uip agent refresh [path] --output json` | Agent dir or any with path | — |
|
|
423
433
|
| Validate (strict read-only) | `uip agent validate [path] --output json` | Agent dir or any with path | — |
|
|
424
434
|
| Debug / run end-to-end on Studio Web | `uip agent debug <AgentDir> --inputs '{...}' --output json` | Agent dir | `Successful`, `Faulted`, `Stopped` |
|
|
@@ -27,7 +27,7 @@ The `resources/solution_folder/` directory contains JSON resource definitions. W
|
|
|
27
27
|
|
|
28
28
|
**Path:** `resources/solution_folder/package/{AgentName}.json`
|
|
29
29
|
|
|
30
|
-
Links an agent project to its deployable NuGet package. Auto-generated when the agent project is registered with its solution — by `uip agent init` (
|
|
30
|
+
Links an agent project to its deployable NuGet package. Auto-generated when the agent project is registered with its solution — by `uip agent init` (registers with the parent `.uipx` inside a solution, or auto-scaffolds `<Name>Solution/` and registers when run outside one) or by the `uip solution projects add` fallback.
|
|
31
31
|
|
|
32
32
|
```jsonc
|
|
33
33
|
{
|
|
@@ -55,7 +55,7 @@ The package `name` becomes part of the package identifier: `{SolutionName}.agent
|
|
|
55
55
|
|
|
56
56
|
**Path:** `resources/solution_folder/process/agent/{AgentName}.json`
|
|
57
57
|
|
|
58
|
-
Makes the agent available as a runnable process in Orchestrator. One file per agent project. Auto-generated when the agent project is registered with its solution — by `uip agent init` (
|
|
58
|
+
Makes the agent available as a runnable process in Orchestrator. One file per agent project. Auto-generated when the agent project is registered with its solution — by `uip agent init` (registers with the parent `.uipx` inside a solution, or auto-scaffolds `<Name>Solution/` and registers when run outside one) or by the `uip solution projects add` fallback.
|
|
59
59
|
|
|
60
60
|
```jsonc
|
|
61
61
|
{
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: uipath-api-workflow
|
|
3
|
-
description: "UiPath API Workflow assistant — author, run, package, publish JSON workflows
|
|
3
|
+
description: "UiPath API Workflow assistant — author, run, validate, package, publish, deploy, and troubleshoot JSON workflows for `uip api-workflow`. Covers logical/hierarchical structure (Sequence, Assign, JavaScript, If with #Wrapper/#Then/#Else, ForEach, DoWhile, Break, TryCatch, Wait, Response — nested patterns) AND HTTP / Integration Service connector activities (Gmail, Outlook, GitHub, Slack) authored via `uip api-workflow registry resolve`/`stub`. Operate: run locally, manage IS connections (`uip is connections`), pack/publish/deploy via `uip solution`, invoke published workflows via HTTP/schedule/event triggers. Diagnose: validate → run --no-auth loop, root-cause run/expression/connection faults, inspect job logs & traces. Triggers on UiPath API workflows, project type \"Api\", JSON files with `document.dsl`/`do[]`, those activity types, or fetching from a public/vendor API. For .flow Maestro→uipath-maestro-flow. For .xaml/coded RPA→uipath-rpa. For coded agents→uipath-agents. For Coded Apps→uipath-coded-apps."
|
|
4
4
|
allowed-tools: Bash, Read, Write, Edit, Glob, Grep
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -19,7 +19,8 @@ Build, run, and publish UiPath API Workflows — JSON files conforming to the CN
|
|
|
19
19
|
- User asks for an **Integration Service connector activity** (Gmail Send Email, Outlook Get Newest Email, GitHub Search Issues, Slack Send Message, etc.) — follow the discovery flow in [references/connector-activity-discovery.md](references/connector-activity-discovery.md)
|
|
20
20
|
- User asks for a **generic HTTP Request** that needs to render in StudioWeb's designer — same discovery flow
|
|
21
21
|
- User asks about **JavaScript expressions, `$context`, `$input`, `$workflow`, `WorkflowStart`, or the `export.as` pattern**
|
|
22
|
-
- User asks how to **debug** a failing API workflow run
|
|
22
|
+
- User asks how to **debug** a failing API workflow run — the local `validate` → `run --no-auth` loop, or a **post-publish cloud run** (job logs/traces). See [references/operating-published-workflows.md](references/operating-published-workflows.md)
|
|
23
|
+
- User wants to **operate** a published workflow — invoke it (HTTP/schedule/Integration Service event trigger), start/list/stop its Orchestrator jobs, or **manage the Integration Service connections** it uses (`uip is connections list`/`ping`/`edit`). See [references/operating-published-workflows.md](references/operating-published-workflows.md)
|
|
23
24
|
|
|
24
25
|
Do NOT use for: `.flow` Maestro flows (→ `uipath-maestro-flow`), `.xaml` / coded RPA (→ `uipath-rpa`), coded agents (→ `uipath-agents`), Coded Web Apps (→ `uipath-coded-apps`).
|
|
25
26
|
|
|
@@ -56,13 +57,13 @@ Do NOT use for: `.flow` Maestro flows (→ `uipath-maestro-flow`), `.xaml` / cod
|
|
|
56
57
|
15. **Response activity shape — STRICT for StudioWeb roundtrip:**
|
|
57
58
|
- `markJobAsFailed` is a sibling of `response`, not nested inside it.
|
|
58
59
|
- Always include `"then": "end"` — without it, the workflow does not terminate properly. `then: "end"` is for Response only; `then: "exit"` is for control-flow branches/loops.
|
|
59
|
-
- **Object-valued responses MUST use the single-expression form**, NOT the JSON-object-with-`${}`-fields form. StudioWeb's designer corrupts the latter on save
|
|
60
|
+
- **Object-valued responses MUST use the single-expression form**, NOT the JSON-object-with-`${}`-fields form. StudioWeb's designer corrupts the latter on save.
|
|
60
61
|
- ✗ Wrong (CLI runs but StudioWeb corrupts): `"response": { "tier": "${$context.variables.tier}", "count": "${$context.variables.count}" }`
|
|
61
62
|
- ✓ Correct: `"response": "${{ tier: $context.variables.tier, count: $context.variables.count }}"`
|
|
62
63
|
Inside the outer `${{ ... }}` you are already in expression scope, so reference variables/outputs directly without an inner `${...}` wrapper. JS object literal keys can be unquoted identifiers (`tier:`, `count:`); literal string values use single quotes (`status: 'ok'`); numbers/booleans/references are bare. The designer leaves an already-wrapped single expression alone; the JSON-object form gets flattened to a stringified expression where inner `${...}` substitutions are inside JS double-quoted strings (which don't interpolate), turning each field into the literal text of its expression.
|
|
63
64
|
- Either `"${ { ... } }"` (single-brace, expression-of-object-literal) or `"${{ ... }}"` (double-brace, object-literal-expression form) is valid — both evaluate to the same JS object. Pick one and stay consistent within a workflow.
|
|
64
65
|
- For single-value responses (returning one variable or one expression), the simple form is fine: `"response": "${$context.outputs.Javascript_1}"` or `"response": "${'done'}"`.
|
|
65
|
-
- **On-disk is authoritative.** Even with the single-expression workaround, every StudioWeb designer save can re-trigger normalization passes that may corrupt the Response shape. After any designer roundtrip, re-validate with `uip api-workflow run --no-auth` and re-apply the workaround if needed. Until
|
|
66
|
+
- **On-disk is authoritative.** Even with the single-expression workaround, every StudioWeb designer save can re-trigger normalization passes that may corrupt the Response shape. After any designer roundtrip, re-validate with `uip api-workflow run --no-auth` and re-apply the workaround if needed. Until the designer fix ships, treat the file on disk as truth, not what the designer renders.
|
|
66
67
|
16. **Connector activities (HTTP + Integration Service) come from `uip api-workflow registry resolve` + `stub` — never hand-author or guess.** The stub computes `metadata.configuration`, the kind (`UiPath.Http` vs `UiPath.IntSvc`), the endpoint (with hub prefix), `SlotKey`, and `ExportBucketKey` (which can differ — HTTP slot `HttpRequest_1` vs bucket `http_request_1`). Use all of them verbatim; NEVER invent a `uiPathActivityTypeId`, hand-author `metadata.configuration`, or reconstruct a key from `objectName`. Non-negotiables (full step-by-step, field-shape rules, multipart, and worked examples in [references/connector-activity-discovery.md](references/connector-activity-discovery.md)):
|
|
67
68
|
- **A keyword `resolve` miss is NOT proof no curated activity exists — verify connector-first before giving up.** `resolve` AND-matches every token, so a marketing phrase + guessed verb over-narrows (the product "UiPath Data Fabric" carries `connectorKey: uipath-uipath-dataservice` and activity names like "Create Entity Record" — `resolve "data fabric insert"` returns 0; fewer/truer tokens, not more). Before concluding none exists or falling back to a hand-built HTTP call (a Rule 0 fork): map the product/vendor → connector key with `uip is connectors list --filter "<product>"`, then enumerate with `uip is activities list <connector-key>`. Do NOT hardcode/guess the key — look it up. See the reference's Step 1 recovery.
|
|
68
69
|
- **IntSvc/vendor activities require a *pinged* connection.** `uip is connections ping <uuid>` must succeed before authoring — listing-state ≠ runtime-state; an `Enabled` connection can still 401 in cloud. An empty listing is NOT proof no connection exists — `uip is connections list` is folder-scoped. On empty/failed listing, walk the fallbacks in order: unfiltered `uip is connections list`, then `uip is connections list --all-folders` (catches connections in other folders), re-pinging a different `Id` for that `ConnectorKey` each time.
|
|
@@ -82,9 +83,11 @@ Do NOT use for: `.flow` Maestro flows (→ `uipath-maestro-flow`), `.xaml` / cod
|
|
|
82
83
|
```
|
|
83
84
|
It scaffolds `project.uiproj` + `Workflow.json` + `entry-points.json` + `bindings_v2.json` and, when run inside a solution, **auto-registers the project in the surrounding `.uipx`** (correct `ProjectRelativePath` + a fresh `Id`). Success → `Code: "ApiWorkflowInit"`. Then edit `Workflow.json` only.
|
|
84
85
|
|
|
86
|
+
**Which mode.** Default = `init` inside a solution (Studio Web-editable + deployable — what a shipped automation needs). Use `--skip-solution-registration` ONLY when the user explicitly wants a CLI-only/local workflow that never opens in Studio Web or ships in a solution; it still emits the full project folder (`<name>/Workflow.json` + siblings), just no `.uipx` wiring. Never emit a lone `Workflow.json` with no project files — even a throwaway local workflow gets a project.
|
|
87
|
+
|
|
85
88
|
**Why it matters:** a legacy `project.json` + `workflows/WF_*.json` layout (no `.uiproj`) passes every runtime gate — `validate`, `run`, `pack`, `publish`, deploy — but Studio Web rejects it as `invalid_project_folder` and never shows it. `init` is the one step that can't produce the wrong shape. Full layout + field rules: [references/workflow-file-format.md](references/workflow-file-format.md#project-structure-studio-web-editable-contract).
|
|
86
89
|
|
|
87
|
-
To **convert a legacy `project.json` project**, `init` a fresh sibling and move the existing workflow content into its `Workflow.json` (cleanest), or convert in place — see [references/troubleshooting.md](references/troubleshooting.md). Never wire it with `uip solution
|
|
90
|
+
To **convert a legacy `project.json` project**, `init` a fresh sibling and move the existing workflow content into its `Workflow.json` (cleanest), or convert in place — see [references/troubleshooting.md](references/troubleshooting.md). Never wire it with `uip solution projects add/remove` (errors on an already-registered name; `remove`+`add` destroys the project `Id`).
|
|
88
91
|
|
|
89
92
|
20. **`uip api-workflow validate <Workflow.json>` is the autonomous closure step for every authoring or edit cycle.** Run it as the LAST command before asking the user anything about runtime. It's offline (no auth, no network, no side effects): JSON Schema + semantic checks on the static file. Output codes:
|
|
90
93
|
- `Result: "Success"`, `Code: "ApiwfValidate"`, `Data.Status: "Valid"` (exit 0) — possibly with `Data.Warnings`. Proceed to rule 21 (ask the user whether to run).
|
|
@@ -182,7 +185,7 @@ State the consequence in the question (e.g. "running with auth WILL send a real
|
|
|
182
185
|
|
|
183
186
|
Fix run failures in category order — **Structure > Expression > Activity Config > Logic** (higher categories often resolve lower ones). Full pitfall catalog: [references/troubleshooting.md](references/troubleshooting.md).
|
|
184
187
|
|
|
185
|
-
### Phase 4: Package and
|
|
188
|
+
### Phase 4: Package, Publish, and Operate
|
|
186
189
|
|
|
187
190
|
Once the workflow runs locally, deploy via the solution packager. If the project must open in Studio Web, confirm it uses the `init`-produced shape first (rule 19a) — runtime/pack success does not prove it.
|
|
188
191
|
|
|
@@ -205,6 +208,8 @@ uip solution publish <outputDir>/<package>.zip \
|
|
|
205
208
|
|
|
206
209
|
Requires `uip login`.
|
|
207
210
|
|
|
211
|
+
**Operate + diagnose the published workflow.** Once deployed, the workflow is an Orchestrator API process — the local `uip api-workflow` verbs no longer apply to it. Invoke it (HTTP/schedule/Integration Service event trigger), start/list/stop its jobs, manage the Integration Service connections it uses, and read cloud-run logs/traces via `uip or` / `uip is` / `uip traces`. Full command map: [references/operating-published-workflows.md](references/operating-published-workflows.md). These are sibling-skill surfaces (`uipath-platform`, `uipath-troubleshoot`) — delegate there for depth.
|
|
212
|
+
|
|
208
213
|
## Quick Start (CREATE from scratch)
|
|
209
214
|
|
|
210
215
|
```bash
|
|
@@ -245,6 +250,7 @@ uip solution publish ./build/MyApiSolution.zip --tenant MyTenant --output json
|
|
|
245
250
|
| [references/connector-activity-discovery.md](references/connector-activity-discovery.md) | Authoring HTTP Request / Gmail / Outlook / GitHub / Slack / etc. activities via `uip api-workflow registry resolve` + `stub` — three-step flow, sample stub output, field-shape rules, multipart subsection, worked examples |
|
|
246
251
|
| [references/expressions-and-context.md](references/expressions-and-context.md) | Writing JS expressions, propagating outputs via `export.as`, accessing `$context` / `$input` / `$workflow`, JS_Invoke argument passing, strict-mode gotchas, key patterns |
|
|
247
252
|
| [references/cli-reference.md](references/cli-reference.md) | All `uip` commands — `api-workflow init`, `run`, `build`, `pack`, `validate`, `solution init`, `solution pack`, `solution publish`, `login` |
|
|
253
|
+
| [references/operating-published-workflows.md](references/operating-published-workflows.md) | **Operating + diagnosing a published workflow** — invoke via HTTP/schedule/event triggers, manage Integration Service connections (`uip is connections`), start/list/stop Orchestrator jobs (`uip or jobs`), read cloud-run logs/traces (`uip or jobs logs`, `uip traces spans get`). Delegates depth to `uipath-platform` / `uipath-troubleshoot` |
|
|
248
254
|
| [references/troubleshooting.md](references/troubleshooting.md) | Failed runs, structure/expression/loop/nesting/response/validation pitfalls, packaging errors, publish errors, debugging strategy |
|
|
249
255
|
|
|
250
256
|
## Templates
|
|
@@ -269,7 +275,8 @@ The mistakes an agent makes most often (each maps to a Critical Rule above — s
|
|
|
269
275
|
- **Do NOT** read workflow inputs as `$input.<name>` from a non-first activity — use `$workflow.input.<name>`. See rule 13.
|
|
270
276
|
- **Do NOT** invoke `uip api-workflow run` autonomously, and never with auth without an explicit "yes" — vendor calls have irreversible side effects (emails sent, tickets created). See rules 20–21.
|
|
271
277
|
- **Do NOT** hand-assemble a project (`project.json` + `main.json`/`workflows/WF_*.json`). Scaffold with `uip api-workflow init <name>` — it writes the correct `project.uiproj` shape and registers it in the `.uipx`. The legacy `project.json`-only shape runs and packs but Studio Web rejects it (`invalid_project_folder`) and never shows it. See rules 19–19a.
|
|
272
|
-
- **Do NOT**
|
|
278
|
+
- **Do NOT** emit a lone `Workflow.json` with no project files, even for a quick local run. It runs under `uip api-workflow run` but is not a Studio Web project — can't be edited or shipped. Every workflow lives in an `init`-scaffolded project (`--skip-solution-registration` when no solution is needed). See rule 19a ("Which mode").
|
|
279
|
+
- **Do NOT** wire a project into the solution with `uip solution projects add/remove` — it errors on an already-registered name, and `remove`+`add` destroys the project `Id`. `init` registers it; for an already-built project, edit the `.uipx` `ProjectRelativePath` in place. See rule 19a.
|
|
273
280
|
- **Do NOT** trust "it packed / published / ran" as proof a project opens in Studio Web — every runtime gate passes on the wrong shape. Scaffolding with `init` is what guarantees it (rule 19a).
|
|
274
281
|
|
|
275
282
|
## Infinite Loop Prevention
|
|
@@ -410,9 +410,9 @@ uip solution init <solutionName> [--output json]
|
|
|
410
410
|
|
|
411
411
|
Output: `{ "Result": "Success", "Code": "SolutionInit", "Data": { "Status": "Created successfully", ... } }`.
|
|
412
412
|
|
|
413
|
-
## `uip solution
|
|
413
|
+
## `uip solution projects add` *(scope: solution-tool)*
|
|
414
414
|
|
|
415
|
-
For **new** API workflow projects, prefer `uip api-workflow init <name>` run inside the solution directory — it scaffolds the correct `project.uiproj` shape AND auto-registers the project in the `.uipx`. `uip solution
|
|
415
|
+
For **new** API workflow projects, prefer `uip api-workflow init <name>` run inside the solution directory — it scaffolds the correct `project.uiproj` shape AND auto-registers the project in the `.uipx`. `uip solution projects add` errors (`Project name already exists`) on an already-registered project, and `remove`+`add` destroys the project `Id`. Reserve direct `.uipx` edits for converting a legacy `project.json` project in place (change only `ProjectRelativePath` → `<folder>/project.uiproj`, preserve `Id`/`Type`). A registerable project folder must contain `project.uiproj` (`ProjectType: "Api"`) + `Workflow.json` + `entry-points.json` — see [workflow-file-format.md](workflow-file-format.md#project-structure-studio-web-editable-contract) and SKILL.md rule 19a. See `uip solution projects add --help` for current flags.
|
|
416
416
|
|
|
417
417
|
## `uip solution pack`
|
|
418
418
|
|
|
@@ -817,7 +817,7 @@ When the user asks to change a value, add a field, or copy a stubbed activity to
|
|
|
817
817
|
|
|
818
818
|
2. **Stub doesn't validate `--inputs` against the IS schema.** Field names not in `requestFields` / `parameters` are silently dropped on the way through `pickFields`. Check `Data.ResponseFields` and the IS schema if a value goes missing.
|
|
819
819
|
|
|
820
|
-
3. **Subsequent designer saves can re-introduce mangling** of the Response activity
|
|
820
|
+
3. **Subsequent designer saves can re-introduce mangling** of the Response activity. See [troubleshooting.md](troubleshooting.md#object-valued-response-gets-corrupted-fields-evaluate-to-literal-expression-text) — defending against the Response corruption is independent of the connector-activity discovery flow.
|
|
821
821
|
|
|
822
822
|
4. **Login is required for `resolve` and `stub`.** Both hit live tenant endpoints (TypeCache and IS Elements). `uip api-workflow run --no-auth` still works for the resulting workflow if it only uses Http kind with `ImplicitConnection`; IntSvc kind always needs auth at run time.
|
|
823
823
|
|
|
@@ -9,7 +9,7 @@ API workflows use **JavaScript** for all expressions (`evaluate.language: "javas
|
|
|
9
9
|
| `$workflow.input` | The workflow's input arguments (from `--input-arguments` JSON or caller). Constant for the entire run. | Workflow run |
|
|
10
10
|
| `$workflow` | Workflow runtime info: `{ id, definition, input, startedAt }`. Use `$workflow.input` to read inputs. | Workflow run |
|
|
11
11
|
| `$input` | The **current task's input** = the previous task's `$output`. **NOT the workflow's input arguments.** Only equals workflow input on the very first task. | Per-task |
|
|
12
|
-
| `$context` | Mutable shared state: `$context.variables.<name>`, `$context.outputs.<
|
|
12
|
+
| `$context` | Mutable shared state: `$context.variables.<name>`, `$context.outputs.<Activity>` | Workflow run |
|
|
13
13
|
| `$output` | The current task's raw output. | This task only |
|
|
14
14
|
| Loop bindings | Whatever name you set in `for.each` / `for.at`, prefixed with `$`. Examples: `for.each: "currentItem"` → `${$currentItem}`, `for.each: "customer"` → `${$customer}`, `for.at: "idx"` → `${$idx}`. The `$` is a literal character in the identifier — the unprefixed name is NOT bound. | Inside the loop body |
|
|
15
15
|
| Catch binding | `${$error}` — `catch.as: "error"` binds the global as `$error` (note the `$` prefix, same convention as loop iterators). Reference fields like `${$error.title}` / `${$error.detail}` / `${$error.originatingTaskName}`. | Inside `catch.do` |
|
|
@@ -263,7 +263,7 @@ Response_1 → reads any $context data, ends workflow
|
|
|
263
263
|
|
|
264
264
|
- **Do NOT** use `$input.<name>` to read workflow inputs from non-first tasks — `$input` is the previous task's `$output`. Use `$workflow.input.<name>`.
|
|
265
265
|
- **Do NOT** mutate `$context` directly inside a JS_Invoke script — return a new value and let `export.as` merge it.
|
|
266
|
-
- **Do NOT** rely on `$output` two tasks later — it is overwritten by the next task. Always `export` to `$context.outputs.<
|
|
266
|
+
- **Do NOT** rely on `$output` two tasks later — it is overwritten by the next task. Always `export` to `$context.outputs.<Activity>` if you need it.
|
|
267
267
|
- **Do NOT** use `var` inside JS_Invoke scripts — strict mode rejects implicit globals; use `const` / `let`.
|
|
268
268
|
- **Do NOT** wrap loop variable names (`each`, `at`) in `${...}` — those fields take plain identifiers.
|
|
269
269
|
- **Do NOT** mix `${...}` and string concatenation when a single expression form works: prefer `"${\"prefix-\" + $workflow.input.x}"` over splitting.
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# Operating & Diagnosing a Published API Workflow
|
|
2
|
+
|
|
3
|
+
After `uip solution publish` + deploy, the workflow lives in Orchestrator as an **API process**. The local authoring verbs (`uip api-workflow init/validate/run/pack`) no longer apply to the deployed copy — operate and diagnose it through the platform surfaces below.
|
|
4
|
+
|
|
5
|
+
**These commands belong to sibling skills** — `uip or` / `uip is` to `uipath-platform`, root-cause to `uipath-troubleshoot`. They are the correct owners for depth (flags, folder scoping, auth). Listed here so the operate + diagnose loop is discoverable and actionable from this skill; if a sibling skill is unavailable, the commands below still run standalone. All require `uip login`.
|
|
6
|
+
|
|
7
|
+
## Invoke a published workflow (the three trigger types)
|
|
8
|
+
|
|
9
|
+
A published API workflow is started three ways — the same three trigger types the product exposes:
|
|
10
|
+
|
|
11
|
+
| Trigger | When it fires | Drive it with |
|
|
12
|
+
|---------|---------------|---------------|
|
|
13
|
+
| **HTTP** | A caller (app, agent, external system) POSTs a JSON payload matching the workflow's `input.schema`; runs synchronously, returns the `Response` output | Start a run as an Orchestrator job: `uip or jobs start <process-key> --output json` |
|
|
14
|
+
| **Schedule** | Cron cadence managed in Orchestrator | `uip or triggers create` / `list` / `get` / `update` / `delete` |
|
|
15
|
+
| **Integration Service event** | An upstream connector event/webhook (Salesforce opportunity closed, new Snowflake row, Slack message) starts it and passes the event payload as input | Configure the event subscription in Integration Service; inspect with `uip or triggers list --folder-path <path>` |
|
|
16
|
+
|
|
17
|
+
All three deliver the payload as the workflow's input variables — the same body runs under any trigger if the input shape matches.
|
|
18
|
+
|
|
19
|
+
> **`uip or` commands are folder-scoped — but the accepted selectors differ per command:**
|
|
20
|
+
> - `jobs list` requires `--folder-path <path>`, `--folder-key <key>`, **or** `--all-folders` (searches every folder).
|
|
21
|
+
> - `triggers list`/`create`/`get`/`update`/`delete` require `--folder-path <path>` or `--folder-key <key>` — they do **not** accept `--all-folders`.
|
|
22
|
+
> - `jobs start <process-key>` takes the process key as a required positional; the folder is **optional** (inferred from the process if omitted).
|
|
23
|
+
> - `jobs get`/`logs`/`stop` take a `<jobId>` directly — no folder selector.
|
|
24
|
+
|
|
25
|
+
## Manage the Integration Service connections it consumes
|
|
26
|
+
|
|
27
|
+
API workflows don't own connections — they bind named Integration Service connections at author time and reuse them at runtime.
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
uip is connections list --all-folders --output json # enumerate (folder-scoped; --all-folders searches every folder)
|
|
31
|
+
uip is connections ping <connection-uuid> --output json # health — Code: "ConnectionPing" = usable
|
|
32
|
+
uip is connections edit <connection-uuid> # re-authenticate (opens OAuth browser flow)
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
A workflow authored against a connection that does not `ping` 401s in cloud regardless of how correct the JSON is. See [connector-activity-discovery.md](connector-activity-discovery.md) for the author-time discovery+verify flow and [troubleshooting.md](troubleshooting.md) for the stale-listing / `ConnectionNotEnabled` failure modes.
|
|
36
|
+
|
|
37
|
+
## Run / manage the deployed process
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
uip or processes list --output json # confirm the API process deployed
|
|
41
|
+
uip or jobs start <process-key> --output json # invoke a run (folder optional — inferred from the process)
|
|
42
|
+
uip or jobs list --all-folders --output json # runs + their states (needs a folder selector)
|
|
43
|
+
uip or jobs get <jobId> --output json # one run's status / fault detail
|
|
44
|
+
uip or jobs stop <jobId> --output json # cancel a running job
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Diagnose a failed cloud run
|
|
48
|
+
|
|
49
|
+
The local diagnose loop catches structure/expression faults **before** publish — always run it first:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
uip api-workflow validate ./Workflow.json --output json # static: schema + semantic
|
|
53
|
+
uip api-workflow run ./Workflow.json --no-auth --output json # runtime: expression / logic
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Faults that only surface in cloud (auth, connection state, real vendor responses, trigger wiring) are diagnosed from the deployed job:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
uip or jobs get <jobId> --output json # status + fault summary
|
|
60
|
+
uip or jobs logs <jobId> --output json # execution logs for the run
|
|
61
|
+
uip traces spans get --job-key <jobKey> --output json # span-level execution trace (also accepts a <trace-id> positional)
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
> `uip or jobs traces` is documented Agent-type-process-only — for an API-workflow job use `uip traces spans get --job-key <jobKey>` instead.
|
|
65
|
+
|
|
66
|
+
Map the surfaced error back to a fix using the category catalog in [troubleshooting.md](troubleshooting.md) (Structure > Expression > Activity Config > Logic). For deep, multi-signal root-cause investigations (what changed, cross-run comparison, incident correlation), hand off to **uipath-troubleshoot**.
|
|
67
|
+
|
|
68
|
+
## Mode cheat-sheet
|
|
69
|
+
|
|
70
|
+
| Mode | Local (this skill's CLI) | Post-publish (delegate) |
|
|
71
|
+
|------|--------------------------|-------------------------|
|
|
72
|
+
| **Build** | `init`, edit, `validate`, `registry resolve`/`stub`, `pack` | — |
|
|
73
|
+
| **Operate** | `run` (local execution) | `uip or jobs start <process-key>`/`list`/`stop`, `uip or triggers` (need `--folder-path`/`--folder-key`), `uip is connections` |
|
|
74
|
+
| **Diagnose** | `validate` → `run --no-auth` loop, `uip is connections ping` | `uip or jobs logs`/`get`, `uip traces spans get --job-key`, uipath-troubleshoot |
|
|
@@ -437,7 +437,7 @@ Returns a result and ends the workflow execution path.
|
|
|
437
437
|
|
|
438
438
|
**Required fields:** `response` (single expression string), `markJobAsFailed` (boolean, sibling of `response`), `then: "end"`, `export.as`, `metadata`
|
|
439
439
|
|
|
440
|
-
**Critical (StudioWeb roundtrip):** `response` MUST be a **single expression string**. For object-valued returns, use the `${{ ... }}` (double-brace) object-literal expression form, NOT a JSON object with `${...}` fields. The JSON-object form is corrupted by StudioWeb's designer on save
|
|
440
|
+
**Critical (StudioWeb roundtrip):** `response` MUST be a **single expression string**. For object-valued returns, use the `${{ ... }}` (double-brace) object-literal expression form, NOT a JSON object with `${...}` fields. The JSON-object form is corrupted by StudioWeb's designer on save — each field becomes the literal text of its expression instead of the evaluated value. See SKILL.md critical rule 15 and the [troubleshooting entry](troubleshooting.md#object-valued-response-gets-corrupted-fields-evaluate-to-literal-expression-text).
|
|
441
441
|
|
|
442
442
|
**Export pattern:**
|
|
443
443
|
```
|
|
@@ -462,7 +462,7 @@ Inside the outer `${{ ... }}` you're already in JS expression scope. Reference r
|
|
|
462
462
|
- Variables/outputs evaluate directly without inner `${...}`: `$context.variables.X`, `$context.outputs.Y`, `$workflow.input.Z`
|
|
463
463
|
- String literals use single quotes: `status: 'ok'` (single quotes avoid JSON escaping)
|
|
464
464
|
- Numbers/booleans are bare: `count: 0`, `flag: true`
|
|
465
|
-
- The whole thing is one expression — adding inner `${...}` re-triggers the
|
|
465
|
+
- The whole thing is one expression — adding inner `${...}` re-triggers the designer corruption
|
|
466
466
|
|
|
467
467
|
**Single-value response (one variable or one expression):**
|
|
468
468
|
```json
|
|
@@ -472,7 +472,7 @@ or
|
|
|
472
472
|
```json
|
|
473
473
|
"response": "${'done'}"
|
|
474
474
|
```
|
|
475
|
-
The simple single-expression form is fine; the
|
|
475
|
+
The simple single-expression form is fine; the designer corruption only affects object payloads.
|
|
476
476
|
|
|
477
477
|
**Common mistakes:**
|
|
478
478
|
- **Object payload with `${...}` fields** (`"response": { "tier": "${$context.variables.tier}" }`) — runs locally, corrupted by StudioWeb on save. Use single-expression `${{ ... }}` instead.
|
|
@@ -186,7 +186,7 @@ Common failure modes when authoring, running, packaging, or publishing API workf
|
|
|
186
186
|
|
|
187
187
|
## StudioWeb Roundtrip Pitfalls
|
|
188
188
|
|
|
189
|
-
These are issues that surface only when a workflow is opened or run in **StudioWeb** (
|
|
189
|
+
These are issues that surface only when a workflow is opened or run in **StudioWeb** (cloud.uipath.com). Workflows that pass `uip api-workflow run --no-auth` may still fail in cloud for these reasons.
|
|
190
190
|
|
|
191
191
|
### `ReferenceError: <literal> is not defined` after opening in StudioWeb
|
|
192
192
|
|
|
@@ -205,7 +205,7 @@ These are issues that surface only when a workflow is opened or run in **StudioW
|
|
|
205
205
|
- **What does NOT need wrapping:** numbers (`0`, `42`), booleans (`true`/`false`), values that already evaluate expressions (`"${$workflow.input.x}"`, `"${$context.variables.tier}"`), and the activity-control strings `then: "exit"` / `then: "end"`.
|
|
206
206
|
- **Heuristic:** any time you'd write `"foo"` as a *literal value* you intend the workflow to use, wrap it as `"${'foo'}"`. The CLI evaluates the expression and gets the string `'foo'`; StudioWeb leaves the already-wrapped form alone.
|
|
207
207
|
|
|
208
|
-
### Object-valued Response gets corrupted; fields evaluate to literal expression text
|
|
208
|
+
### Object-valued Response gets corrupted; fields evaluate to literal expression text
|
|
209
209
|
|
|
210
210
|
- **Symptom:** Workflow runs correctly under `uip api-workflow run` and Response returns the expected object (e.g. `{ tier: "GOLD", count: 3 }`). After opening + saving in StudioWeb, the same Response now returns each field's value as the **literal text of its expression** rather than the evaluated value — `tier` becomes the string `"${$context.variables.tier}"` (one long string, often 100+ chars), not `"GOLD"`. StudioWeb's own output-schema validator may flag the mismatch ("Output-ul nu corespunde schemei de output configurate").
|
|
211
211
|
- **Cause:** StudioWeb's designer rewrites Response object payloads on save. Authored `{ "response": { "tier": "${...}", "count": "${...}" } }` is collapsed into a single stringified expression: `"response": "${{\"tier\":\"${...}\",\"count\":\"${...}\"}}"`. The outer `${{ ... }}` is a JS object-literal expression form, but inside it the keys/values are inside JS **double-quoted** strings (`"tier":"${...}"`) — and JS double-quoted strings don't interpolate `${...}`, only template literals do. So each field's value resolves to the literal characters `${...}`, not the evaluated expression.
|
|
@@ -237,8 +237,8 @@ These are issues that surface only when a workflow is opened or run in **StudioW
|
|
|
237
237
|
- **Why it works:** Inside the outer `${{ ... }}` you're already in JS expression scope. The body is a JS object literal where unquoted keys are identifiers (`tier:`, `count:`), references like `$context.variables.tier` evaluate directly, string literals use single quotes (`status: 'ok'`), and numbers/booleans are bare (`count: 0`, `flag: true`). The designer recognizes the whole thing as a single expression and leaves it alone — it doesn't try to reinterpret each field.
|
|
238
238
|
- **Either expression-form works:** `"${ { ... } }"` (single-brace expression containing a JS object literal) and `"${{ ... }}"` (double-brace object-literal-expression form) evaluate to the same value. Pick one convention; this skill standardizes on the double-brace form, but you may see single-brace in the wild and they are interchangeable.
|
|
239
239
|
- **Single-value responses are fine as-is:** `"response": "${$context.outputs.Javascript_1}"` or `"response": "${'done'}"` — the designer only mangles object payloads, not single expressions.
|
|
240
|
-
- **On-disk is authoritative — re-validate after every designer save.** Even with the single-expression workaround, every StudioWeb designer save may re-trigger normalization passes that corrupt the Response shape. Treat the file on disk as the source of truth: after any designer roundtrip, re-run `uip api-workflow run --no-auth --output json` and inspect the Response output. If a field has become the literal text of its expression (a long string instead of the evaluated value), the file was re-corrupted — re-apply the single-expression workaround in the file directly, and consider keeping CLI-authored workflows out of designer save cycles until
|
|
241
|
-
- **Upstream:** designer-side bug
|
|
240
|
+
- **On-disk is authoritative — re-validate after every designer save.** Even with the single-expression workaround, every StudioWeb designer save may re-trigger normalization passes that corrupt the Response shape. Treat the file on disk as the source of truth: after any designer roundtrip, re-run `uip api-workflow run --no-auth --output json` and inspect the Response output. If a field has become the literal text of its expression (a long string instead of the evaluated value), the file was re-corrupted — re-apply the single-expression workaround in the file directly, and consider keeping CLI-authored workflows out of designer save cycles until the designer fix ships.
|
|
241
|
+
- **Upstream:** designer-side StudioWeb bug. Fix lives in the api-workflows translator for Response tasks (needs to preserve object payloads losslessly). Until that ships, the single-expression workaround is required and may need re-applying after each designer roundtrip.
|
|
242
242
|
|
|
243
243
|
### Multi-key `Assign.set` silently drops all but one variable
|
|
244
244
|
|
|
@@ -514,7 +514,7 @@ These are issues that surface only when a workflow is opened or run in **StudioW
|
|
|
514
514
|
- **Fix:** Switch to IntSvc kind (`call: "UiPath.IntSvc"`, `with.connector` = the vendor key, `with.endpoint` = `"/<curated-operation-name>"`). See [connector-activity-discovery.md — IntSvc kind](connector-activity-discovery.md#intsvc-kind--call-uipathintsvc-vendor-curated-activity) — IntSvc kind is for vendor activities, Http kind is only for the `uipath-uipath-http` HTTP Request activity.
|
|
515
515
|
|
|
516
516
|
**Sub-case B — Connection is in a broken state.** The endpoint is right (e.g. `/getNewestEmail` on an Outlook connection), but the connection's upstream OAuth token is expired, never properly authorized, or the running identity doesn't have access to the connection.
|
|
517
|
-
- **Fix:** Run `uip is connections ping <connection-uuid> --output json`. If it returns `Code: "ConnectionNotEnabled"`, re-authenticate via `uip is connections edit <connection-uuid>` (opens browser for OAuth) or fix in the StudioWeb UI. If it returns `Code: "ConnectionPing"` (success) but the cloud still 401s, check that your CLI login (`uip login status`) is in the same org+tenant your browser is using at
|
|
517
|
+
- **Fix:** Run `uip is connections ping <connection-uuid> --output json`. If it returns `Code: "ConnectionNotEnabled"`, re-authenticate via `uip is connections edit <connection-uuid>` (opens browser for OAuth) or fix in the StudioWeb UI. If it returns `Code: "ConnectionPing"` (success) but the cloud still 401s, check that your CLI login (`uip login status`) is in the same org+tenant your browser is using at cloud.uipath.com — a tenant mismatch will reject the connection ID at the proxy layer.
|
|
518
518
|
|
|
519
519
|
- **Prevention:** The discovery flow's Step 4b (`uip is connections ping`) is mandatory specifically to catch sub-case B before authoring. Don't author against a connection that doesn't ping — the workflow shape will look right and even run locally, but fail at deployment time.
|
|
520
520
|
|
|
@@ -544,12 +544,12 @@ These are issues that surface only when a workflow is opened or run in **StudioW
|
|
|
544
544
|
### `Workflow status is not "Successful"` (executor returns failure)
|
|
545
545
|
- **Cause:** A task threw during execution
|
|
546
546
|
- **Fix:** Read `Message` and `Instructions` in the failure output. Common patterns:
|
|
547
|
-
- JS_Invoke: missing `return` statement, runtime error in script body, undefined `$context.outputs.<
|
|
547
|
+
- JS_Invoke: missing `return` statement, runtime error in script body, undefined `$context.outputs.<Activity>` (prior activity did not run or did not `export`)
|
|
548
548
|
- Assign expression: invalid `${...}` syntax, referencing an undefined variable in strict mode
|
|
549
549
|
- Loop body: condition variable not updated (DoWhile infinite loop), missing `#Body` suffix, wrong export pattern
|
|
550
550
|
|
|
551
|
-
### `$context.outputs.<
|
|
552
|
-
- **Cause:** The prior
|
|
551
|
+
### `$context.outputs.<Activity>` is undefined
|
|
552
|
+
- **Cause:** The prior activity did not `export` its output back into context
|
|
553
553
|
- **Fix:** Add the standard export to the prior task — see [expressions-and-context.md](expressions-and-context.md)
|
|
554
554
|
|
|
555
555
|
### Strict-mode JS error inside a JS_Invoke
|
|
@@ -559,6 +559,19 @@ These are issues that surface only when a workflow is opened or run in **StudioW
|
|
|
559
559
|
- Use optional chaining: `$context?.outputs?.Javascript_1?.items`
|
|
560
560
|
- Ensure object literals have unique keys
|
|
561
561
|
|
|
562
|
+
### Failed cloud run after publish (job faulted in Orchestrator)
|
|
563
|
+
|
|
564
|
+
- **Symptom:** The workflow passed `validate` and `run --no-auth` locally, packed, published, and deployed — but a triggered cloud run faults. Local re-runs still pass.
|
|
565
|
+
- **Cause:** Faults that only surface in cloud — real vendor responses, connection auth/token state, trigger payload shape, tenant/folder scoping — none of which the local runtime exercises.
|
|
566
|
+
- **Fix:** Diagnose from the deployed job, not the local file:
|
|
567
|
+
```bash
|
|
568
|
+
uip or jobs get <jobId> --output json # status + fault summary
|
|
569
|
+
uip or jobs logs <jobId> --output json # execution logs for the run
|
|
570
|
+
uip traces spans get --job-key <jobKey> --output json # span-level execution trace (also accepts a <trace-id> positional)
|
|
571
|
+
```
|
|
572
|
+
(Folder scoping differs: `uip or jobs list` accepts `--folder-path`/`--folder-key`/`--all-folders`; `uip or triggers list` accepts only `--folder-path`/`--folder-key`; `uip or jobs start <process-key>` infers the folder. `uip or jobs traces` is Agent-type-process-only; use `traces spans get` for API-workflow jobs.)
|
|
573
|
+
Map the surfaced error back to a fix with the category order below (Structure > Expression > Activity Config > Logic). If the fault is a 401 / `ConnectionNotEnabled`, `uip is connections ping <uuid>` the bound connection first. Full operate + diagnose command map: [operating-published-workflows.md](operating-published-workflows.md). For deep, multi-signal root-cause (what changed, cross-run comparison, incident correlation), hand off to **uipath-troubleshoot**.
|
|
574
|
+
|
|
562
575
|
---
|
|
563
576
|
|
|
564
577
|
## Packaging Errors
|
|
@@ -569,7 +582,7 @@ These are issues that surface only when a workflow is opened or run in **StudioW
|
|
|
569
582
|
|
|
570
583
|
### `Failed to parse <solution>.uipx`
|
|
571
584
|
- **Cause:** Solution file is malformed JSON
|
|
572
|
-
- **Fix:** Re-create with `uip solution init <name>` and re-add projects via `uip solution
|
|
585
|
+
- **Fix:** Re-create with `uip solution init <name>` and re-add projects via `uip solution projects add`
|
|
573
586
|
|
|
574
587
|
### Generated `operate.json` or `package-descriptor.json` mismatch
|
|
575
588
|
- **Cause:** Stale files committed by hand or from an older CLI version
|
|
@@ -586,7 +599,7 @@ These are issues that surface only when a workflow is opened or run in **StudioW
|
|
|
586
599
|
- **Fix (in-place conversion)** when you must keep the existing folder/`Id` (SKILL.md rule 19a, [workflow-file-format.md](workflow-file-format.md#project-structure-studio-web-editable-contract)):
|
|
587
600
|
- Add `project.uiproj` (`ProjectType: "Api"`, `MainFile: "Workflow.json"`) and `entry-points.json` (`filePath: "content/Workflow.json"`, no leading slash, `type: "Api"`). Copy `bindings_v2.json` if present.
|
|
588
601
|
- Rename the main workflow to `Workflow.json` at the project root.
|
|
589
|
-
- Edit the `.uipx` `ProjectRelativePath` from `<folder>/project.json` → `<folder>/project.uiproj`, **preserving the project `Id` and `Type`**. Do NOT use `uip solution
|
|
602
|
+
- Edit the `.uipx` `ProjectRelativePath` from `<folder>/project.json` → `<folder>/project.uiproj`, **preserving the project `Id` and `Type`**. Do NOT use `uip solution projects remove`+`add` — it mints a new `Id`.
|
|
590
603
|
- Remove the stray `project.json` / `workflows/` (a mismatched `project.json` triggers `ProjectMetadataMismatchError`).
|
|
591
604
|
- Re-pack, then confirm the project opens in Studio Web (runtime/pack success alone does not prove it).
|
|
592
605
|
|