@uipath/skills 1.195.1 → 1.196.0
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 +16 -10
- package/README.md +39 -4
- package/assets/skill-status.json +189 -0
- package/assets/uip-catalog-snapshot.json +67 -97
- package/commands/install-permissions.md +46 -2
- package/package.json +1 -1
- package/skills/uipath-admin/SKILL.md +6 -7
- package/skills/uipath-admin/references/audit-commands.md +32 -10
- package/skills/uipath-admin/references/audit-workflow-guide.md +25 -6
- package/skills/uipath-admin/references/ip-restriction/ip-restriction-commands.md +1 -1
- package/skills/uipath-agents/SKILL.md +5 -3
- package/skills/uipath-agents/references/coded/embedding-in-flows.md +6 -0
- package/skills/uipath-agents/references/coded/flow-integration.md +1 -0
- package/skills/uipath-agents/references/coded/frameworks/langgraph-integration.md +2 -2
- package/skills/uipath-agents/references/coded/frameworks/llamaindex-integration.md +1 -1
- package/skills/uipath-agents/references/coded/frameworks/openai-agents-integration.md +5 -1
- package/skills/uipath-agents/references/coded/lifecycle/build.md +1 -0
- package/skills/uipath-agents/references/coded/lifecycle/evaluate.md +8 -6
- package/skills/uipath-agents/references/coded/quickstart.md +17 -12
- package/skills/uipath-agents/references/lowcode/agent-definition.md +17 -16
- package/skills/uipath-agents/references/lowcode/capabilities/built-in-tools/analyze-attachments.md +2 -2
- package/skills/uipath-agents/references/lowcode/capabilities/built-in-tools/batch-transform/impl-json.md +1 -1
- package/skills/uipath-agents/references/lowcode/capabilities/built-in-tools/built-in-tools.md +4 -4
- package/skills/uipath-agents/references/lowcode/capabilities/built-in-tools/deeprag/impl-json.md +1 -1
- package/skills/uipath-agents/references/lowcode/capabilities/context/context.md +1 -1
- package/skills/uipath-agents/references/lowcode/capabilities/context/datafabric.md +1 -1
- package/skills/uipath-agents/references/lowcode/capabilities/context/index.md +12 -12
- package/skills/uipath-agents/references/lowcode/capabilities/escalation/escalation.md +14 -14
- package/skills/uipath-agents/references/lowcode/capabilities/guardrails/guardrails-recommend.md +1 -1
- package/skills/uipath-agents/references/lowcode/capabilities/guardrails/guardrails.md +23 -20
- package/skills/uipath-agents/references/lowcode/capabilities/inline-in-flow/inline-in-flow.md +27 -26
- package/skills/uipath-agents/references/lowcode/capabilities/integration-service/integration-service.md +12 -13
- package/skills/uipath-agents/references/lowcode/capabilities/mcp/mcp.md +133 -0
- package/skills/uipath-agents/references/lowcode/capabilities/memory/memory.md +9 -9
- package/skills/uipath-agents/references/lowcode/capabilities/process/process.md +25 -24
- package/skills/uipath-agents/references/lowcode/capabilities/process/solution-files.md +6 -6
- package/skills/uipath-agents/references/lowcode/critical-rules.md +17 -17
- package/skills/uipath-agents/references/lowcode/debug.md +55 -0
- package/skills/uipath-agents/references/lowcode/evaluations/evaluate.md +6 -6
- package/skills/uipath-agents/references/lowcode/evaluations/evaluation-sets.md +1 -1
- package/skills/uipath-agents/references/lowcode/evaluations/evaluators.md +3 -3
- package/skills/uipath-agents/references/lowcode/evaluations/running-evaluations.md +8 -8
- package/skills/uipath-agents/references/lowcode/lowcode.md +18 -12
- package/skills/uipath-agents/references/lowcode/model-selection-guide.md +3 -3
- package/skills/uipath-agents/references/lowcode/project-lifecycle.md +53 -33
- package/skills/uipath-agents/references/lowcode/solution-resources.md +8 -8
- package/skills/uipath-api-workflow/SKILL.md +32 -83
- package/skills/uipath-api-workflow/references/cli-reference.md +40 -26
- package/skills/uipath-api-workflow/references/connector-activity-discovery.md +75 -23
- package/skills/uipath-api-workflow/references/troubleshooting.md +4 -12
- package/skills/uipath-automation-discovery/SKILL.md +234 -0
- package/skills/uipath-automation-discovery/references/intake-guide.md +85 -0
- package/skills/uipath-automation-discovery/references/mining-guide.md +156 -0
- package/skills/uipath-automation-discovery/references/report-template.md +95 -0
- package/skills/uipath-coded-apps/SKILL.md +0 -2
- package/skills/uipath-data-fabric/SKILL.md +0 -2
- package/skills/uipath-feedback/SKILL.md +1 -1
- package/skills/uipath-governance/SKILL.md +0 -2
- package/skills/uipath-human-in-the-loop/SKILL.md +2 -3
- package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/api-workflow.md +1 -1
- package/skills/uipath-maestro-bpmn/references/operate/references/run.md +1 -1
- package/skills/uipath-maestro-bpmn/references/shared/local-metadata-regeneration-guide.md +2 -2
- package/skills/uipath-maestro-bpmn/references/shared/wrapper-shells.md +1 -1
- package/skills/uipath-maestro-case/SKILL.md +22 -27
- package/skills/uipath-maestro-case/references/bindings-and-expressions.md +7 -1
- package/skills/uipath-maestro-case/references/bindings-v2-sync.md +7 -16
- package/skills/uipath-maestro-case/references/case-commands.md +9 -9
- package/skills/uipath-maestro-case/references/case-editing-operations.md +51 -67
- package/skills/uipath-maestro-case/references/case-schema.md +74 -138
- package/skills/uipath-maestro-case/references/connector-integration.md +32 -5
- package/skills/uipath-maestro-case/references/connector-trigger-common.md +39 -12
- package/skills/uipath-maestro-case/references/evals/evals.json +9 -23
- package/skills/uipath-maestro-case/references/implementation.md +24 -24
- package/skills/uipath-maestro-case/references/phased-execution.md +24 -38
- package/skills/uipath-maestro-case/references/placeholder-tasks.md +9 -9
- package/skills/uipath-maestro-case/references/planning.md +20 -79
- package/skills/uipath-maestro-case/references/plugins/case/impl-json.md +15 -122
- package/skills/uipath-maestro-case/references/plugins/case/planning.md +3 -1
- package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/impl-json.md +10 -22
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/impl-json.md +7 -5
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/planning.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/impl-json.md +5 -5
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/planning.md +1 -1
- package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/impl-json.md +4 -4
- package/skills/uipath-maestro-case/references/plugins/logging/impl-json.md +10 -0
- package/skills/uipath-maestro-case/references/plugins/sla/impl-json.md +10 -42
- package/skills/uipath-maestro-case/references/plugins/sla/planning.md +5 -5
- package/skills/uipath-maestro-case/references/plugins/stages/impl-json.md +8 -79
- package/skills/uipath-maestro-case/references/plugins/stages/planning.md +7 -14
- package/skills/uipath-maestro-case/references/plugins/tasks/agent/impl-json.md +1 -1
- package/skills/uipath-maestro-case/references/plugins/tasks/agent/planning.md +3 -2
- package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/impl-json.md +1 -1
- package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/planning.md +3 -2
- package/skills/uipath-maestro-case/references/plugins/tasks/case-management/impl-json.md +1 -1
- package/skills/uipath-maestro-case/references/plugins/tasks/case-management/planning.md +4 -3
- 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 +12 -7
- 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 +2 -0
- package/skills/uipath-maestro-case/references/plugins/tasks/process/impl-json.md +1 -1
- package/skills/uipath-maestro-case/references/plugins/tasks/process/planning.md +4 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/rpa/impl-json.md +1 -1
- package/skills/uipath-maestro-case/references/plugins/tasks/rpa/planning.md +4 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/wait-for-timer/impl-json.md +3 -0
- package/skills/uipath-maestro-case/references/plugins/triggers/event/impl-json.md +6 -7
- package/skills/uipath-maestro-case/references/plugins/triggers/event/planning.md +4 -2
- package/skills/uipath-maestro-case/references/plugins/triggers/manual/impl-json.md +4 -27
- package/skills/uipath-maestro-case/references/plugins/triggers/timer/impl-json.md +8 -20
- package/skills/uipath-maestro-case/references/plugins/variables/bindings/impl-json.md +6 -11
- package/skills/uipath-maestro-case/references/plugins/variables/global-vars/impl-json.md +15 -30
- package/skills/uipath-maestro-case/references/plugins/variables/global-vars/planning.md +4 -4
- package/skills/uipath-maestro-case/references/plugins/variables/io-binding/impl-json.md +8 -7
- package/skills/uipath-maestro-case/references/registry-discovery.md +4 -4
- package/skills/uipath-maestro-case/references/sdd-generation-rules.md +12 -10
- package/skills/uipath-maestro-case/references/troubleshooting-guide.md +1 -1
- package/skills/uipath-maestro-flow/SKILL.md +9 -6
- package/skills/uipath-maestro-flow/references/author/CAPABILITY.md +4 -4
- package/skills/uipath-maestro-flow/references/author/references/brownfield.md +17 -2
- package/skills/uipath-maestro-flow/references/author/references/editing-operations-cli.md +1 -1
- package/skills/uipath-maestro-flow/references/author/references/editing-operations-json.md +3 -3
- package/skills/uipath-maestro-flow/references/author/references/editing-operations.md +9 -9
- package/skills/uipath-maestro-flow/references/author/references/greenfield.md +13 -10
- package/skills/uipath-maestro-flow/references/author/references/planning-arch.md +75 -5
- package/skills/uipath-maestro-flow/references/author/references/planning-impl.md +2 -1
- package/skills/uipath-maestro-flow/references/author/references/plugins/connector/impl.md +14 -4
- package/skills/uipath-maestro-flow/references/author/references/plugins/connector-trigger/impl.md +20 -4
- package/skills/uipath-maestro-flow/references/author/references/plugins/hitl/impl.md +5 -5
- package/skills/uipath-maestro-flow/references/author/references/plugins/hitl/planning.md +5 -5
- package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl-connector.md +81 -0
- package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl-manual.md +63 -0
- package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl.md +59 -57
- package/skills/uipath-maestro-flow/references/author/references/plugins/http/planning.md +8 -7
- package/skills/uipath-maestro-flow/references/author/references/plugins/inline-agent/impl.md +23 -23
- package/skills/uipath-maestro-flow/references/author/references/plugins/inline-agent/planning.md +2 -2
- package/skills/uipath-maestro-flow/references/diagnose/CAPABILITY.md +1 -1
- package/skills/uipath-maestro-flow/references/diagnose/references/failure-modes.md +6 -6
- package/skills/uipath-maestro-flow/references/evaluate/CAPABILITY.md +2 -2
- package/skills/uipath-maestro-flow/references/evaluate/references/upload-safety.md +1 -1
- package/skills/uipath-maestro-flow/references/operate/CAPABILITY.md +8 -8
- package/skills/uipath-maestro-flow/references/operate/references/run.md +2 -2
- package/skills/uipath-maestro-flow/references/operate/references/ship.md +7 -7
- package/skills/uipath-maestro-flow/references/shared/cli-commands.md +19 -17
- package/skills/uipath-maestro-flow/references/shared/cli-conventions.md +1 -1
- package/skills/uipath-maestro-flow/references/shared/file-format.md +1 -1
- package/skills/uipath-maestro-flow/references/shared/ux-narration-and-todos.md +7 -7
- package/skills/uipath-planner/SKILL.md +110 -74
- package/skills/{uipath-solution → uipath-planner}/assets/templates/agent-sdd-template.md +3 -3
- package/skills/{uipath-solution → uipath-planner}/assets/templates/api-workflow-sdd-template.md +4 -4
- package/skills/{uipath-solution → uipath-planner}/assets/templates/case-sdd-template.md +4 -4
- package/skills/{uipath-solution → uipath-planner}/assets/templates/coded-app-sdd-template.md +3 -3
- package/skills/{uipath-solution → uipath-planner}/assets/templates/flow-sdd-template.md +4 -4
- package/skills/{uipath-solution → uipath-planner}/assets/templates/rpa-sdd-template.md +11 -11
- package/skills/uipath-planner/references/multi-skill-patterns-guide.md +3 -3
- package/skills/uipath-planner/references/non-pdd-lane-guide.md +10 -6
- package/skills/uipath-planner/references/pdd-driven-lane-guide.md +17 -7
- package/skills/uipath-planner/references/plan-and-tasks-format.md +2 -2
- package/skills/{uipath-solution/references/design → uipath-planner/references}/product-selection-guide.md +8 -8
- package/skills/{uipath-solution/references/design → uipath-planner/references}/rpa-product-guide.md +1 -1
- package/skills/{uipath-solution/references/design → uipath-planner/references}/sdd-generation-guide.md +26 -39
- package/skills/{uipath-solution/references/design → uipath-planner/references}/tenant-library-search-guide.md +7 -7
- package/skills/uipath-platform/SKILL.md +21 -48
- package/skills/uipath-platform/references/integration-service/http-request.md +5 -2
- package/skills/uipath-platform/references/integration-service/reference-resolution.md +19 -1
- package/skills/uipath-platform/references/integration-service/triggers.md +21 -5
- package/skills/uipath-platform/references/licensing/consumables-report.md +1 -1
- package/skills/uipath-platform/references/licensing/tenant-allocations.md +1 -1
- package/skills/uipath-platform/references/licensing/user-licenses-allocations.md +1 -1
- package/skills/uipath-platform/references/{resources → orchestrator}/manage-assets.md +37 -34
- package/skills/uipath-platform/references/orchestrator/manage-sessions.md +1 -1
- package/skills/uipath-platform/references/orchestrator/orchestrator.md +4 -31
- package/skills/uipath-platform/references/{resources → orchestrator}/process-queues.md +61 -50
- package/skills/uipath-platform/references/{resources → orchestrator}/resources.md +21 -21
- package/skills/uipath-platform/references/orchestrator/run-jobs.md +26 -14
- package/skills/uipath-platform/references/orchestrator/setup-environment.md +20 -16
- package/skills/uipath-platform/references/orchestrator/tenant-admin.md +7 -7
- package/skills/uipath-platform/references/{resources → orchestrator}/triggers-and-webhooks.md +41 -37
- package/skills/uipath-platform/references/{resources → orchestrator}/work-with-storage.md +56 -34
- package/skills/uipath-platform/references/uip-commands.md +20 -19
- package/skills/uipath-review/SKILL.md +81 -7
- package/skills/uipath-review/references/agents/agent-common-issues.md +42 -0
- package/skills/uipath-review/references/agents/agent-review-checklist.md +79 -57
- package/skills/uipath-review/references/agents/agents-coded-rules.md +160 -0
- package/skills/uipath-review/references/agents/agents-common-rules.md +32 -0
- package/skills/uipath-review/references/agents/agents-lowcode-rules.md +128 -0
- package/skills/uipath-review/references/platform/platform-resources-checklist.md +2 -2
- package/skills/uipath-review/references/review-workflow-guide.md +1 -1
- package/skills/uipath-review/references/rpa/rpa-review-checklist.md +2 -2
- package/skills/uipath-review/references/rule-catalog-workflow.md +90 -0
- package/skills/uipath-review/references/rule-format.md +91 -0
- package/skills/uipath-rpa/SKILL.md +16 -6
- package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/CreateEntityRecord.md +149 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/CreateMultipleEntityRecords.md +67 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/DeleteEntityRecord.md +44 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/DeleteFileFromRecordField.md +56 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/DeleteMultipleEntityRecords.md +65 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/DownloadFileFromRecordField.md +115 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/GetEntityRecordById.md +50 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/QueryEntityRecords.md +69 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/UpdateEntityRecord.md +120 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/UpdateMultipleEntityRecords.md +67 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/UploadFileToRecordField.md +103 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/guides/data-service-filter-builder-guide.md +461 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/overview.md +355 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/AppendRangeX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/AutoFillX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/AutoFitX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ChangeDataRangeModification.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ChangePivotTableDataSourceX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ClearRangeX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/CopyPasteRangeX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/CreatePivotTableXv2.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/CreateTableX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/DeleteColumnX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/DeleteRowsX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/DeleteSheetX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/DuplicateSheetX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ExecuteMacroArgumentX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ExecuteMacroX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ExportExcelToCsvX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/FillRangeX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/FilterPivotTableX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/FilterX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/FindFirstLastDataRowX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/FindReplaceValueX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/FormatRangeX.md +2 -2
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/InsertColumnX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/InsertExcelChartX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/InsertRowsX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/InsertSheetX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/InvokeVBAArgumentX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/InvokeVBAX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/LookupX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/PivotTableFieldX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ProtectSheetX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ReadCellFormulaX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ReadCellValueX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/RefreshPivotTableX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/RemoveDuplicatesX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/RenameSheetX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/SaveAsPdfX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/SaveExcelFileX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/SortColumnX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/SortX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/UnprotectSheetX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/UpdateChartX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/VLookupX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/WriteCellX.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/overview.md +2 -2
- package/skills/uipath-rpa/references/activity-docs/UiPath.GSuite.Activities/3.8/activities/overview.md +2 -2
- package/skills/uipath-rpa/references/activity-docs/UiPath.Mail.Activities/2.8/activities/overview.md +2 -2
- package/skills/uipath-rpa/references/activity-docs/UiPath.MicrosoftOffice365.Activities/3.8/activities/SendMailConnections.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.MicrosoftOffice365.Activities/3.8/activities/overview.md +3 -3
- package/skills/uipath-rpa/references/activity-docs/UiPath.Presentations.Activities/2.5/activities/overview.md +2 -2
- package/skills/uipath-rpa/references/activity-docs/UiPath.System.Activities/25.10/activities/overview.md +1 -1
- package/skills/uipath-rpa/references/activity-docs/UiPath.Word.Activities/2.5/activities/overview.md +2 -2
- package/skills/uipath-rpa/references/cli-reference.md +108 -554
- package/skills/uipath-rpa/references/coded/coding-guidelines.md +1 -1
- package/skills/uipath-rpa/references/coded/operations-guide.md +3 -3
- package/skills/uipath-rpa/references/coded/third-party-packages-guide.md +1 -1
- package/skills/uipath-rpa/references/connector-capabilities.md +3 -2
- package/skills/uipath-rpa/references/debugging.md +43 -36
- package/skills/uipath-rpa/references/environment-setup.md +3 -3
- package/skills/uipath-rpa/references/is-connector-xaml-guide.md +3 -3
- package/skills/uipath-rpa/references/library-authoring-guide.md +226 -0
- package/skills/uipath-rpa/references/project-structure-guide.md +43 -0
- package/skills/uipath-rpa/references/publishing-guide.md +5 -5
- package/skills/uipath-rpa/references/tenant-library-search-guide.md +18 -14
- package/skills/uipath-rpa/references/testing-guide.md +6 -6
- package/skills/uipath-rpa/references/trigger-pattern-guide.md +2 -2
- package/skills/uipath-rpa/references/ui-automation-guide.md +43 -6
- package/skills/uipath-rpa/references/uia-configure-target-workflows.md +2 -2
- package/skills/uipath-rpa/references/uia-prerequisites.md +1 -1
- package/skills/uipath-rpa/references/validation-guide.md +4 -4
- package/skills/uipath-rpa/references/xaml/canvas-layout-guide.md +4 -1
- package/skills/uipath-rpa/references/xaml/common-pitfalls.md +18 -6
- package/skills/uipath-rpa/references/xaml/long-running-workflow-guide.md +304 -0
- package/skills/uipath-rpa/references/xaml/xaml-basics-and-rules.md +3 -0
- package/skills/uipath-solution/SKILL.md +23 -125
- package/skills/uipath-solution/references/{operate/activate-and-manage.md → activate-and-manage.md} +1 -1
- package/skills/uipath-solution/references/{operate/develop-solution.md → develop-solution.md} +43 -37
- package/skills/uipath-solution/references/{operate/pack-and-deploy.md → pack-and-deploy.md} +3 -3
- package/skills/uipath-solution/references/{operate/scenarios → scenarios}/intra-solution-references.md +2 -2
- package/skills/uipath-solution/references/{operate/scenarios → scenarios}/manual-edits.md +4 -4
- package/skills/uipath-solution/references/{operate/scenarios → scenarios}/same-name-across-folders.md +2 -2
- package/skills/uipath-solution/references/{operate/scenarios → scenarios}/shared-cloud-resource.md +3 -3
- package/skills/uipath-solution/references/{operate/scenarios → scenarios}/virtual-resource.md +4 -4
- package/skills/uipath-solution/references/{operate/scenarios.md → scenarios.md} +5 -5
- package/skills/uipath-solution/references/{operate/solution-overview.md → solution-overview.md} +3 -3
- package/skills/uipath-tasks/SKILL.md +0 -2
- package/skills/uipath-test/SKILL.md +26 -7
- package/skills/uipath-troubleshoot/agents/triage.md +6 -4
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/overview.md +55 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/add-queue-item-failed.md +58 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/application-launch-failed.md +56 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/browser-open-or-attach-failed.md +59 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/file-operation-failed.md +60 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/foreach-row-failed.md +56 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/image-target-not-found.md +56 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/invoke-code-failed.md +54 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/invoke-workflow-failed.md +58 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/kill-process-failed.md +49 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/ui-activity-configuration-error.md +80 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/ui-activity-timeout.md +61 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/ui-element-interaction-failed.md +61 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/ui-element-not-found.md +64 -0
- package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/summary.md +24 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/read-range-file-locked.md +142 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/read-range-file-not-found.md +140 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/read-range-null-reference.md +119 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/read-range-sheet-not-found.md +146 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/write-cell-failures.md +131 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/summary.md +5 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/investigation_guide.md +1 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/overview.md +16 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/activity-configuration-error.md +42 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/ambiguous-selector.md +131 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/application-not-found.md +84 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/application-open-failed.md +46 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/browser-navigation-failed.md +45 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/click-coordinate-off-screen.md +120 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/disabled-element.md +0 -2
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/element-found-not-actionable.md +43 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/healing-agent-no-license.md +12 -12
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/healing-agent-orch-issues.md +108 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/inject-js-failed.md +41 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/scope-container-wrong-page.md +7 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/select-item-no-items.md +37 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/selector-failure-manual.md +2 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/timeout-issue.md +2 -2
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/verify-execution-failure.md +120 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/wrong-target-application.md +41 -0
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/summary.md +12 -0
- package/skills/uipath-troubleshoot/references/products/agents/playbooks/guardrail-violation.md +111 -0
- package/skills/uipath-troubleshoot/references/products/agents/playbooks/is-connection-disabled.md +90 -0
- package/skills/uipath-troubleshoot/references/products/agents/playbooks/is-invalid-credentials.md +123 -0
- package/skills/uipath-troubleshoot/references/products/agents/playbooks/is-invalid-element-instance.md +96 -0
- package/skills/uipath-troubleshoot/references/products/agents/playbooks/llm-insufficient-information.md +1 -1
- package/skills/uipath-troubleshoot/references/products/agents/summary.md +4 -0
- package/skills/uipath-troubleshoot/references/products/orchestrator/investigation_guide.md +7 -7
- package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-pending-no-host.md +3 -1
- package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-pending-stale-dispatch.md +2 -0
- package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-stopped-exit-code-0x40010004.md +104 -0
- package/skills/uipath-troubleshoot/references/products/orchestrator/summary.md +1 -0
- package/skills/uipath-troubleshoot/references/summary.md +10 -1
- package/version-manifest.json +2 -2
- package/skills/uipath-ixp/SKILL.md +0 -84
- package/skills/uipath-ixp/references/cli-reference.md +0 -113
- package/skills/uipath-ixp/references/improve-prompts-guide.md +0 -283
- package/skills/uipath-ixp/references/label-documents-guide.md +0 -175
- package/skills/uipath-ixp/references/project-setup-guide.md +0 -90
- package/skills/uipath-maestro-case/references/plugins/edges/impl-json.md +0 -152
- package/skills/uipath-maestro-case/references/plugins/edges/planning.md +0 -93
- /package/skills/{uipath-solution/references/design → uipath-planner/references}/package-selection-guide.md +0 -0
- /package/skills/{uipath-solution/references/design → uipath-planner/references}/pdd-analysis-guide.md +0 -0
- /package/skills/uipath-solution/references/{operate/scenarios → scenarios}/failure-modes.md +0 -0
|
@@ -21,7 +21,7 @@ Scaffold a new agent project at the given path.
|
|
|
21
21
|
uip agent init "<AGENT_NAME>" --output json
|
|
22
22
|
```
|
|
23
23
|
|
|
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.
|
|
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
26
|
**Options:**
|
|
27
27
|
- `--model <model>` — LLM model to use (default: `gpt-4o-2024-11-20`). 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.
|
|
@@ -78,16 +78,17 @@ uip agent validate [path] --output json
|
|
|
78
78
|
1. Checks `agent.json` structure: `version === "1.1.0"`, type, UUID, settings (including `mode`), messages, contentTokens consistency.
|
|
79
79
|
2. Verifies schema sync between `agent.json` and `entry-points.json` (properties + required[]).
|
|
80
80
|
3. Validates `project.uiproj` (`ProjectType === "Agent"`).
|
|
81
|
-
4.
|
|
82
|
-
5. Validates `agent.json` against the latest schema, eval-sets, evaluators (category/type constraints), and counts resources.
|
|
81
|
+
4. Storage-version gate — fails with `AgentValidationOutdated` if `storageVersion` is not at the latest. Run `uip agent refresh` to migrate.
|
|
82
|
+
5. Validates `agent.json` against the latest Zod schema, eval-sets, evaluators (category/type constraints), and counts resources.
|
|
83
|
+
6. Dry-run derived-files generation — compares generated `entry-points.json` and `bindings_v2.json` against on-disk files. Fails with `AgentValidationDrift` if they are out of sync. Run `uip agent refresh` to regenerate.
|
|
83
84
|
|
|
84
|
-
**Does NOT write files
|
|
85
|
+
**Does NOT write files.** Strict read-only. Run `uip agent refresh` before validate to apply migrations and regenerate derived files.
|
|
85
86
|
|
|
86
|
-
**With `--inline-in-flow`:** Steps 2 and
|
|
87
|
+
**With `--inline-in-flow`:** Steps 2, 3, and entry-points drift check are skipped.
|
|
87
88
|
|
|
88
89
|
**Success output:**
|
|
89
90
|
```json
|
|
90
|
-
{ "Result": "Success", "Code": "AgentValidation", "Data": { "Status": "Valid", "Model": "...", "StorageVersion": "50.0.0", "
|
|
91
|
+
{ "Result": "Success", "Code": "AgentValidation", "Data": { "Status": "Valid", "Model": "...", "StorageVersion": "50.0.0", "Validated": { "agent": true, "resources": 2, "evalSets": 1, "evaluators": 2 } } }
|
|
91
92
|
```
|
|
92
93
|
|
|
93
94
|
**Failure output:**
|
|
@@ -95,26 +96,27 @@ uip agent validate [path] --output json
|
|
|
95
96
|
{ "Result": "Failure", "Code": "AgentValidationFailed", "Message": "Validation failed with N error(s)", "Data": { "Errors": ["agent.json → settings.mode: missing — must be \"standard\" or \"advanced\""] } }
|
|
96
97
|
```
|
|
97
98
|
|
|
98
|
-
### `uip agent
|
|
99
|
+
### `uip agent refresh`
|
|
99
100
|
|
|
100
|
-
Applies pending schema migrations and regenerates
|
|
101
|
+
Applies pending schema migrations and regenerates derived files (`entry-points.json`, `bindings_v2.json`). Runs static validation before writing anything — files are only written if all checks pass.
|
|
101
102
|
|
|
102
103
|
```bash
|
|
103
|
-
uip agent
|
|
104
|
+
uip agent refresh [path] --output json
|
|
104
105
|
```
|
|
105
106
|
|
|
106
107
|
**What it does:**
|
|
107
|
-
1. Runs all static validation checks
|
|
108
|
+
1. Runs all static validation checks.
|
|
108
109
|
2. Writes migrated `agent.json` (and related files) to disk if migration is needed.
|
|
109
|
-
3. Regenerates
|
|
110
|
+
3. Regenerates `entry-points.json` from `agent.json` inputSchema/outputSchema (preserving the existing `uniqueId`).
|
|
111
|
+
4. Regenerates `bindings_v2.json` from `resources/{ResourceName}/resource.json` files, features, and guardrail escalations.
|
|
110
112
|
|
|
111
|
-
**With `--inline-in-flow`:** Skips `entry-points.json`/`project.uiproj` checks.
|
|
113
|
+
**With `--inline-in-flow`:** Skips `entry-points.json`/`project.uiproj` checks. Agent capability bindings are merged into the parent flow project's `bindings_v2.json`.
|
|
112
114
|
|
|
113
|
-
**Workflow:** run `uip agent
|
|
115
|
+
**Workflow:** run `uip agent refresh` to apply writes and regenerate derived files, then `uip agent validate` to verify the project is clean. For routine edits with no schema migration pending, refresh is still needed to keep `entry-points.json` and `bindings_v2.json` in sync.
|
|
114
116
|
|
|
115
117
|
### `uip agent memory`
|
|
116
118
|
|
|
117
|
-
Manage low-code agent memory space features and seed items. These commands write `features/{FeatureName}/feature.json
|
|
119
|
+
Manage low-code agent memory space features and seed items. These commands write `features/{FeatureName}/feature.json`; run refresh and validate afterwards to regenerate bindings.
|
|
118
120
|
|
|
119
121
|
```bash
|
|
120
122
|
uip agent memory add SupportRecall \
|
|
@@ -138,6 +140,16 @@ uip agent memory item remove SupportRecall customer-tier --path "<AGENT_PROJECT_
|
|
|
138
140
|
|
|
139
141
|
For discovery, retrieval settings, memory item types, and troubleshooting, see [capabilities/memory/memory.md](capabilities/memory/memory.md).
|
|
140
142
|
|
|
143
|
+
### `uip agent debug`
|
|
144
|
+
|
|
145
|
+
Run the agent end-to-end on Studio Web and stream the result. **Uploads the enclosing solution** to Studio Web, then runs it — one step, no separate `uip solution upload`, so the debugged copy always matches local. **Executes the agent for real** — confirm with the user first (per [critical-rules.md](critical-rules.md) Rule 8: consent before upload/publish/deploy).
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
uip agent debug <AGENT_PROJECT_DIR> --inputs '{"input":"..."}' --output json
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
Returns `Code: "AgentDebug"` with `Data.State`, `Data.Output`, and `Data.TraceId`. A `Faulted` run returns `Result: "Failure"` (exit 1); inspect it with `uip traces spans get <TraceId> --output json`. Full options and reporting in [debug.md](debug.md).
|
|
152
|
+
|
|
141
153
|
## Solution Commands
|
|
142
154
|
|
|
143
155
|
### Create Solution
|
|
@@ -148,10 +160,16 @@ uip solution init "<SOLUTION_NAME>" --output json
|
|
|
148
160
|
|
|
149
161
|
### Register Project with Solution
|
|
150
162
|
|
|
151
|
-
`uip agent init` **auto-registers** the project with the parent `.uipx` when run from inside a solution directory. Verify via `Data.SolutionRegistration.Status` in the `agent init` response
|
|
163
|
+
`uip agent init` **auto-registers** the project with the parent `.uipx` when run from inside a solution directory (pass `--skip-solution-registration` to skip auto-registration). Verify via `Data.SolutionRegistration.Status` in the `agent init` response. The full set of statuses:
|
|
164
|
+
|
|
165
|
+
- `Registered` / `AlreadyRegistered` — registered (added now / already present). **You are done.**
|
|
166
|
+
- `OptedOut` — `--skip-solution-registration` was passed; registration was intentionally skipped. No action needed (register later with the fallback if you change your mind).
|
|
167
|
+
- `NotInSolution` — no parent `.uipx` was found (`init` ran outside a solution). Use the fallback if you want it in a solution.
|
|
168
|
+
- `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.
|
|
169
|
+
- `Failed` — registration was attempted but errored (`.uipx` read/parse/write). Use the fallback.
|
|
152
170
|
|
|
153
171
|
```bash
|
|
154
|
-
# Fallback
|
|
172
|
+
# Fallback — when Status is NotInSolution / Skipped / Failed (not needed for OptedOut).
|
|
155
173
|
uip solution project add "<AGENT_PROJECT_DIR>" [solutionFile] --output json
|
|
156
174
|
```
|
|
157
175
|
|
|
@@ -217,16 +235,16 @@ uip solution bundle . -d ./dist --output json
|
|
|
217
235
|
|
|
218
236
|
## Resource Discovery
|
|
219
237
|
|
|
220
|
-
`uip solution
|
|
238
|
+
`uip solution resources list` queries the Resource Catalog Service for all resources visible to the tenant and returns a compact JSON list. Use it as the first step of any tool-authoring flow — it replaces `uip or folders list` and `uip or processes list`, and covers Action Center apps and Context Grounding indexes too.
|
|
221
239
|
|
|
222
240
|
Two supported invocations:
|
|
223
241
|
|
|
224
242
|
```bash
|
|
225
243
|
# Local (in-solution): --kind and --search not allowed.
|
|
226
|
-
uip solution
|
|
244
|
+
uip solution resources list --solution-folder <SOLUTION_DIR> --source local --output json
|
|
227
245
|
|
|
228
246
|
# Remote (Orchestrator / RCS): --kind and --search supported.
|
|
229
|
-
uip solution
|
|
247
|
+
uip solution resources list --solution-folder <SOLUTION_DIR> --source remote [--kind <kind>] [--search <term>] --output json
|
|
230
248
|
```
|
|
231
249
|
|
|
232
250
|
**Flags:**
|
|
@@ -264,7 +282,7 @@ uip solution resource list [solutionPath] --source remote [--kind <kind>] [--sea
|
|
|
264
282
|
| `Connection` | `uipath-<connector-key>` | Integration Service connection — the `Type` IS the connector key |
|
|
265
283
|
| `Bucket` | `orchestratorBucket` | Orchestrator storage bucket |
|
|
266
284
|
|
|
267
|
-
**What `
|
|
285
|
+
**What `resources list` does not return:** argument schemas, action schemas, data source types, authentication details, package versions, or feed ids. For `Process` and `Index` resources, follow up with `uip solution resources get <KEY> --output json` and read `Data.spec` for the full configuration. For other kinds (`App`, `Connection`, `Bucket`), see the kind-specific capability files. `resources list` is the identification step — it tells you *that* a resource exists and *where*.
|
|
268
286
|
|
|
269
287
|
## End-to-End Example — New Standalone Agent
|
|
270
288
|
|
|
@@ -297,7 +315,8 @@ uip solution init "<SOLUTION_NAME>" --output json
|
|
|
297
315
|
# `Data.SolutionRegistration.Status` in the response (`Registered` or
|
|
298
316
|
# `AlreadyRegistered`).
|
|
299
317
|
uip agent init "<SOLUTION_NAME>/<AGENT_NAME>" --output json
|
|
300
|
-
# (fallback only — run if Data.SolutionRegistration.Status is Skipped / Failed
|
|
318
|
+
# (fallback only — run if Data.SolutionRegistration.Status is `NotInSolution` / `Skipped` / `Failed`;
|
|
319
|
+
# `OptedOut` means `--skip-solution-registration` was passed and registration was skipped on purpose)
|
|
301
320
|
# uip solution project add "<SOLUTION_NAME>/<AGENT_NAME>" --output json
|
|
302
321
|
```
|
|
303
322
|
|
|
@@ -316,8 +335,8 @@ Read [agent-definition.md](agent-definition.md) for the full schema.
|
|
|
316
335
|
|
|
317
336
|
1. Add fields to `agent.json` → `inputSchema` and `outputSchema`
|
|
318
337
|
2. Mirror in `entry-points.json`
|
|
319
|
-
3.
|
|
320
|
-
4.
|
|
338
|
+
3. Refresh (writes migrated files + regenerates `entry-points.json` and `bindings_v2.json`): `uip agent refresh "<SOLUTION_NAME>/<AGENT_NAME>" --output json`
|
|
339
|
+
4. Validate: `uip agent validate "<SOLUTION_NAME>/<AGENT_NAME>" --output json`
|
|
321
340
|
|
|
322
341
|
### Step 5 — Publish to Studio Web or deploy to Orchestrator
|
|
323
342
|
|
|
@@ -386,18 +405,19 @@ All solution lifecycle operations go through `uip solution` CLI. Never call Auto
|
|
|
386
405
|
| Create solution | `uip solution init "<NAME>" --output json` | Any directory | — |
|
|
387
406
|
| Scaffold agent | `uip agent init "<NAME>" --output json` | Solution directory | — |
|
|
388
407
|
| Scaffold inline agent | `uip agent init "<FLOW_PROJECT_DIR>" --inline-in-flow --output json` | Any directory | — |
|
|
389
|
-
| Verify project registration | Check `Data.SolutionRegistration.Status` from `agent init` response (`Registered` / `AlreadyRegistered` = done) | Solution directory | — |
|
|
390
|
-
| Register project (fallback) | `uip solution project add "<PATH>" --output json` —
|
|
391
|
-
|
|
|
392
|
-
|
|
|
393
|
-
|
|
|
408
|
+
| Verify project registration | Check `Data.SolutionRegistration.Status` from `agent init` response (`Registered` / `AlreadyRegistered` = done; `OptedOut` = `--skip-solution-registration` passed) | Solution directory | — |
|
|
409
|
+
| Register project (fallback) | `uip solution project add "<PATH>" --output json` — when `agent init` returned `NotInSolution` / `Skipped` / `Failed` | Solution directory | — |
|
|
410
|
+
| Refresh + regenerate derived files | `uip agent refresh [path] --output json` | Agent dir or any with path | — |
|
|
411
|
+
| Validate (strict read-only) | `uip agent validate [path] --output json` | Agent dir or any with path | — |
|
|
412
|
+
| Debug / run end-to-end on Studio Web | `uip agent debug <AgentDir> --inputs '{...}' --output json` | Agent dir | `Successful`, `Faulted`, `Stopped` |
|
|
413
|
+
| Add memory space feature | `uip agent memory add <FeatureName> --memory-space <Name> --folder-path <Folder> --path <AgentDir> --output json` | Any directory | Writes `features/<FeatureName>/feature.json`; run refresh/validate after |
|
|
394
414
|
| Seed memory item | `uip agent memory item add <FeatureName> <key> <value> --memory-type episodic --feedback-id <FEEDBACK_ID> --path <AgentDir> --output json` | Any directory | Updates existing item with same key |
|
|
395
415
|
| List guardrail validators | `uip agent guardrails list --output json` | Any directory | — |
|
|
396
|
-
| Discover resources | `uip solution
|
|
397
|
-
| Refresh resources | `uip solution
|
|
398
|
-
| Add one resource (local stub or remote import) | `uip solution
|
|
399
|
-
| Remove one resource by key | `uip solution
|
|
400
|
-
| Edit one resource's spec | `uip solution
|
|
416
|
+
| Discover resources | `uip solution resources list --kind <Kind> --source remote [--search <term>] --output json` | Solution directory | — |
|
|
417
|
+
| Refresh resources | `uip solution resources refresh --output json` | Solution directory | — |
|
|
418
|
+
| Add one resource (local stub or remote import) | `uip solution resources add --source local\|remote --kind <Kind> --name <NAME> [--folder-path <FOLDER>] --output json` | Solution directory | Idempotent on `(kind, name, folder)` for local, on key for remote |
|
|
419
|
+
| Remove one resource by key | `uip solution resources remove <KEY> --output json` | Solution directory | Offline; doesn't touch `bindings_v2.json` |
|
|
420
|
+
| Edit one resource's spec | `uip solution resources edit <KEY> --patch '{...}' --output json` | Solution directory | Only command that mutates an existing resource; `refresh` never overwrites. Unknown/reference/read-only props silently ignored. JSON is the only input — types preserved verbatim |
|
|
401
421
|
| Upload to Studio Web | `uip solution upload . --output json` | Solution directory | — |
|
|
402
422
|
| Pack | `uip solution pack . ./dist -v "1.0.0" --output json` | Solution directory | — |
|
|
403
423
|
| Publish | `uip solution publish ./dist/<PKG>.zip --output json` | Any directory | — |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Solution Resources Internals
|
|
2
2
|
|
|
3
|
-
Solution architecture, UUID cross-references, bindings, debug_overwrites, and `uip solution
|
|
3
|
+
Solution architecture, UUID cross-references, bindings, debug_overwrites, and `uip solution resources refresh` mechanics. Capability-agnostic — every capability that produces solution-level files relies on the patterns documented here.
|
|
4
4
|
|
|
5
5
|
## Solution Architecture
|
|
6
6
|
|
|
@@ -130,11 +130,11 @@ bucket/orchestratorBucket/... │
|
|
|
130
130
|
|
|
131
131
|
## Bindings
|
|
132
132
|
|
|
133
|
-
`uip agent
|
|
133
|
+
`uip agent refresh` reads each `resources/{Name}/resource.json` and `features/{Name}/feature.json`, then writes one binding entry per external dependency into `bindings_v2.json`. Every binding carries `name`; **Process, Index, App, and MemorySpace bindings also carry `folderPath`** propagated verbatim from the agent-level resource or feature. Connection bindings are exempt (bound by `connection.id`). `uip agent validate` performs the same read-only check without writing — it fails with `AgentValidationOutdated` if the file is behind.
|
|
134
134
|
|
|
135
135
|
| Binding kind | `name` source | `folderPath` source | Notes |
|
|
136
136
|
|---|---|---|---|
|
|
137
|
-
| `process` (local or external) | `properties.processName` | `properties.folderPath` (literal `Folder` from `uip solution
|
|
137
|
+
| `process` (local or external) | `properties.processName` | `properties.folderPath` (literal `Folder` from `uip solution resources list` — typically `"solution_folder"` for local, Orchestrator path for external) | One per process tool |
|
|
138
138
|
| `index` | `indexName` | top-level `folderPath` (literal `Folder`) | StorageBucket-backed only |
|
|
139
139
|
| `app` (escalation) | `channel.properties.appName` | `channel.properties.folderName` (literal `Folder`, translated to binding `folderPath`) | One per Action Center channel |
|
|
140
140
|
| `app` (guardrail escalation) | `action.app.name` | `action.app.folderName` (literal `Folder`, translated to binding `folderPath`) | One per `$actionType: "escalate"` guardrail action |
|
|
@@ -155,7 +155,7 @@ bucket/orchestratorBucket/... │
|
|
|
155
155
|
```
|
|
156
156
|
|
|
157
157
|
```jsonc
|
|
158
|
-
// External tool — literal Folder from `uip solution
|
|
158
|
+
// External tool — literal Folder from `uip solution resources list`
|
|
159
159
|
{
|
|
160
160
|
"resource": "process",
|
|
161
161
|
"key": "TestRPA",
|
|
@@ -220,9 +220,9 @@ bucket/orchestratorBucket/... │
|
|
|
220
220
|
|
|
221
221
|
The `solutionsSupport: "true"` metadata flag signals to the deployment engine that this resource participates in the solution deployment.
|
|
222
222
|
|
|
223
|
-
> **Note 1: `solutionsSupport` is a stringified boolean** (`"true"`, not `true`). `uip agent
|
|
223
|
+
> **Note 1: `solutionsSupport` is a stringified boolean** (`"true"`, not `true`). `uip agent refresh` and `uip solution resources refresh` emit the string form — preserve it verbatim when round-tripping. Re-typing it as a JSON boolean breaks downstream parsing.
|
|
224
224
|
>
|
|
225
|
-
> **Note 2: do not hand-edit `bindings_v2.json`.** The binding's `folderPath` is generated from the agent-level `resource.json` or memory feature file. Edit the resource.json, or use `uip agent memory` for memory features, then re-run `uip agent
|
|
225
|
+
> **Note 2: do not hand-edit `bindings_v2.json`.** The binding's `folderPath` is generated from the agent-level `resource.json` or memory feature file. Edit the resource.json, or use `uip agent memory` for memory features, then re-run `uip agent refresh`; never patch the binding directly. See [critical-rules.md](critical-rules.md) Anti-pattern 20 and 24.
|
|
226
226
|
|
|
227
227
|
## Debug Overwrites
|
|
228
228
|
|
|
@@ -263,14 +263,14 @@ For capability-specific debug_overwrites entries (process / connection / index /
|
|
|
263
263
|
## Refresh Mechanics
|
|
264
264
|
|
|
265
265
|
```bash
|
|
266
|
-
uip solution
|
|
266
|
+
uip solution resources refresh [solutionPath] --output json
|
|
267
267
|
```
|
|
268
268
|
|
|
269
269
|
Re-scans all projects in the solution and syncs resource declarations from their `bindings_v2.json` files. For each external binding, refresh uses the **joint key `(name, kind, folderPath)`** read from the binding to look up the matching resource in the appropriate catalog — Resource Catalog Service for `Process`, `App`, and `MemorySpace` bindings, ECS for `Index` bindings, the local IS connection cache for `Connection` bindings. The folder dimension disambiguates resources that share a name across folders. If no match is found, refresh creates a virtual placeholder in the solution and warns.
|
|
270
270
|
|
|
271
271
|
Solution-internal bindings (`folderPath: "solution_folder"`) skip the RCS lookup — they are resolved at deploy time against the solution folder.
|
|
272
272
|
|
|
273
|
-
**Run this after `uip agent
|
|
273
|
+
**Run this after `uip agent refresh`** whenever external tools, memory spaces, index contexts, app escalations, or connections have been added or changed.
|
|
274
274
|
|
|
275
275
|
Handled kinds and what refresh produces:
|
|
276
276
|
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: uipath-api-workflow
|
|
3
|
-
description: "
|
|
3
|
+
description: "UiPath API Workflow assistant — author, run, package, publish JSON workflows executed by `uip api-workflow run`. Covers logical/hierarchical structure (Sequence, Assign, JavaScript, If with #Wrapper/#Then/#Else, ForEach, DoWhile, Break, TryCatch, Wait, Response — including nested patterns) AND HTTP / Integration Service connector activities (Gmail, Outlook, GitHub, Slack, etc.) authored via `uip api-workflow registry resolve` + `stub`. Triggers on prompts about UiPath API workflows, project type \"Api\", JSON workflow files containing `document.dsl`/`do[]`, any of those activity types, or fetching data from a public/vendor API. Uses `uip api-workflow run` for local execution and `uip solution pack`/`publish` for deployment. 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
|
|
|
7
7
|
# UiPath API Workflow Assistant
|
|
8
8
|
|
|
9
|
-
> **Preview** — this skill is in preview. Behavior, file shapes, and rules may change as the underlying executor and StudioWeb roundtrip story evolve.
|
|
10
|
-
|
|
11
9
|
Build, run, and publish UiPath API Workflows — JSON files conforming to the CNCF Serverless Workflow DSL 1.0.0 with UiPath activity-type extensions. Executed by `@uipath/api-workflow-executor` via `uip api-workflow run`. Packaged as `Type: "Api"` projects via `uip solution pack`.
|
|
12
10
|
|
|
13
11
|
## When to Use This Skill
|
|
@@ -25,17 +23,19 @@ Build, run, and publish UiPath API Workflows — JSON files conforming to the CN
|
|
|
25
23
|
|
|
26
24
|
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`).
|
|
27
25
|
|
|
28
|
-
**Connector activities come from the registry, not from guessing.** HTTP Request and Integration Service Connector activities (Gmail Send Email, Outlook Get Newest Email, etc.) need StudioWeb-side editor metadata (`metadata.uiPathActivityTypeId` + `metadata.configuration`) to render correctly in the designer. The data is NOT in `uip is activities list`. Use `uip api-workflow registry resolve` + `uip api-workflow registry stub`: `resolve` searches the StudioWeb TypeCache (`projectType=Api`) for candidate GUIDs; `stub` combines the TypeCache entry with the Integration Service Elements schema (full endpoint path, request/response fields, multipart signal) and emits a ready-to-paste activity object — picking Http kind (`UiPath.Http`) or IntSvc kind (`UiPath.IntSvc`) automatically, building `metadata.configuration`, computing the slot and export-bucket keys, and declaring `multipartParameters` when needed. Follow the flow in [references/connector-activity-discovery.md](references/connector-activity-discovery.md). **NEVER invent a `uiPathActivityTypeId` or hand-author the configuration blob** — both come from the stub output.
|
|
29
|
-
|
|
30
26
|
## Core Principles
|
|
31
27
|
|
|
32
28
|
1. **Know before you write.** Read the existing workflow file before editing. Read an example template before creating from scratch.
|
|
33
29
|
2. **Start minimal, iterate to correct.** Add one activity at a time. Run with `--no-auth --output json` after each addition. Fix what breaks. Repeat.
|
|
34
|
-
3. **Validate before running.** `uip api-workflow validate
|
|
30
|
+
3. **Validate before running.** `uip api-workflow validate` is the offline static pre-flight (autonomous); `uip api-workflow run` is the runtime validator that catches what static analysis can't (live HTTP, expression evaluation, connection state) and needs user consent. See rules 20–21.
|
|
35
31
|
4. **Fix errors by category.** Triage: Structure > Expression > Activity Config > Logic. Higher-category fixes often resolve lower-category errors automatically.
|
|
36
32
|
|
|
37
33
|
## Critical Rules
|
|
38
34
|
|
|
35
|
+
> **Rule 0 — Escalate big design forks before you build (highest priority, read first).** When the happy path doesn't work out of the box and the resolution is a judgment call the user would reasonably want to own, STOP and ask before committing to a branch. Present the concrete options with their trade-offs and a recommended default; proceed only on the user's answer. Triggers (non-exhaustive): no valid connection for a required activity (rule 16); no curated activity exists and the choice is generic activity vs. raw Http kind vs. a different connector; the requested operation isn't exposed by any resolvable activity and the fallback is a hand-built HTTP call against an undocumented endpoint; an input the prompt assumed is missing and the alternatives are placeholder, hardcoded value, or new workflow input; the prompt is satisfiable by structurally different workflows (single connector call vs. ForEach over a list). This does NOT cover mechanical choices with an obvious answer (variable names, activity key suffixes, export-pattern selection) — decide those and move on. Reserve escalation for forks where guessing wrong wastes work or ships something the user didn't intend.
|
|
36
|
+
>
|
|
37
|
+
> **Ask the fork BEFORE branch-specific research, not after.** Once you spot a structural fork, do only the shared work needed to surface the options (the cheap `resolve` that proves no curated activity exists, the `connections list`/`ping` that proves no connection works), then ask. Do NOT pre-research every branch — stubbing each candidate activity, describing resources, drafting alternative workflow shapes — so the user can "pick from finished work." The user picks one branch; deep work on the others is thrown away. Sequence: detect fork → minimal shared discovery → ask → then research and build only the chosen branch.
|
|
38
|
+
|
|
39
39
|
1. **Workflow file is JSON, not YAML.** Top-level keys: `document` (with `dsl: "1.0.0"`), `evaluate` (`language: "javascript"`, `mode: "strict"`), `do` (one root sequence — named `Sequence_1` in the template skeleton, but the literal key may differ in existing workflows; always read the actual key from the file before editing — containing `WorkflowStart` + user activities). See [references/workflow-file-format.md](references/workflow-file-format.md).
|
|
40
40
|
2. **`WorkflowStart` is always the first activity** inside the root sequence's `do` array. It hydrates variable defaults into `$context.variables` and forwards inputs to `$input`. Never remove, rename, or modify it. `isTransparent: true` (only `WorkflowStart` uses `true`).
|
|
41
41
|
3. **Every activity is a single-key object** wrapped in the `do` array: `{ "<ActivityKey>": { ...activity body... } }`. Activity keys must be **globally unique** across the whole workflow — including `#Wrapper`, `#Then`, `#Else`, `#Body` suffixes.
|
|
@@ -63,24 +63,15 @@ Do NOT use for: `.flow` Maestro flows (→ `uipath-maestro-flow`), `.xaml` / cod
|
|
|
63
63
|
- 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
64
|
- For single-value responses (returning one variable or one expression), the simple form is fine: `"response": "${$context.outputs.Javascript_1}"` or `"response": "${'done'}"`.
|
|
65
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 SW-28452 ships a fix, treat the file on disk as truth, not what the designer renders.
|
|
66
|
-
16. **Connector activities (
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
7. **(Solutions-mode + IntSvc kind only) Sync the connection into the Solution catalogue.** When the project lives under a `Solution/` tree, every vendor connection used by an IntSvc kind activity MUST also be declared as a Solution resource (`Solution/resources/solution_folder/connection/<connector-key>/<name>.json`) AND registered in the per-user debug overwrites (`Solution/userProfile/<guid>/debug_overwrites.json`). Without both, StudioWeb's properties panel marks the activity with **"to debug this resource, select a connection for it from the resource definition page"**, and clicking the activity overwrites `with.connectionId` with `null` in `Workflow.json` (the runtime resolves from `Workflow.json`; the panel resolves from the Solution resource tree + debug overwrites, which is why "Run" works but the panel breaks). The two-step CLI flow: (a) `uip api-workflow bindings sync --workflow <Workflow.json>` — generates `bindings_v2.json` next to the workflow (the input StudioWeb normally produces in-memory on open). (b) `uip solution resource refresh --solution-folder <path>` — reads every project's `bindings_v2.json`, uses `@uipath/resource-builder-sdk` to write both the catalogue file and the per-user debug overwrites via `editOverwritesAsync`. Idempotent and additive: run after every Workflow.json edit that adds/changes a connection. **SKIP this step entirely for:** (a) Http kind activities (`call: "UiPath.Http"`, `connectionId: "ImplicitConnection"` — literal sentinel, not a real connection), (b) non-connector activities (Sequence/Assign/If/ForEach/TryCatch/Wait/Response — no connectionId at all), (c) standalone projects with a top-level `project.json` and no `Solution/` wrapper. See [connector-activity-discovery.md — Step 5](references/connector-activity-discovery.md#step-5--solutions-mode-intsvc-kind-sync-the-connection-into-the-solution-catalogue).
|
|
76
|
-
|
|
77
|
-
**Field-shape rules — must hold across edits, not just at stub time. Violating any silently drops data on the first StudioWeb save:**
|
|
78
|
-
- **(a) Flat dotted keys.** Connector field names like `message.toRecipients` are literal keys, NOT paths. `"message.toRecipients": "..."`, NOT `{ message: { toRecipients: "..." } }`. Nested objects are dropped.
|
|
79
|
-
- **(b) Literals are BARE in connector params.** Plain `"andrei@uipath.com"`, NOT `"${'andrei@uipath.com'}"`. The Assign / Response wrap rule (rule 5) is **inverted** here — `${'...'}` reads as a (broken) expression and the field clears on save. References (`${$context.variables.X}`) stay wrapped because they're real expressions.
|
|
80
|
-
- **(c) Use `Data.SlotKey` and `Data.ExportBucketKey` from the stub verbatim.** Connector activities are the only activity type where the slot key (in the `do` array) and the export-bucket key (what `$context.outputs.<X>` reads as) can differ. The stub computes both; never derive either by hand from `objectName`. The two are sometimes identical (e.g. Outlook `ListEmails` → both `ListEmails_1`) and sometimes different (e.g. HTTP → `HttpRequest_1` slot vs `http_request_1` bucket).
|
|
81
|
-
- **(d) Endpoint may include a hub prefix.** Outlook `send-mail-v2` → `/hubs/productivity/send-mail-v2`. The stub fills the full path from IS Elements; don't truncate.
|
|
82
|
-
|
|
83
|
-
See [references/connector-activity-discovery.md](references/connector-activity-discovery.md) for the full flow, sample `stub` output, and worked examples (Http kind HTTP Request, IntSvc kind GetNewestEmail, IntSvc kind multipart SendEmail).
|
|
66
|
+
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
|
+
- **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
|
+
- **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. On failure, try the unfiltered `uip is connections list` fallback and re-ping a different `Id` for that `ConnectorKey`.
|
|
69
|
+
- **No connection pings cleanly → STOP and ask the user — do not decide alone.** Offer: **(a)** continue with a placeholder (stub without `--connection-id`, leaving the `<REPLACE_WITH_VENDOR_CONNECTION_UUID>` sentinel — workflow is structurally complete but 401s until replaced; only with explicit user consent), or **(b)** stop and wait for the user to create/fix the connection, then re-ping. Never silently emit the placeholder, never silently abort. (Instance of Rule 0 — escalate design forks.)
|
|
70
|
+
- **NEVER ship a `<REPLACE_WITH_*>` placeholder** in `with.connectionId` / `connectionResourceId` / Http `bodyParameters.url`. StudioWeb renders it as a broken connection and the workflow 401s. The placeholder is a sentinel for "re-stub with the real value," not a fill-in-later field.
|
|
71
|
+
- **After every stub, cross-check required fields** — the stub drops `required: true` request fields (e.g. Outlook `getNewestEmail` needs `parentFolderId`). Confirm via `uip is resources describe ... --operation <op>` or the stub's own `metadata.configuration` inputFields; re-stub with `--inputs` if missing.
|
|
72
|
+
- **Connector params use flat dotted keys and BARE literals.** `"message.toRecipients": "..."`, not nested objects; plain `"x@y.com"`, not `"${'x@y.com'}"` — rule 5's wrap is **inverted** here (`${'...'}` clears the field on save). Real references (`${$context...}`) stay wrapped.
|
|
73
|
+
- **NEVER use Http kind with a vendor connection UUID** (401 "Invalid Element token"). IntSvc output is wrapped: read `$context.outputs.<ExportBucketKey>.content.<field>`.
|
|
74
|
+
- **(Solutions-mode + IntSvc only)** sync the connection into the catalogue: `uip api-workflow bindings sync --workflow <Workflow.json>` then `uip solution resource refresh --solution-folder <path>`. Skip for Http kind, non-connector activities, and standalone (no `Solution/`) projects.
|
|
84
75
|
17. **Pass input as a JSON string.** `--input-arguments '{"key":"value"}'`. Invalid JSON exits 1.
|
|
85
76
|
18. **Always `--output json`** when parsing CLI output programmatically. Success → `{ "Result": "Success", "Code": "WorkflowRun", "Data": {...} }`. Failure → `{ "Result": "Failure", "Message": "...", "Instructions": "..." }` with exit 1.
|
|
86
77
|
19. **Build & publish goes through the solution packager.** API workflows pack via `uip solution pack <solutionDir> <outputDir>` and publish via `uip solution publish <package.zip>`. There is no `uip api-workflow build` or `uip api-workflow publish` command. Project type must be `"Api"` in the solution `.uipx`.
|
|
@@ -132,8 +123,9 @@ Decide which activities to use and in what order.
|
|
|
132
123
|
| Pause execution | **Wait** | `wait.seconds`/`minutes`/`milliseconds` |
|
|
133
124
|
| Exit loop early | **Break (in If)** | Wrap Break in an If — there's no "break when" condition on Break itself. `break: "true"` (string!), `then: "exit"`, `set: "${$input}"` |
|
|
134
125
|
| Exit nested loops | **Flag variable + Break twice** | Set a flag in inner loop, check + Break in outer — see [control-flow-patterns.md](references/control-flow-patterns.md#5-conditional-break-inside-a-loop) |
|
|
135
|
-
| Call an arbitrary REST API (catfacts, stock prices, weather, any public/internal
|
|
136
|
-
| Call a vendor service via its UiPath connection (Gmail, Outlook, GitHub, Slack,
|
|
126
|
+
| Call an arbitrary REST API (catfacts, stock prices, weather, any public/internal endpoint) | **Unified HTTP Request** (`call: "UiPath.Http"`, Http kind) | `connectionId: "ImplicitConnection"`. NEVER `call: "http"` (block icon). Via rule 16's flow. |
|
|
127
|
+
| Call a vendor service via its UiPath connection (Gmail, Outlook, GitHub, Slack, …) | **Vendor curated activity** (`call: "UiPath.IntSvc"`, IntSvc kind) | Needs a pinged connection UUID. Via rule 16's flow. |
|
|
128
|
+
| CRUD a connector object that has no curated activity | **Generic activity** (`ActivityType: "Generic"` in resolve output — "List Records", "Get Record", …; IntSvc kind) | Add `--object-name <object>` (from `uip is resources list`) to the stub. Prefer a curated activity when one exists. Via rule 16's flow. |
|
|
137
129
|
|
|
138
130
|
Before generating, determine:
|
|
139
131
|
1. Which activities are needed and in what order
|
|
@@ -162,51 +154,22 @@ Workflow skeleton:
|
|
|
162
154
|
|
|
163
155
|
### Phase 3: Validate (static) then Run (with consent)
|
|
164
156
|
|
|
165
|
-
|
|
157
|
+
Validate autonomously (rule 20), fixing + re-validating until `Data.Status: "Valid"`:
|
|
166
158
|
|
|
167
159
|
```bash
|
|
168
160
|
uip api-workflow validate ./my-workflow.json --output json
|
|
169
161
|
```
|
|
170
162
|
|
|
171
|
-
|
|
172
|
-
- **Validate fails** (`Result: "Failure"`, exit 1) — do NOT bother the user. Read the `Instructions` field, locate the offending activity by its JSON path, fix Workflow.json, re-validate. Loop until pass. Focus on the **semantic-tail errors** (prose messages like "Unknown activityType", "must contain a 'do' with inner 'switch'") — schema-level `oneOf` errors are noisy fanout; one semantic fix usually clears a dozen schema errors at once.
|
|
173
|
-
|
|
174
|
-
Once validate is green, **ask the user before running anything** (Critical Rule 21). The choice has real consequences:
|
|
163
|
+
Once green, **ask before running** (rule 21) — pick the mode from workflow content:
|
|
175
164
|
|
|
176
165
|
| Mode | Flag | What happens | Use when |
|
|
177
166
|
|--|--|--|--|
|
|
178
|
-
| No-auth | `--no-auth` | Skips token loading. Structure / expressions / control flow validated. IntSvc
|
|
179
|
-
| With auth | (none) | Uses the
|
|
180
|
-
|
|
181
|
-
Phrase the question explicitly, with a recommended default. Examples:
|
|
182
|
-
|
|
183
|
-
- Control-flow workflow: "Validate passed. Run with `--no-auth` to exercise the activity tree? (Y/n)"
|
|
184
|
-
- IntSvc kind workflow: "Validate passed. The workflow contains a IntSvc kind Outlook send-mail-v2 call — running with auth WILL send a real email to `<recipient>`. Options: (1) skip run, (2) run `--no-auth` (fails at the connector call but exercises everything before it), (3) run with auth and send the email. Which?"
|
|
185
|
-
|
|
186
|
-
Wait for the user's reply. Then run the chosen command:
|
|
167
|
+
| No-auth | `--no-auth` | Skips token loading. Structure / expressions / control flow validated. IntSvc vendor calls fail with a missing-token error. | Control-flow-only, OR Http kind with `connectionId: "ImplicitConnection"`. Default for most iterations. |
|
|
168
|
+
| With auth | (none) | Uses the `uip login` token. Real Integration Service calls — vendor side effects happen. | An IntSvc vendor activity AND the user confirmed the real call is OK (email sent, ticket created, file uploaded). |
|
|
187
169
|
|
|
188
|
-
|
|
189
|
-
# User picked --no-auth:
|
|
190
|
-
uip api-workflow run ./my-workflow.json --no-auth --output json
|
|
191
|
-
|
|
192
|
-
# User confirmed running with auth (uip login required):
|
|
193
|
-
uip api-workflow run ./my-workflow.json --output json
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
If the user picks "skip," tell them the exact command to run themselves and stop.
|
|
170
|
+
State the consequence in the question (e.g. "running with auth WILL send a real email to `<recipient>` — (1) skip, (2) `--no-auth`, (3) run with auth?"), wait for the reply, then run `uip api-workflow run ./my-workflow.json [--no-auth] --output json`. If the user skips, give them the exact command and stop.
|
|
197
171
|
|
|
198
|
-
**
|
|
199
|
-
- `Message` describes the error
|
|
200
|
-
- `Instructions` often contains the fix
|
|
201
|
-
- Exit code: `0` = success, `1` = failure
|
|
202
|
-
|
|
203
|
-
**Fix in this order** (higher categories often resolve lower ones):
|
|
204
|
-
1. **Structure** — missing `#Wrapper`/`#Body`, duplicate keys, malformed JSON, missing `WorkflowStart`
|
|
205
|
-
2. **Expression** — missing `${...}`, unwrapped condition, undefined references
|
|
206
|
-
3. **Activity Config** — wrong required fields, wrong export key casing, missing `then: "end"` on Response
|
|
207
|
-
4. **Logic** — wrong behavior, infinite loops, unreachable code
|
|
208
|
-
|
|
209
|
-
See [references/troubleshooting.md](references/troubleshooting.md) for the full pitfall catalog.
|
|
172
|
+
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).
|
|
210
173
|
|
|
211
174
|
### Phase 4: Package and Publish
|
|
212
175
|
|
|
@@ -276,32 +239,18 @@ uip solution publish ./build/MyApiSolution.zip --tenant MyTenant --output json
|
|
|
276
239
|
| [assets/templates/loop-aggregation-example.json](assets/templates/loop-aggregation-example.json) | DoWhile + ForEach + Assign accumulation — pure-compute aggregation pattern |
|
|
277
240
|
| [assets/templates/nested-control-flow-example.json](assets/templates/nested-control-flow-example.json) | Heavy nesting demo — TryCatch around DoWhile around If with conditional Break |
|
|
278
241
|
| [assets/templates/connector-call-example.json](assets/templates/connector-call-example.json) | **Http kind** — HTTP Request curated activity (`call: "UiPath.Http"`) for arbitrary REST calls. Generated by `registry stub` against the catfacts URL. Shows the canonical shape: `connectionId: "ImplicitConnection"`, `unifiedTypesCompatible: true`, `savedJitInputFieldId: "in_http-request"`, URL in `bodyParameters.url`. Verified end-to-end with `uip api-workflow run --no-auth`. |
|
|
279
|
-
| [assets/templates/vendor-curated-call-example.json](assets/templates/vendor-curated-call-example.json) | **IntSvc kind** — vendor curated activity (`call: "UiPath.IntSvc"`) using Outlook GetNewestEmail as exemplar. The `<REPLACE_WITH_VENDOR_CONNECTION_UUID>` placeholder is a sentinel — replace it with a pinged UUID from `uip is connections list/ping` **before** writing the workflow to disk. StudioWeb renders the literal placeholder as a broken connection if it survives. See rule 16
|
|
242
|
+
| [assets/templates/vendor-curated-call-example.json](assets/templates/vendor-curated-call-example.json) | **IntSvc kind** — vendor curated activity (`call: "UiPath.IntSvc"`) using Outlook GetNewestEmail as exemplar. The `<REPLACE_WITH_VENDOR_CONNECTION_UUID>` placeholder is a sentinel — replace it with a pinged UUID from `uip is connections list/ping` **before** writing the workflow to disk. StudioWeb renders the literal placeholder as a broken connection if it survives. See rule 16. |
|
|
280
243
|
| [assets/templates/solution-connection-resource-template.json](assets/templates/solution-connection-resource-template.json) | **Solution connection resource** — declares a IntSvc kind connection as a Solution resource. Write to `Solution/resources/solution_folder/connection/<connector-key>/<connection-name>.json`. Required for Solutions-mode projects; without it the StudioWeb properties panel flags the activity as having an invalid connection. |
|
|
281
244
|
|
|
282
245
|
## Anti-patterns
|
|
283
246
|
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
- **Do NOT** use
|
|
287
|
-
- **Do NOT**
|
|
288
|
-
- **Do NOT**
|
|
289
|
-
- **Do NOT**
|
|
290
|
-
- **Do NOT**
|
|
291
|
-
- **Do NOT** reuse activity keys across nested scopes. `If_1#Then` cannot appear in two Ifs even at different levels — increment to `If_2`. See [control-flow-patterns.md](references/control-flow-patterns.md#core-structural-rules).
|
|
292
|
-
- **Do NOT** reuse iteration variable names across nested loops. Inner `currentItem` shadows outer `currentItem`. Use distinct names per nesting level.
|
|
293
|
-
- **Do NOT** invent a `uiPathActivityTypeId` or hand-author the `metadata.configuration` blob for connector activities. Both must come from `uip api-workflow registry stub`. See [connector-activity-discovery.md](references/connector-activity-discovery.md).
|
|
294
|
-
- **Do NOT** use `call: "http"` (the deprecated simple form) when asked to fetch data from a public REST API (catfacts, stock prices, weather, …). It is the model's default fallback from training data, but StudioWeb's `restoreFromTaskItem` rejects it — the activity renders as a "block" icon. The correct form is `call: "UiPath.Http"` (Http kind), generated by `uip api-workflow registry resolve` + `stub`. See [connector-activity-discovery.md](references/connector-activity-discovery.md) and the verified template at [assets/templates/connector-call-example.json](assets/templates/connector-call-example.json).
|
|
295
|
-
- **Do NOT** nest `bodyParameters` fields for connector activities. `message.toRecipients` is a literal key, not a path. Nested `{ message: { toRecipients: ... } }` is wiped on save. See rule 16(a).
|
|
296
|
-
- **Do NOT** wrap connector `bodyParameters` / `queryParameters` literals as `${'literal'}` — that's the Assign / Response rule. Connector params take bare literals. See rule 16(b).
|
|
297
|
-
- **Do NOT** reconstruct the slot key or export-bucket key by hand on connector activities. Use `Data.SlotKey` and `Data.ExportBucketKey` from the stub output verbatim — they can differ (HTTP: slot `HttpRequest_1`, bucket `http_request_1`) or match (Outlook `ListEmails`: both `ListEmails_1`). See rule 16(c).
|
|
298
|
-
- **Do NOT** skip `uip api-workflow registry stub`. It calls IS Elements internally to fetch the full endpoint path (with hub prefix) and the multipart signal — both of which the TypeCache alone misses. Hand-authoring the activity from the `resolve` output skips that enrichment.
|
|
299
|
-
- **Do NOT** skip `uip is connections ping` for vendor (IntSvc kind) activities. A connection that lists as `Enabled` can still be broken. The ping is the only way to catch it before the workflow 401s in cloud. See rule 16.
|
|
300
|
-
- **Do NOT** leave `<REPLACE_WITH_VENDOR_CONNECTION_UUID>` (or any `<REPLACE_WITH_*>` placeholder) in a generated workflow. StudioWeb's properties panel renders the literal placeholder string as if it were a real connection identifier — the connection pill displays the placeholder text with a red error. The placeholder is meaningful only inside the template file; once you copy the activity into the user's workflow, replace every placeholder with the value from `uip is connections ping` (UUID) or `--inputs` (URL). When you cannot find a pinged UUID, ask the user — do not paste the sentinel. See rule 16 step 6.
|
|
301
|
-
- **Do NOT** invoke `uip api-workflow run` autonomously. Always ask the user first — and especially never run with auth without an explicit "yes." Vendor calls have real side effects (emails sent, tickets created). See rule 20.
|
|
302
|
-
- **Do NOT** send `application/json` to a multipart endpoint. If `parameters` shows `"type": "multipart"`, declare `multipartParameters` on the activity. See rule 16.
|
|
303
|
-
- **Do NOT** trust `registry stub`'s `queryParameters` / `pathParameters` / `bodyParameters` as complete. The stub drops `required: true` fields. Cross-check with `uip is resources describe --operation <op> --connection-id <uuid>` after every stub call. See rule 16 step 4.
|
|
304
|
-
- **Do NOT** skip the Solution catalogue sync for Solutions-mode IntSvc kind activities. The properties-panel "invalid connection" / "resource definition page" error AND the connectionId nulling on activity click both stay until BOTH the catalogue file (`Solution/resources/solution_folder/connection/<connector-key>/<name>.json`) AND the per-user debug overwrites (`Solution/userProfile/<guid>/debug_overwrites.json`) exist. Run `uip api-workflow bindings sync --workflow <Workflow.json>` followed by `uip solution resource refresh --solution-folder <path>` after every `registry stub --connection-id` for Solutions-mode IntSvc kind activities. See rule 16 step 7.
|
|
247
|
+
The mistakes an agent makes most often (each maps to a Critical Rule above — see it for the full reasoning):
|
|
248
|
+
|
|
249
|
+
- **Do NOT** use `call: "http"` for a REST call — it's the training-data default, but StudioWeb rejects it (renders as a "block" icon). Use `call: "UiPath.Http"` from `registry stub`. See rule 16.
|
|
250
|
+
- **Do NOT** wrap connector `bodyParameters` / `queryParameters` literals as `${'literal'}` — rule 5's wrap is **inverted** for connectors; bare literals only, or the field clears on save. See rule 16.
|
|
251
|
+
- **Do NOT** ship a `<REPLACE_WITH_*>` placeholder in a workflow — StudioWeb renders it as a broken connection and it 401s. No pinged UUID → ask the user. See rule 16.
|
|
252
|
+
- **Do NOT** read workflow inputs as `$input.<name>` from a non-first activity — use `$workflow.input.<name>`. See rule 13.
|
|
253
|
+
- **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.
|
|
305
254
|
|
|
306
255
|
## Infinite Loop Prevention
|
|
307
256
|
|