@uipath/skills 1.196.0 → 1.197.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 +5 -2
- package/CODEOWNERS +22 -7
- package/README.md +14 -1
- package/assets/skill-status.json +14 -1
- package/assets/uip-catalog-snapshot.json +13 -2
- package/hooks/hooks.json +12 -0
- package/hooks/send-telemetry.sh +445 -0
- package/hooks/suggest-permissions.sh +6 -0
- package/package.json +1 -1
- package/skills/uipath-admin/SKILL.md +24 -4
- package/skills/uipath-admin/references/audit-commands.md +25 -21
- package/skills/uipath-admin/references/audit-workflow-guide.md +26 -25
- package/skills/uipath-admin/references/diagnose/CAPABILITY.md +74 -0
- package/skills/uipath-admin/references/diagnose/references/failure-modes.md +228 -0
- package/skills/uipath-admin/references/diagnose/references/troubleshooting-guide.md +106 -0
- package/skills/uipath-admin/references/identity-troubleshoot-guide.md +251 -0
- package/skills/uipath-agents/SKILL.md +12 -8
- package/skills/uipath-agents/references/coded/capabilities/context-grounding.md +2 -0
- package/skills/uipath-agents/references/coded/capabilities/conversational-agents.md +2 -0
- package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails-recommend.md +12 -7
- package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails.md +141 -1
- package/skills/uipath-agents/references/coded/capabilities/human-in-the-loop.md +2 -0
- package/skills/uipath-agents/references/coded/capabilities/integration-service.md +19 -33
- package/skills/uipath-agents/references/coded/lifecycle/bindings-reference.md +54 -22
- package/skills/uipath-agents/references/coded/lifecycle/build.md +1 -0
- package/skills/uipath-agents/references/coded/lifecycle/evaluations/evaluation-sets.md +5 -1
- package/skills/uipath-agents/references/coded/lifecycle/setup.md +3 -1
- package/skills/uipath-agents/references/coded/quickstart.md +11 -10
- package/skills/uipath-agents/references/coded-vs-lowcode-guide.md +1 -0
- package/skills/uipath-agents/references/context-grounding-patterns.md +1 -1
- package/skills/uipath-agents/references/lowcode/agent-definition.md +97 -12
- 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 +40 -14
- package/skills/uipath-agents/references/lowcode/capabilities/built-in-tools/built-in-tools.md +4 -3
- package/skills/uipath-agents/references/lowcode/capabilities/built-in-tools/deeprag/impl-json.md +38 -6
- package/skills/uipath-agents/references/lowcode/capabilities/context/attachments.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 +7 -3
- package/skills/uipath-agents/references/lowcode/capabilities/escalation/escalation.md +49 -38
- package/skills/uipath-agents/references/lowcode/capabilities/guardrails/guardrails-recommend.md +3 -1
- package/skills/uipath-agents/references/lowcode/capabilities/guardrails/guardrails.md +49 -49
- package/skills/uipath-agents/references/lowcode/capabilities/inline-in-flow/inline-in-flow.md +34 -14
- package/skills/uipath-agents/references/lowcode/capabilities/integration-service/integration-service.md +1 -1
- package/skills/uipath-agents/references/lowcode/capabilities/memory/memory.md +2 -0
- package/skills/uipath-agents/references/lowcode/capabilities/process/process.md +2 -2
- package/skills/uipath-agents/references/lowcode/capabilities/process/solution-files.md +1 -1
- package/skills/uipath-agents/references/lowcode/critical-rules/autonomous-critical-rules.md +15 -0
- package/skills/uipath-agents/references/lowcode/critical-rules/conversational-critical-rules.md +19 -0
- package/skills/uipath-agents/references/lowcode/{critical-rules.md → critical-rules/critical-rules.md} +25 -27
- package/skills/uipath-agents/references/lowcode/debug.md +6 -3
- package/skills/uipath-agents/references/lowcode/evaluations/evaluate.md +2 -0
- package/skills/uipath-agents/references/lowcode/lowcode.md +29 -6
- package/skills/uipath-agents/references/lowcode/model-selection-guide.md +4 -1
- package/skills/uipath-agents/references/lowcode/project-lifecycle.md +20 -8
- package/skills/uipath-agents/references/lowcode/prompting/agent-prompting-guide.md +17 -0
- package/skills/uipath-agents/references/lowcode/{agent-prompting-guide.md → prompting/autonomous-agent-prompting-guide.md} +9 -11
- package/skills/uipath-agents/references/lowcode/prompting/conversational-agent-prompting-guide.md +123 -0
- package/skills/uipath-agents/references/lowcode/solution-resources.md +1 -1
- package/skills/uipath-api-workflow/SKILL.md +32 -12
- package/skills/uipath-api-workflow/references/cli-reference.md +110 -22
- package/skills/uipath-api-workflow/references/connector-activity-discovery.md +43 -4
- package/skills/uipath-api-workflow/references/troubleshooting.md +23 -7
- package/skills/uipath-api-workflow/references/workflow-file-format.md +25 -7
- package/skills/uipath-coded-apps/SKILL.md +55 -12
- package/skills/uipath-coded-apps/assets/fixtures/governance-dashboard-starter-kit.tar.gz +0 -0
- package/skills/uipath-coded-apps/assets/scripts/dashboards/build-dashboard.mjs +1371 -0
- package/skills/uipath-coded-apps/assets/scripts/dashboards/capability-registry.json +845 -0
- package/skills/uipath-coded-apps/assets/scripts/dashboards/flows/build.mjs +338 -0
- package/skills/uipath-coded-apps/assets/scripts/dashboards/flows/edit.mjs +248 -0
- package/skills/uipath-coded-apps/assets/scripts/dashboards/flows/template.mjs +82 -0
- package/skills/uipath-coded-apps/assets/scripts/dashboards/flows/upgrade.mjs +73 -0
- package/skills/uipath-coded-apps/assets/scripts/dashboards/lifecycle.mjs +207 -0
- package/skills/uipath-coded-apps/assets/scripts/dashboards/setup-admin-folder.mjs +146 -0
- package/skills/uipath-coded-apps/assets/scripts/dashboards/tests/regime-eject.test.mjs +124 -0
- package/skills/uipath-coded-apps/assets/scripts/dashboards/tests/resolution.test.mjs +1635 -0
- package/skills/uipath-coded-apps/assets/templates/action-app/app-template.css +9 -0
- package/skills/uipath-coded-apps/assets/templates/action-app/document-tab-template.css +139 -0
- package/skills/uipath-coded-apps/assets/templates/action-app/form-template.css +442 -0
- package/skills/uipath-coded-apps/assets/templates/action-app/index-template.css +111 -0
- package/skills/uipath-coded-apps/assets/templates/action-app-template.md +357 -152
- package/skills/uipath-coded-apps/assets/templates/web-app-template.md +255 -78
- package/skills/uipath-coded-apps/references/create-action-app.md +284 -195
- package/skills/uipath-coded-apps/references/create-web-app.md +64 -26
- package/skills/uipath-coded-apps/references/dashboards/CAPABILITY.md +179 -0
- package/skills/uipath-coded-apps/references/dashboards/aesthetic/charting.md +138 -0
- package/skills/uipath-coded-apps/references/dashboards/aesthetic/layout-patterns.md +152 -0
- package/skills/uipath-coded-apps/references/dashboards/plugins/build/impl.md +423 -0
- package/skills/uipath-coded-apps/references/dashboards/plugins/deploy/impl.md +322 -0
- package/skills/uipath-coded-apps/references/dashboards/primitives/customization.md +66 -0
- package/skills/uipath-coded-apps/references/dashboards/primitives/detail-views.md +64 -0
- package/skills/uipath-coded-apps/references/dashboards/primitives/incremental-editor.md +92 -0
- package/skills/uipath-coded-apps/references/dashboards/primitives/state-file.md +64 -0
- package/skills/uipath-coded-apps/references/dashboards/primitives/tier-resolution.md +474 -0
- package/skills/uipath-coded-apps/references/debug.md +15 -21
- package/skills/uipath-coded-apps/references/oauth-client-setup.md +5 -5
- package/skills/uipath-coded-apps/references/oauth-scopes.md +64 -2
- package/skills/uipath-coded-apps/references/pack-publish-deploy.md +12 -5
- package/skills/uipath-coded-apps/references/patterns.md +10 -5
- package/skills/uipath-coded-apps/references/sdk/action-center.md +32 -6
- package/skills/uipath-coded-apps/references/sdk/agents.md +241 -0
- package/skills/uipath-coded-apps/references/sdk/governance-traces.md +186 -0
- package/skills/uipath-coded-apps/references/sdk/governance.md +72 -0
- package/skills/uipath-coded-apps/references/sdk/imports.md +4 -0
- package/skills/uipath-coded-apps/references/sdk/maestro.md +114 -0
- package/skills/uipath-coded-apps/references/sdk/orchestrator.md +80 -4
- package/skills/uipath-coded-apps/references/sdk/pagination.md +2 -0
- package/skills/uipath-coded-apps/references/sdk/traces.md +89 -0
- package/skills/uipath-coded-apps/references/widgets/validation-station.md +308 -0
- package/skills/uipath-coded-apps/scripts/validate-action-schema.js +241 -0
- package/skills/uipath-connector-builder/SKILL.md +192 -0
- package/skills/uipath-connector-builder/references/auth.md +171 -0
- package/skills/uipath-connector-builder/references/configuration.md +130 -0
- package/skills/uipath-connector-builder/references/debugging.md +80 -0
- package/skills/uipath-connector-builder/references/element-json.md +148 -0
- package/skills/uipath-connector-builder/references/events.md +132 -0
- package/skills/uipath-connector-builder/references/hooks.md +198 -0
- package/skills/uipath-connector-builder/references/overview.md +78 -0
- package/skills/uipath-connector-builder/references/standard-resources.md +111 -0
- package/skills/uipath-connector-builder/references/system-resources.md +85 -0
- package/skills/uipath-feedback/SKILL.md +43 -29
- package/skills/{uipath-agents/references/coded/frameworks/coded-functions.md → uipath-functions/SKILL.md} +36 -23
- package/skills/uipath-governance/SKILL.md +49 -8
- package/skills/uipath-governance/references/aops-policy/aops-policy-commands.md +10 -10
- package/skills/uipath-governance/references/aops-policy/aops-policy-deploy-guide.md +7 -7
- package/skills/uipath-governance/references/auth-context.md +101 -0
- package/skills/uipath-governance/references/cli-cheatsheet.md +207 -0
- package/skills/uipath-governance/references/compliance-pack/catalog/impl.md +79 -0
- package/skills/uipath-governance/references/compliance-pack/coverage/impl.md +141 -0
- package/skills/uipath-governance/references/compliance-pack/disable/impl.md +39 -0
- package/skills/uipath-governance/references/compliance-pack/full-apply/impl.md +164 -0
- package/skills/uipath-governance/references/compliance-pack/partial-apply/impl.md +266 -0
- package/skills/uipath-governance/references/compliance-pack/partial-apply/merge-overrides-guide.md +28 -0
- package/skills/uipath-governance/references/compliance-pack/partial-apply/planning.md +82 -0
- package/skills/uipath-governance/references/compliance-pack/partial-apply/synthesize-formdata-guide.md +22 -0
- package/skills/uipath-governance/references/compliance-pack/preview-gate.md +43 -0
- package/skills/uipath-governance/references/compliance-pack/query/impl.md +75 -0
- package/skills/uipath-governance/references/diagnose/CAPABILITY.md +71 -0
- package/skills/uipath-governance/references/diagnose/references/failure-modes.md +201 -0
- package/skills/uipath-governance/references/diagnose/references/troubleshooting-guide.md +137 -0
- package/skills/uipath-governance/references/disambiguation-guide.md +15 -0
- package/skills/uipath-governance/scripts/merge-overrides.mjs +81 -0
- package/skills/uipath-governance/scripts/synthesize-formdata.mjs +86 -0
- package/skills/uipath-human-in-the-loop/SKILL.md +30 -25
- package/skills/uipath-human-in-the-loop/references/hitl-node-apptask.md +38 -4
- package/skills/uipath-human-in-the-loop/references/hitl-node-coded-action-app.md +2 -3
- package/skills/uipath-human-in-the-loop/references/hitl-node-quickform.md +92 -34
- package/skills/uipath-ixp/SKILL.md +120 -0
- package/skills/uipath-ixp/references/cli-reference.md +121 -0
- package/skills/uipath-ixp/references/improve-prompts-guide.md +283 -0
- package/skills/uipath-ixp/references/label-documents-guide.md +207 -0
- package/skills/uipath-ixp/references/project-setup-guide.md +90 -0
- package/skills/uipath-maestro-bpmn/SKILL.md +167 -68
- package/skills/uipath-maestro-bpmn/references/cli-conventions.md +47 -0
- package/skills/uipath-maestro-bpmn/references/diagnose/CAPABILITY.md +6 -6
- package/skills/uipath-maestro-bpmn/references/operate/CAPABILITY.md +3 -3
- package/skills/uipath-maestro-bpmn/references/registry-workflow.md +199 -0
- package/skills/uipath-maestro-bpmn/references/structural-bpmn.md +500 -0
- package/skills/uipath-maestro-bpmn/validator/README.md +214 -0
- package/skills/uipath-maestro-bpmn/validator/bpmn-spec.json +2477 -0
- package/skills/uipath-maestro-bpmn/validator/model.mjs +419 -0
- package/skills/uipath-maestro-bpmn/validator/package.json +17 -0
- package/skills/uipath-maestro-bpmn/validator/rules.mjs +1403 -0
- package/skills/uipath-maestro-bpmn/validator/samples/invalid-conditional-and-variable.bpmn +25 -0
- package/skills/uipath-maestro-bpmn/validator/samples/valid-baseline.bpmn +52 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/A.2.0.bpmn +157 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/A.2.1.bpmn +333 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/B.1.0.bpmn +598 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/B.2.0.bpmn +1709 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.2.0.bpmn +564 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.3.0.bpmn +671 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.4.0.bpmn +1045 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.5.0.bpmn +1176 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.6.0.bpmn +670 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.7.0.bpmn +466 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Can_Parse_Complex_Process_With_Task_Gateway_BoundaryEvent_etc.bpmn +74 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/ExclusiveGatewayDefaultFlow.bpmn +32 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/ExternalAgentWorkflow.bpmn +62 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Golden_Scenario.initial.bpmn +361 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/InclusiveJoinRouteAwayBranch.bpmn +62 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_AsyncExecution_And_Create_CorrectModel.bpmn +74 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_IXP_ExtractionValidation_And_Create_CorrectModel.bpmn +35 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_IXP_Extraction_FileUpload_And_Create_CorrectModel.bpmn +33 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_IXP_Extraction_JobAttachment_And_Create_CorrectModel.bpmn +35 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_SubProcess_With_Multiple_Element_Types.bpmn +76 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/StartEventWithOutputs.bpmn +36 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/StartGatewayEnd.bpmn +44 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/all elements.bpmn +516 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/all_sequence_flow_types.bpmn +173 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/demo.bpmn +181 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/subprocess-example-001-collapsed.bpmn +126 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/subprocess-example-001-expanded.bpmn +122 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/subprocess-example-003-collapsed_deeply-nested.bpmn +438 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/A.1.0.bpmn +87 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/A.3.0.bpmn +165 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ApiWorkflow.bpmn +39 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/BpmnNestedSubProcessTests.bpmn +102 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/BpmnTimerBoundaryEvents.bpmn +160 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/BpmnXmlWithCatchAllErrorEventSubProcess.bpmn +45 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/BpmnXmlWithSpecificErrorEventSubProcess.bpmn +46 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/CaseManagementWithConstantIdentifier.bpmn +218 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ErrorBoundary.bpmn +78 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ErrorPropagationInEventSubprocess.bpmn +340 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/EventBasedGatewayFirstCatcherWins.bpmn +56 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Example-EventBasedGateway.bpmn +117 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ExclusiveGatewayConditional.bpmn +45 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ExclusiveGatewaySharedEndEvent.bpmn +45 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ExclusiveWithParallelGateway.bpmn +68 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/FourScriptTasks.bpmn +84 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/HitlTaskOnly.bpmn +55 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/InclusiveGatewayForkJoin.bpmn +69 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_BPMN_Elements_And_Create_CorrectModel.bpmn +20 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_HttpRequest_ServiceTask_And_Create_Correct_Model.bpmn +34 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_MessageBoundaryEvent_And_Create_CorrectModel.bpmn +87 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_Script_Task_V2_And_Create_Correct_Model.bpmn +31 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_Sets_Containers_Properly.bpmn +129 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ScriptWritesVariableThenGatewayBranches.bpmn +55 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/boundaryevent.bpmn +30 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/collapsed-subprocess.bpmn +83 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/connectable-types.bpmn +85 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/extensions-orchestrator-start-job.bpmn +80 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/multiparticipantpool.bpmn +77 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/nestedsubprocess.bpmn +36 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/simple.bpmn +59 -0
- package/skills/uipath-maestro-bpmn/validator/test/integration.test.mjs +146 -0
- package/skills/uipath-maestro-bpmn/validator/test/model-helpers.mjs +42 -0
- package/skills/uipath-maestro-bpmn/validator/test/ported-rule-tests.mjs +983 -0
- package/skills/uipath-maestro-bpmn/validator/test/run-tests.mjs +530 -0
- package/skills/uipath-maestro-bpmn/validator/uipath-moddle.v1.json +715 -0
- package/skills/uipath-maestro-bpmn/validator/validate-bpmn.mjs +164 -0
- package/skills/uipath-maestro-case/SKILL.md +5 -1
- package/skills/uipath-maestro-case/assets/templates/sdd-template-examples.md +10 -0
- package/skills/uipath-maestro-case/assets/templates/sdd-template.md +89 -17
- package/skills/uipath-maestro-case/references/bindings-and-expressions.md +26 -0
- package/skills/uipath-maestro-case/references/case-editing-operations.md +3 -0
- package/skills/uipath-maestro-case/references/implementation.md +11 -4
- package/skills/uipath-maestro-case/references/phase-0-interview.md +8 -7
- package/skills/uipath-maestro-case/references/phased-execution.md +2 -1
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/impl-json.md +21 -0
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/planning.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/variables/global-vars/impl-json.md +15 -9
- package/skills/uipath-maestro-case/references/plugins/variables/io-binding/impl-json.md +131 -4
- package/skills/uipath-maestro-case/references/sdd-generation-rules.md +94 -17
- package/skills/uipath-maestro-flow/references/author/CAPABILITY.md +1 -1
- package/skills/uipath-maestro-flow/references/author/references/planning-arch.md +2 -2
- package/skills/uipath-maestro-flow/references/author/references/plugins/hitl/impl.md +11 -11
- package/skills/uipath-maestro-flow/references/author/references/plugins/hitl/planning.md +6 -6
- package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl-connector.md +4 -1
- package/skills/uipath-maestro-flow/references/author/references/plugins/inline-agent/impl.md +157 -122
- package/skills/uipath-maestro-flow/references/author/references/plugins/inline-agent/planning.md +16 -4
- package/skills/uipath-maestro-flow/references/evaluate/references/commands-reference.md +8 -8
- package/skills/uipath-maestro-flow/references/evaluate/references/running-guide.md +3 -3
- package/skills/uipath-maestro-flow/references/shared/cli-commands.md +1 -1
- package/skills/uipath-planner/SKILL.md +19 -8
- package/skills/uipath-planner/assets/templates/agent-sdd-template.md +14 -0
- package/skills/uipath-planner/assets/templates/api-workflow-sdd-template.md +14 -0
- package/skills/uipath-planner/assets/templates/case-sdd-template.md +14 -0
- package/skills/uipath-planner/assets/templates/coded-app-sdd-template.md +14 -0
- package/skills/uipath-planner/assets/templates/flow-sdd-template.md +14 -0
- package/skills/uipath-planner/assets/templates/rpa-sdd-template.md +40 -5
- package/skills/uipath-planner/references/asdd-crosswalk-guide.md +55 -0
- package/skills/uipath-planner/references/attended-reauth-pattern-guide.md +43 -0
- package/skills/uipath-planner/references/multi-skill-patterns-guide.md +4 -0
- package/skills/uipath-planner/references/non-pdd-lane-guide.md +2 -0
- package/skills/uipath-planner/references/pdd-analysis-guide.md +24 -1
- package/skills/uipath-planner/references/pdd-driven-lane-guide.md +6 -2
- package/skills/uipath-planner/references/plan-and-tasks-format.md +2 -0
- package/skills/uipath-planner/references/platform-availability-guide.md +43 -0
- package/skills/uipath-planner/references/product-selection-guide.md +20 -0
- package/skills/uipath-planner/references/sdd-generation-guide.md +90 -21
- package/skills/uipath-planner/references/tenant-library-search-guide.md +5 -1
- package/skills/uipath-planner/scripts/docx-extract.sh +54 -0
- package/skills/uipath-planner/scripts/sdd-to-docx.sh +76 -0
- package/skills/uipath-platform/SKILL.md +54 -7
- package/skills/uipath-platform/references/context-grounding/index-management.md +123 -0
- package/skills/uipath-platform/references/data-fabric/bulk-import.md +86 -0
- package/skills/{uipath-data-fabric/references → uipath-platform/references/data-fabric}/choice-sets.md +33 -12
- package/skills/uipath-platform/references/data-fabric/data-fabric.md +352 -0
- package/skills/uipath-platform/references/data-fabric/entity-schema.md +444 -0
- package/skills/uipath-platform/references/data-fabric/file-attachments.md +122 -0
- package/skills/{uipath-data-fabric/references → uipath-platform/references/data-fabric}/filter-platform-contract.md +3 -3
- package/skills/{uipath-data-fabric/references → uipath-platform/references/data-fabric}/records-query.md +46 -10
- package/skills/uipath-platform/references/integration-service/http-request.md +15 -1
- package/skills/uipath-platform/references/integration-service/vendor-docs-registry.json +173 -0
- package/skills/uipath-platform/references/uip-commands.md +12 -4
- package/skills/uipath-review/SKILL.md +53 -12
- package/skills/uipath-review/references/agents/agent-common-issues.md +1 -1
- package/skills/uipath-review/references/agents/agent-grading-rubric.md +133 -0
- package/skills/uipath-review/references/agents/agent-review-checklist.md +23 -3
- package/skills/uipath-review/references/agents/agents-coded-rules.md +7 -0
- package/skills/uipath-review/references/agents/agents-lowcode-rules.md +13 -3
- package/skills/uipath-review/references/agents/guardrails/guardrails-review.md +198 -0
- package/skills/uipath-review/references/architecture-assessment-guide.md +2 -0
- package/skills/uipath-review/references/review-workflow-guide.md +9 -5
- package/skills/uipath-review/references/rule-catalog-workflow.md +3 -3
- package/skills/uipath-rpa/SKILL.md +18 -6
- package/skills/uipath-rpa/references/cli-reference.md +57 -3
- package/skills/uipath-rpa/references/common-activity-card.md +1 -1
- package/skills/uipath-rpa/references/connector-capabilities.md +2 -0
- package/skills/uipath-rpa/references/data-manipulation-guide.md +311 -0
- package/skills/uipath-rpa/references/environment-setup.md +0 -2
- package/skills/uipath-rpa/references/error-handling-guide.md +381 -0
- package/skills/uipath-rpa/references/is-connector-xaml-guide.md +127 -11
- package/skills/uipath-rpa/references/reframework-guide.md +2 -0
- package/skills/uipath-rpa/references/testing-guide.md +19 -0
- package/skills/uipath-rpa/references/ui-automation-guide.md +129 -18
- package/skills/uipath-rpa/references/uia-configure-target-workflows.md +22 -1
- package/skills/uipath-rpa/references/uia-elements-interaction-guide.md +93 -0
- package/skills/uipath-rpa/references/xaml/canvas-layout-guide.md +41 -4
- package/skills/uipath-rpa/references/xaml/common-pitfalls.md +12 -3
- package/skills/uipath-rpa/references/xaml/flowchart-guide.md +113 -0
- package/skills/uipath-rpa/references/xaml/xaml-basics-and-rules.md +5 -9
- package/skills/uipath-solution/SKILL.md +11 -8
- package/skills/uipath-solution/references/pack-and-deploy.md +18 -1
- package/skills/uipath-solution/references/solution-overview.md +3 -0
- package/skills/uipath-test/SKILL.md +2 -1
- package/skills/uipath-troubleshoot/SKILL.md +24 -26
- package/skills/uipath-troubleshoot/agents/depth-verifier.md +24 -25
- package/skills/uipath-troubleshoot/agents/hypothesis-generator.md +8 -4
- package/skills/uipath-troubleshoot/agents/hypothesis-tester.md +85 -38
- package/skills/uipath-troubleshoot/agents/presenter.md +7 -7
- package/skills/uipath-troubleshoot/agents/scope-checker.md +3 -6
- package/skills/uipath-troubleshoot/agents/shared.md +26 -21
- package/skills/uipath-troubleshoot/agents/triage.md +117 -49
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/investigation_guide.md +43 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/overview.md +57 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-action-failed-after-find.md +100 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-cell-targeting-failures.md +111 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-element-not-found.md +125 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-get-text-empty-or-wrong-result.md +117 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-invalid-descriptor.md +102 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-scope-setup-failures.md +136 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-scroll-search-failures.md +114 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-server-auth-throttling-network.md +95 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-silent-failures-and-false-results.md +124 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/presentation.md +8 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/summary.md +15 -0
- package/skills/uipath-troubleshoot/references/activity-packages/database-activities/investigation_guide.md +42 -0
- package/skills/uipath-troubleshoot/references/activity-packages/database-activities/overview.md +41 -0
- package/skills/uipath-troubleshoot/references/activity-packages/database-activities/playbooks/connect-to-database-failures.md +104 -0
- package/skills/uipath-troubleshoot/references/activity-packages/database-activities/playbooks/execute-non-query-failures.md +97 -0
- package/skills/uipath-troubleshoot/references/activity-packages/database-activities/playbooks/execute-query-failures.md +134 -0
- package/skills/uipath-troubleshoot/references/activity-packages/database-activities/playbooks/start-transaction-failures.md +94 -0
- package/skills/uipath-troubleshoot/references/activity-packages/database-activities/presentation.md +10 -0
- package/skills/uipath-troubleshoot/references/activity-packages/database-activities/summary.md +10 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/investigation_guide.md +27 -9
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/overview.md +51 -10
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/append-range-failures.md +146 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/delete-range-failures.md +126 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/excel-application-card-failures.md +139 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/excel-application-scope-failures.md +118 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/execute-macro-failures.md +149 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/write-range-failures.md +145 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/presentation.md +12 -7
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/summary.md +6 -0
- package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/investigation_guide.md +1 -0
- package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/overview.md +12 -4
- package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/playbooks/connection-and-auth-failures.md +55 -0
- package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/playbooks/drive-file-not-found.md +18 -10
- package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/playbooks/get-newest-email-not-found.md +9 -8
- package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/playbooks/invalid-or-null-input.md +68 -0
- package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/playbooks/transient-and-timeout-errors.md +52 -0
- package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/playbooks/upload-storage-quota-exceeded.md +1 -1
- package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/summary.md +5 -2
- package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/overview.md +28 -0
- package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/playbooks/delete-outlook-mail-failures.md +105 -0
- package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/playbooks/get-outlook-mail-failures.md +109 -0
- package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/playbooks/move-outlook-mail-failures.md +97 -0
- package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/playbooks/send-outlook-mail-failures.md +95 -0
- package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/summary.md +8 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/investigation_guide.md +23 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/overview.md +9 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/application-scope-misconfigured.md +49 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/authentication-token-invalid.md +53 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/copy-item-argument-null.md +34 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/create-folder-invalid-path.md +36 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/download-file-conversion-or-destination.md +40 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/drive-item-not-found.md +1 -1
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/email-trigger-connection-event-failure.md +45 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/insufficient-graph-scope.md +44 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/legacy-mail-null-reference.md +43 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/mail-folder-not-found.md +4 -3
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/mail-invalid-odata-query.md +43 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/mail-message-not-found.md +45 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/request-throttled.md +45 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/send-mail-rejected.md +52 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/transient-service-error.md +48 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/upload-file-quota-or-size.md +47 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/summary.md +15 -1
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/investigation_guide.md +32 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/overview.md +38 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/invoke-method-failures.md +57 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/invoke-python-method-pipe-is-broken.md +44 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/load-script-failures.md +62 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/python-path-not-valid.md +39 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/python-scope-architecture-version-mismatch.md +41 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/working-folder-relative-path.md +34 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/presentation.md +9 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/summary.md +12 -0
- package/skills/uipath-troubleshoot/references/activity-packages/system-activities/playbooks/get-asset-activity-bug-silent-failure.md +1 -1
- package/skills/uipath-troubleshoot/references/activity-packages/system-activities/playbooks/get-asset-robot-not-authenticated.md +29 -22
- package/skills/uipath-troubleshoot/references/activity-packages/system-activities/summary.md +1 -1
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/investigation_guide.md +30 -0
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/overview.md +36 -0
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/deserialize-malformed-input.md +36 -0
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/deserialize-null-input.md +35 -0
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/deserialize-type-mismatch.md +40 -0
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/http-client-null-reference.md +34 -0
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/http-request-connection-failure.md +48 -0
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/http-request-timeout.md +40 -0
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/net-http-request-aggregate-failure.md +38 -0
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/summary.md +13 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/investigation_guide.md +55 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/overview.md +82 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/add-picture-failures.md +51 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/append-text-missing-container.md +31 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/append-text-zero-byte-file.md +32 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/export-pdf-com-hang.md +46 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/export-pdf-missing-output-dir.md +32 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/export-pdf-output-path-format.md +35 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/read-text-doc-format.md +30 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/read-text-missing-container.md +29 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/read-text-protected-view.md +32 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-com-busy.md +35 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-file-locked.md +33 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-headers-textboxes-skipped.md +30 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-length-limit.md +30 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-loop-template-overwrite.md +31 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-multiline-formatting.md +31 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-silent-no-substitution.md +32 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-version-mismatch.md +30 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-com-interop-failures.md +52 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-com-start-background-session0.md +50 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-export-pdf-com-wrong-thread.md +46 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-open-sharepoint-url-com-command-failed.md +45 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-scope-cannot-create-unknown-type.md +30 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-scope-com-not-installed.md +35 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-scope-file-corrupted.md +34 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-scope-file-path-not-found.md +36 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-scope-hangs-background-prompt.md +34 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/presentation.md +11 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/summary.md +38 -0
- package/skills/uipath-troubleshoot/references/products/integration-service/investigation_guide.md +9 -0
- package/skills/uipath-troubleshoot/references/products/integration-service/overview.md +7 -0
- package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connection-invalid.md +9 -0
- package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connector-aggregate-exception.md +30 -0
- package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connector-general-exception.md +43 -0
- package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connector-null-reference.md +36 -0
- package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connector-remote-exception.md +31 -0
- package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connector-runtime-exception.md +40 -0
- package/skills/uipath-troubleshoot/references/products/integration-service/summary.md +5 -0
- package/skills/uipath-troubleshoot/references/products/maestro/investigation_guide.md +2 -1
- package/skills/uipath-troubleshoot/references/products/orchestrator/investigation_guide.md +105 -10
- package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-faulted-logon-failure.md +1 -1
- package/skills/uipath-troubleshoot/references/summary.md +59 -3
- package/skills/uipath-troubleshoot/schemas/evidence.schema.md +48 -0
- package/skills/uipath-troubleshoot/schemas/hypotheses.schema.md +22 -7
- package/skills/uipath-troubleshoot/schemas/scope-check.schema.md +1 -1
- package/skills/uipath-troubleshoot/schemas/state.schema.md +81 -6
- package/version-manifest.json +2 -2
- package/skills/uipath-data-fabric/SKILL.md +0 -239
- package/skills/uipath-data-fabric/references/bulk-import.md +0 -73
- package/skills/uipath-data-fabric/references/entity-schema.md +0 -391
- package/skills/uipath-data-fabric/references/file-attachments.md +0 -65
- package/skills/uipath-maestro-bpmn/.maintenance/README.md +0 -241
- package/skills/uipath-maestro-bpmn/.maintenance/check-all.sh +0 -41
- package/skills/uipath-maestro-bpmn/.maintenance/check-anchors.sh +0 -83
- package/skills/uipath-maestro-bpmn/.maintenance/check-depth.sh +0 -132
- package/skills/uipath-maestro-bpmn/.maintenance/check-link-text.sh +0 -123
- package/skills/uipath-maestro-bpmn/.maintenance/check-links.sh +0 -70
- package/skills/uipath-maestro-bpmn/.maintenance/check-orphans.sh +0 -93
- package/skills/uipath-maestro-bpmn/.maintenance/check-plugin-pairs.sh +0 -39
- package/skills/uipath-maestro-bpmn/.maintenance/check-real-pack.sh +0 -79
- package/skills/uipath-maestro-bpmn/.maintenance/check-template.sh +0 -42
- package/skills/uipath-maestro-bpmn/.maintenance/check-uip-commands.sh +0 -266
- package/skills/uipath-maestro-bpmn/.maintenance/check-validation-fixtures.py +0 -1255
- package/skills/uipath-maestro-bpmn/.maintenance/check-validation-fixtures.sh +0 -8
- package/skills/uipath-maestro-bpmn/fixtures/validation/README.md +0 -94
- package/skills/uipath-maestro-bpmn/fixtures/validation/agent-invocation/agent-invocation.bpmn +0 -62
- package/skills/uipath-maestro-bpmn/fixtures/validation/agent-invocation/bindings_v2.json +0 -37
- package/skills/uipath-maestro-bpmn/fixtures/validation/agent-invocation/entry-points.json +0 -21
- package/skills/uipath-maestro-bpmn/fixtures/validation/agent-invocation/operate.json +0 -9
- package/skills/uipath-maestro-bpmn/fixtures/validation/agent-invocation/package-descriptor.json +0 -10
- package/skills/uipath-maestro-bpmn/fixtures/validation/agent-invocation/project.uiproj +0 -7
- package/skills/uipath-maestro-bpmn/fixtures/validation/contract-variants/bindings_v2.json +0 -68
- package/skills/uipath-maestro-bpmn/fixtures/validation/contract-variants/contract-variants.bpmn +0 -270
- package/skills/uipath-maestro-bpmn/fixtures/validation/contract-variants/entry-points.json +0 -25
- package/skills/uipath-maestro-bpmn/fixtures/validation/contract-variants/operate.json +0 -9
- package/skills/uipath-maestro-bpmn/fixtures/validation/contract-variants/package-descriptor.json +0 -10
- package/skills/uipath-maestro-bpmn/fixtures/validation/contract-variants/project.uiproj +0 -7
- package/skills/uipath-maestro-bpmn/fixtures/validation/gateway-boundary-error/bindings_v2.json +0 -19
- package/skills/uipath-maestro-bpmn/fixtures/validation/gateway-boundary-error/entry-points.json +0 -25
- package/skills/uipath-maestro-bpmn/fixtures/validation/gateway-boundary-error/gateway-boundary-error.bpmn +0 -91
- package/skills/uipath-maestro-bpmn/fixtures/validation/gateway-boundary-error/operate.json +0 -9
- package/skills/uipath-maestro-bpmn/fixtures/validation/gateway-boundary-error/package-descriptor.json +0 -10
- package/skills/uipath-maestro-bpmn/fixtures/validation/gateway-boundary-error/project.uiproj +0 -7
- package/skills/uipath-maestro-bpmn/fixtures/validation/imported-brownfield-preservation/bindings_v2.json +0 -4
- package/skills/uipath-maestro-bpmn/fixtures/validation/imported-brownfield-preservation/entry-points.json +0 -25
- package/skills/uipath-maestro-bpmn/fixtures/validation/imported-brownfield-preservation/imported-brownfield-preservation.bpmn +0 -63
- package/skills/uipath-maestro-bpmn/fixtures/validation/imported-brownfield-preservation/operate.json +0 -9
- package/skills/uipath-maestro-bpmn/fixtures/validation/imported-brownfield-preservation/package-descriptor.json +0 -10
- package/skills/uipath-maestro-bpmn/fixtures/validation/imported-brownfield-preservation/project.uiproj +0 -7
- package/skills/uipath-maestro-bpmn/fixtures/validation/integration-service-enriched/bindings_v2.json +0 -52
- package/skills/uipath-maestro-bpmn/fixtures/validation/integration-service-enriched/entry-points.json +0 -21
- package/skills/uipath-maestro-bpmn/fixtures/validation/integration-service-enriched/integration-service-enriched.bpmn +0 -65
- package/skills/uipath-maestro-bpmn/fixtures/validation/integration-service-enriched/operate.json +0 -9
- package/skills/uipath-maestro-bpmn/fixtures/validation/integration-service-enriched/package-descriptor.json +0 -10
- package/skills/uipath-maestro-bpmn/fixtures/validation/integration-service-enriched/project.uiproj +0 -7
- package/skills/uipath-maestro-bpmn/fixtures/validation/linear-process/bindings_v2.json +0 -4
- package/skills/uipath-maestro-bpmn/fixtures/validation/linear-process/entry-points.json +0 -25
- package/skills/uipath-maestro-bpmn/fixtures/validation/linear-process/linear-process.bpmn +0 -55
- package/skills/uipath-maestro-bpmn/fixtures/validation/linear-process/operate.json +0 -9
- package/skills/uipath-maestro-bpmn/fixtures/validation/linear-process/package-descriptor.json +0 -10
- package/skills/uipath-maestro-bpmn/fixtures/validation/linear-process/project.uiproj +0 -7
- package/skills/uipath-maestro-bpmn/fixtures/validation/registry-coverage-matrix/bindings_v2.json +0 -20
- package/skills/uipath-maestro-bpmn/fixtures/validation/registry-coverage-matrix/entry-points.json +0 -17
- package/skills/uipath-maestro-bpmn/fixtures/validation/registry-coverage-matrix/operate.json +0 -9
- package/skills/uipath-maestro-bpmn/fixtures/validation/registry-coverage-matrix/package-descriptor.json +0 -10
- package/skills/uipath-maestro-bpmn/fixtures/validation/registry-coverage-matrix/project.uiproj +0 -7
- package/skills/uipath-maestro-bpmn/fixtures/validation/registry-coverage-matrix/registry-coverage-matrix.bpmn +0 -207
- package/skills/uipath-maestro-bpmn/fixtures/validation/subprocess-multi-instance/bindings_v2.json +0 -4
- package/skills/uipath-maestro-bpmn/fixtures/validation/subprocess-multi-instance/entry-points.json +0 -33
- package/skills/uipath-maestro-bpmn/fixtures/validation/subprocess-multi-instance/operate.json +0 -9
- package/skills/uipath-maestro-bpmn/fixtures/validation/subprocess-multi-instance/package-descriptor.json +0 -10
- package/skills/uipath-maestro-bpmn/fixtures/validation/subprocess-multi-instance/project.uiproj +0 -7
- package/skills/uipath-maestro-bpmn/fixtures/validation/subprocess-multi-instance/subprocess-multi-instance.bpmn +0 -94
- package/skills/uipath-maestro-bpmn/fixtures/validation/wrapper-family-contract/bindings_v2.json +0 -124
- package/skills/uipath-maestro-bpmn/fixtures/validation/wrapper-family-contract/entry-points.json +0 -25
- package/skills/uipath-maestro-bpmn/fixtures/validation/wrapper-family-contract/operate.json +0 -9
- package/skills/uipath-maestro-bpmn/fixtures/validation/wrapper-family-contract/package-descriptor.json +0 -10
- package/skills/uipath-maestro-bpmn/fixtures/validation/wrapper-family-contract/project.uiproj +0 -7
- package/skills/uipath-maestro-bpmn/fixtures/validation/wrapper-family-contract/wrapper-family-contract.bpmn +0 -151
- package/skills/uipath-maestro-bpmn/references/author/CAPABILITY.md +0 -141
- package/skills/uipath-maestro-bpmn/references/author/references/brownfield.md +0 -48
- package/skills/uipath-maestro-bpmn/references/author/references/editing-operations.md +0 -75
- package/skills/uipath-maestro-bpmn/references/author/references/greenfield.md +0 -41
- package/skills/uipath-maestro-bpmn/references/author/references/planning-arch.md +0 -82
- package/skills/uipath-maestro-bpmn/references/author/references/planning-impl.md +0 -104
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/agents/impl.md +0 -34
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/agents/planning.md +0 -38
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/api-workflows/impl.md +0 -37
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/api-workflows/planning.md +0 -28
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/business-rules/impl.md +0 -36
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/business-rules/planning.md +0 -29
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/call-activity-subprocess/impl.md +0 -67
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/call-activity-subprocess/planning.md +0 -29
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/connectors/impl.md +0 -29
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/connectors/planning.md +0 -33
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/gateways/impl.md +0 -32
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/gateways/planning.md +0 -34
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/hitl/impl.md +0 -42
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/hitl/planning.md +0 -30
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/integration-service/impl.md +0 -134
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/integration-service/planning.md +0 -67
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/multi-instance/impl.md +0 -50
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/multi-instance/planning.md +0 -29
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/queues/impl.md +0 -29
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/queues/planning.md +0 -29
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/rpa-jobs/impl.md +0 -35
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/rpa-jobs/planning.md +0 -29
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/script/impl.md +0 -118
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/script/planning.md +0 -30
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/sequence-flows/impl.md +0 -30
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/sequence-flows/planning.md +0 -30
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/service-tasks/impl.md +0 -33
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/service-tasks/planning.md +0 -31
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/signals/impl.md +0 -33
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/signals/planning.md +0 -46
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/start-end-events/impl.md +0 -59
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/start-end-events/planning.md +0 -37
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/waits-triggers/impl.md +0 -40
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/waits-triggers/planning.md +0 -34
- package/skills/uipath-maestro-bpmn/references/author/references/supported-elements.md +0 -123
- package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/README.md +0 -29
- package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/agent-job.md +0 -36
- package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/api-workflow.md +0 -29
- package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/business-rule.md +0 -18
- package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/call-activity.md +0 -56
- package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/hitl.md +0 -17
- package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/http-request.md +0 -119
- package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/queue.md +0 -21
- package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/rpa-job.md +0 -23
- package/skills/uipath-maestro-bpmn/references/author/references/validation.md +0 -118
- package/skills/uipath-maestro-bpmn/references/shared/bpmn-xml-contract.md +0 -197
- package/skills/uipath-maestro-bpmn/references/shared/cli-conventions.md +0 -46
- package/skills/uipath-maestro-bpmn/references/shared/error-handling.md +0 -82
- package/skills/uipath-maestro-bpmn/references/shared/variables-bindings-expressions.md +0 -150
- package/skills/uipath-maestro-bpmn/references/shared/wrapper-shells.md +0 -554
- /package/skills/uipath-maestro-bpmn/references/{shared/expression-authoring.md → expression-authoring.md} +0 -0
- /package/skills/uipath-maestro-bpmn/references/{shared/public-safety.md → public-safety.md} +0 -0
- /package/{agents → skills/uipath-rpa/agents}/uipath-project-discovery-agent.md +0 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Web Activities Investigation Guide
|
|
2
|
+
|
|
3
|
+
## Data Correlation
|
|
4
|
+
|
|
5
|
+
Before using any fetched data, verify it matches the user's reported problem:
|
|
6
|
+
|
|
7
|
+
- **Activity class** — the faulted activity is the one the user is asking about. `HttpClient` (legacy) and `NetHttpRequest` (modern) both make HTTP calls but fail differently (`WebException` / `TimeoutException` vs `AggregateException`). `DeserializeJson`, `DeserializeJsonArray`, and `DeserializeXml` share the "JSON/XML string" input display name but run different parsers. Treat them as different.
|
|
8
|
+
- **Exception class** — the exception type plus the faulted activity is the primary discriminator (these activities do not wrap exceptions). Read it from `JobError.Type` / the `Info` stack, not from a paraphrase.
|
|
9
|
+
- **Endpoint / target** — for HTTP, the request URL in evidence is the one the user reports. A failure against a different host or path is unrelated data.
|
|
10
|
+
- **Workflow file** — if the project has multiple workflows, the error originates from the workflow the user asks about, not another `.xaml` / `.cs` that uses the same activity.
|
|
11
|
+
- **Timestamp** — the failure occurred in the window the user reported. Load-bearing when an endpoint had a transient outage or the payload source changed between runs.
|
|
12
|
+
|
|
13
|
+
If the data doesn't match: **discard it.** Do not use unrelated data as a proxy. Report the mismatch and ask for clarification.
|
|
14
|
+
|
|
15
|
+
## Domain-Specific Data Gathering
|
|
16
|
+
|
|
17
|
+
1. **Job logs and stack** — `uip or jobs get <job-key> --output json` → `Info` and `JobError` carry the exception class, message, faulted activity name, and `WorkflowFilePath`. `uip or jobs logs <job-key> --level Error --output json` carries the activity-level error line.
|
|
18
|
+
2. **Execution traces** — `uip or jobs traces <job-key> --output json` AND `uip traces spans get --job-key <job-key> --output json`. Activity spans expose the request URL, HTTP status, and timing — they narrow whether an HTTP failure was a non-success status, a transport error, or a timeout, and whether a deserialize failure followed a prior HTTP activity in the same run.
|
|
19
|
+
3. **Workflow source** — open the faulted `.xaml`/`.cs` to read how the failing input is supplied (literal vs variable, and which upstream activity produced that variable).
|
|
20
|
+
|
|
21
|
+
## Testing Prerequisites
|
|
22
|
+
|
|
23
|
+
Gather and verify these before drawing conclusions:
|
|
24
|
+
|
|
25
|
+
1. **Activity identity** — class name and display name from the workflow source or stack trace (`HttpClient` vs `NetHttpRequest` vs which Deserialize).
|
|
26
|
+
2. **Exception class + message** — verbatim, including the first stack frame. The message body (HTTP status code, `line N, position M`, parameter name) selects the cause branch.
|
|
27
|
+
3. **HTTP request configuration** (HTTP activities) — `EndPoint` / `RequestUrl` value, `Method`, `TimeoutMS` / `TimeoutInMiliseconds`, `ContinueOnError`, auth type, and whether SSL verification is on. Capture from the workflow source, not a summary.
|
|
28
|
+
4. **Deserialize input source** (Deserialize activities) — **the single most decisive signal.** Determine whether the `JsonString` / `XMLString` input is a literal, a workflow variable, or the `Result` / body output of an upstream `HttpClient` / `NetHttpRequest`. A malformed-payload or null-payload fault whose input comes from an upstream HTTP activity is usually a **symptom** of that HTTP call returning an error page, an empty body, or a non-success response — diagnose the HTTP call, not the parser.
|
|
29
|
+
5. **`AggregateException` inner exceptions** (`NetHttpRequest`) — unwrap `InnerException` / `InnerExceptions`. The inner type (`HttpRequestException`, `TaskCanceledException`, `WebException`) is the real cause; the `AggregateException` itself is only the wrapper.
|
|
30
|
+
6. **Package version** — `UiPath.Web.Activities` version. Default timeouts, retry behavior, and `ContinueOnError` defaults differ between `HttpClient` (legacy) and `NetHttpRequest` (modern) and have shifted across versions.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Web Activities
|
|
2
|
+
|
|
3
|
+
Activities from the `UiPath.Web.Activities` package for HTTP calls and payload deserialization. Two families:
|
|
4
|
+
|
|
5
|
+
- **HTTP request** — `HttpClient` (legacy, RestSharp-based) and `NetHttpRequest` (modern, `System.Net.Http.HttpClient` + retry/connection pipeline). Issue an outbound HTTP request and return status, headers, and body.
|
|
6
|
+
- **Deserialize** — `DeserializeJson<T>` (Newtonsoft `JsonConvert.DeserializeObject`), `DeserializeJsonArray` (Newtonsoft `JArray.Parse`), `DeserializeXml` (`System.Xml.Linq.XDocument.Parse`). Parse a string into a typed object / `JArray` / `XDocument`.
|
|
7
|
+
|
|
8
|
+
## Exceptions propagate raw
|
|
9
|
+
|
|
10
|
+
Unlike connection-based packages (O365's `Office365Exception`, Integration Service's `GeneralException`), these activities do **NOT** wrap failures in a package-specific exception type. After tracking telemetry, the original `catch`/`rethrow` lets the raw .NET / Newtonsoft / RestSharp exception propagate to the job. So the **faulted activity class plus the exception class** — not a unique message string — is the primary discriminator. Two activities throwing `System.NullReferenceException` are different investigations.
|
|
11
|
+
|
|
12
|
+
## Key activity types
|
|
13
|
+
|
|
14
|
+
### HTTP request
|
|
15
|
+
|
|
16
|
+
- **HTTP Client** (`HttpClient`) — legacy REST activity. `EndPoint` is `[RequiredArgument]`. Default `TimeoutMS = 6000`. On a request-build error it rethrows unless `ContinueOnError = true` (then returns an empty response). A RestSharp timeout surfaces as an explicit `System.TimeoutException`; transport/HTTP errors surface as the raw `System.Net.WebException` unwrapped from the faulted task.
|
|
17
|
+
- **HTTP Request** (`NetHttpRequest`) — modern activity over `HttpClient.SendAsync` with a retry policy. Default `TimeoutInMiliseconds = 10000`, `ContinueOnError = true` (so it returns a response summary for HTTP error statuses rather than faulting). When it does fault, the async pipeline surfaces a `System.AggregateException` wrapping the real cause (`HttpRequestException`, `TaskCanceledException`, …).
|
|
18
|
+
|
|
19
|
+
### Deserialize
|
|
20
|
+
|
|
21
|
+
- **Deserialize JSON** (`DeserializeJson<T>`) — guards null/empty input with an explicit `ArgumentNullException`, then `JsonConvert.DeserializeObject<T>`. Malformed text → `JsonReaderException`; well-formed JSON whose shape does not fit `T` → `JsonSerializationException`.
|
|
22
|
+
- **Deserialize JSON Array** (`DeserializeJsonArray`) — `JArray.Parse`. **No null guard** (contrast with `DeserializeJson`): null/unset input → `NullReferenceException`; malformed or non-array text → `JsonReaderException`.
|
|
23
|
+
- **Deserialize XML** (`DeserializeXml`) — `XDocument.Parse`. Malformed XML → `System.Xml.XmlException`.
|
|
24
|
+
|
|
25
|
+
## Common failure patterns
|
|
26
|
+
|
|
27
|
+
- **HTTP call failed** — `HttpClient` throws `System.Net.WebException` (non-success status, DNS failure, connection refused, SSL/TLS). `NetHttpRequest` surfaces the same causes wrapped in `System.AggregateException`.
|
|
28
|
+
- **HTTP timeout** — `HttpClient` throws `System.TimeoutException` when the request exceeds `TimeoutMS`. `NetHttpRequest` timeouts arrive as `AggregateException` → inner `TaskCanceledException`.
|
|
29
|
+
- **HTTP null reference** — `HttpClient` throws `System.NullReferenceException` when a request input (endpoint, header, cookie, parameter) resolves to null and is dereferenced during request building.
|
|
30
|
+
- **Malformed payload** — `DeserializeJson` / `DeserializeJsonArray` throw `JsonReaderException`, `DeserializeXml` throws `XmlException`, when the input string is not valid JSON/XML. Frequently a **symptom of an upstream HTTP activity** that returned an HTML error page, an empty body, or a non-JSON error envelope.
|
|
31
|
+
- **Type mismatch** — `DeserializeJson` throws `JsonSerializationException` when well-formed JSON does not match the target type `T`.
|
|
32
|
+
- **Null/empty payload** — `DeserializeJson` throws `ArgumentNullException` (param `JSON string`); `DeserializeJsonArray` throws `NullReferenceException` for the same null input.
|
|
33
|
+
|
|
34
|
+
## Package
|
|
35
|
+
|
|
36
|
+
NuGet package id: `UiPath.WebAPI.Activities` (ships the `UiPath.Web.Activities` assemblies/namespace). Studio displays it as the **Web Activities** package; the Diagnose-Agent telemetry labels it `UiPath.Web.Activities` after the namespace.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
confidence: high
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Deserialize — Malformed JSON / XML Input
|
|
6
|
+
|
|
7
|
+
## Context
|
|
8
|
+
|
|
9
|
+
What this looks like:
|
|
10
|
+
- A deserialize activity faults parsing its input string:
|
|
11
|
+
- `DeserializeJson` (`DeserializeJson<T>`, `JsonConvert.DeserializeObject`) or `DeserializeJsonArray` (`JArray.Parse`) → `Newtonsoft.Json.JsonReaderException`, e.g. `Unexpected character encountered while parsing value: <. Path '', line 0, position 0.` or `Unexpected end of content while loading JArray. Path '', line 1, position N.`
|
|
12
|
+
- `DeserializeXml` (`XDocument.Parse`) → `System.Xml.XmlException`, e.g. `Data at the root level is invalid. Line 1, position 1.`
|
|
13
|
+
- The message carries a `line`/`position` (and for JSON a `Path`) pointing at where parsing broke. The exception is raised by the parser and propagates raw.
|
|
14
|
+
|
|
15
|
+
What can cause it:
|
|
16
|
+
- **Input is not valid JSON/XML** — the string is HTML, plain text, an error page, a truncated/partial payload, or has a leading BOM / wrong encoding.
|
|
17
|
+
- **Upstream HTTP activity returned a non-payload body** — the single most common cause: an `HttpClient` / `NetHttpRequest` whose `Result` / body is wired into this activity returned an HTML error page (`<!DOCTYPE html>...` → the classic `Unexpected character ... <`), an empty body, or a non-JSON error envelope. The deserialize fault is a **symptom** of the HTTP call, not the parser.
|
|
18
|
+
- **Wrong deserializer for the data** — XML fed to a JSON activity (or vice versa), or a single JSON object fed to `DeserializeJsonArray` (which requires array `[...]` syntax).
|
|
19
|
+
|
|
20
|
+
What to look for:
|
|
21
|
+
- **The first offending character / `line`/`position`** — `<` at position 0 almost always means HTML where JSON was expected (an upstream error page).
|
|
22
|
+
- **The source of the input string** — literal, variable, or the output of an upstream `HttpClient` / `NetHttpRequest`. Decisive: if it's an HTTP output, investigate that call.
|
|
23
|
+
- **The upstream HTTP `StatusCode`** — a non-2xx status that the workflow ignored (e.g. `ContinueOnError = True`) explains a non-payload body.
|
|
24
|
+
|
|
25
|
+
## Investigation
|
|
26
|
+
|
|
27
|
+
1. **Confirm the signature + activity.** `uip or jobs get <job-key> --output json` → `Info` shows `JsonReaderException` (Deserialize JSON / JSON Array) or `XmlException` (Deserialize XML); `JobError.ActivityName` names the activity.
|
|
28
|
+
2. **Trace the input string to its source** in the workflow. Is `JsonString` / `XMLString` a literal, a variable, or an upstream HTTP activity's `Result` / body?
|
|
29
|
+
3. **If the input is an HTTP output:** inspect that HTTP activity's `StatusCode` and body (job logs / trace spans). A non-2xx status or an HTML/empty body means the HTTP call is the real fault — pivot to the HTTP playbooks ([http-request-connection-failure.md](./http-request-connection-failure.md), [net-http-request-aggregate-failure.md](./net-http-request-aggregate-failure.md)).
|
|
30
|
+
4. **If the input is a literal/variable:** validate it against the expected format; the `line`/`position` in the message localizes the defect (wrong format, truncation, encoding/BOM, or object-vs-array mismatch).
|
|
31
|
+
|
|
32
|
+
## Resolution
|
|
33
|
+
|
|
34
|
+
- **Upstream HTTP returned a non-payload body (most common):** fix the HTTP call so it returns the expected payload — check the endpoint/status, and do not deserialize a response without first confirming a success status. Guard the deserialize with a `StatusCode` check (and inspect the body on non-2xx).
|
|
35
|
+
- **Malformed/partial/wrong-encoding payload:** correct the data at its source so it is well-formed JSON/XML; strip a leading BOM or fix the encoding if that is what the `line 0/1, position 0/1` indicates.
|
|
36
|
+
- **Wrong deserializer:** use the activity that matches the data — `DeserializeXml` for XML, `DeserializeJson` for a JSON object, `DeserializeJsonArray` only for a JSON array (`[...]`).
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
confidence: high
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Deserialize — Null / Empty Input
|
|
6
|
+
|
|
7
|
+
## Context
|
|
8
|
+
|
|
9
|
+
What this looks like:
|
|
10
|
+
- A deserialize activity faults because its input string is null or empty. The exception type depends on the activity:
|
|
11
|
+
- **`DeserializeJson`** (`DeserializeJson<T>`) guards the input and throws `System.ArgumentNullException` with the parameter name `JSON string` — message `Value cannot be null. (Parameter 'JSON string')` (on .NET Framework: `... Parameter name: JSON string`). The guard fires on null **or** empty input.
|
|
12
|
+
- **`DeserializeJsonArray`** has **no guard** (it calls `JArray.Parse` directly), so the same null input surfaces as `System.NullReferenceException: Object reference not set to an instance of an object.`
|
|
13
|
+
- The `JSON string` parameter name and the `DeserializeJson` vs `DeserializeJsonArray` activity identity together confirm this branch (vs a malformed-payload `JsonReaderException`, where a non-null but invalid string parsed and failed).
|
|
14
|
+
|
|
15
|
+
What can cause it:
|
|
16
|
+
- **Unassigned / null input variable** — the `JsonString` argument is wired to a variable that is `Nothing` (never assigned, or assigned only on a path not taken) at runtime.
|
|
17
|
+
- **Empty input** (`DeserializeJson` only) — the variable is `""`; the guard treats empty the same as null.
|
|
18
|
+
- **Null upstream value** — the input came from a prior activity that returned nothing: an HTTP call whose body was empty / never set, an asset/config read that returned null, or a no-match lookup.
|
|
19
|
+
|
|
20
|
+
What to look for:
|
|
21
|
+
- **The parameter name `JSON string`** in an `ArgumentNullException` → confirms `DeserializeJson` received null/empty.
|
|
22
|
+
- **A bare `NullReferenceException` on `DeserializeJsonArray`** → same root cause (null input) without the friendly guard.
|
|
23
|
+
- **The source of `JsonString`** — which variable, and where it is assigned; the upstream activity that should have produced it.
|
|
24
|
+
|
|
25
|
+
## Investigation
|
|
26
|
+
|
|
27
|
+
1. **Confirm the signature + activity.** `uip or jobs get <job-key> --output json` → `Info`. `ArgumentNullException (Parameter 'JSON string')` on `DeserializeJson`, or `NullReferenceException` on `DeserializeJsonArray`; `JobError.ActivityName` names the activity.
|
|
28
|
+
2. **Trace `JsonString` to its assignment** in the workflow source. Identify the variable and every place it is (or is not) set on the failing path.
|
|
29
|
+
3. **Check the upstream producer.** If the input comes from an HTTP activity or a lookup/asset read, confirm whether that step returned an empty/null value — that is the real fault to fix.
|
|
30
|
+
|
|
31
|
+
## Resolution
|
|
32
|
+
|
|
33
|
+
- **Null/unset variable:** ensure `JsonString` is assigned a non-null, non-empty value before the deserialize activity on every path that reaches it; add a guard/default if a branch can legitimately leave it unset.
|
|
34
|
+
- **Null from upstream:** fix the producing activity so it returns the expected payload (e.g., an HTTP call that returned an empty body — see [deserialize-malformed-input.md](./deserialize-malformed-input.md) and the HTTP playbooks), or handle the empty result explicitly before deserializing.
|
|
35
|
+
- **`DeserializeJsonArray` null-input hardening:** because `DeserializeJsonArray` does not guard null input (unlike `DeserializeJson`), validate the string is non-empty before the activity so the failure is an explicit check rather than a bare `NullReferenceException`.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
confidence: medium
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Deserialize JSON — Type Mismatch (JsonSerializationException)
|
|
6
|
+
|
|
7
|
+
## Context
|
|
8
|
+
|
|
9
|
+
What this looks like:
|
|
10
|
+
- A `UiPath.Web.Activities.DeserializeJson<T>` activity faults with `Newtonsoft.Json.JsonSerializationException`. The input is **well-formed JSON** (it parsed), but its shape does not fit the target type `T`. Typical messages:
|
|
11
|
+
- `Cannot deserialize the current JSON object (e.g. {"name":"value"}) into type '<T>' because the type requires a JSON array (e.g. [1,2,3]) to deserialize correctly.`
|
|
12
|
+
- `Cannot deserialize the current JSON array (e.g. [1,2,3]) into type '<T>' because the type requires a JSON object ...`
|
|
13
|
+
- `Error converting value "<x>" to type '<member type>'. Path '<member>', line N, position M.`
|
|
14
|
+
- `Could not cast or convert from System.String to <type>.`
|
|
15
|
+
- Contrast with `JsonReaderException` (the JSON itself is invalid) — see [deserialize-malformed-input.md](./deserialize-malformed-input.md). Here the JSON is valid; the **target type** is the mismatch.
|
|
16
|
+
|
|
17
|
+
What can cause it:
|
|
18
|
+
- **Object/array shape mismatch** — `T` expects an array but the JSON is an object (or vice versa).
|
|
19
|
+
- **Member type mismatch** — a field is a string where `T` expects a number/bool/date, or null where `T` expects a non-nullable value.
|
|
20
|
+
- **Schema drift** — the API response shape changed (renamed/removed/retyped fields) while `T` (often generated from a `JsonSample`) stayed on the old shape.
|
|
21
|
+
- **Wrong `T` chosen** — the `JsonObject` output type does not match the actual response contract.
|
|
22
|
+
|
|
23
|
+
What to look for:
|
|
24
|
+
- **The message's `Path` and member name** — pinpoints which field mismatched.
|
|
25
|
+
- **`T` vs the actual JSON** — compare the target type (and the `JsonSample` it may have been generated from) against a current sample of the real response.
|
|
26
|
+
- **Whether the response shape changed recently** — schema drift if earlier runs succeeded with the same `T`.
|
|
27
|
+
|
|
28
|
+
## Investigation
|
|
29
|
+
|
|
30
|
+
1. **Confirm the signature + activity.** `uip or jobs get <job-key> --output json` → `Info` shows `JsonSerializationException` and `JobError.ActivityName` = the `DeserializeJson` activity. Confirm it is a serialization (type) error, not a `JsonReaderException` (malformed).
|
|
31
|
+
2. **Read `T` and `JsonSample` from source** — the declared output type and the sample it was modeled on.
|
|
32
|
+
3. **Get a current sample of the real input JSON** (the literal, the variable, or the upstream HTTP body) and compare it to `T` at the `Path` named in the message.
|
|
33
|
+
4. **Decide object-vs-array, member-type, or drift** from the comparison.
|
|
34
|
+
|
|
35
|
+
## Resolution
|
|
36
|
+
|
|
37
|
+
- **Object/array mismatch:** change `T` to match the JSON shape (e.g., `List<...>` for an array, a single type for an object), or select the correct deserialize activity.
|
|
38
|
+
- **Member type mismatch:** align the member type in `T` with the JSON (string vs number/bool/date; make it nullable if the field can be null), or fix the producer so the field's type is stable.
|
|
39
|
+
- **Schema drift:** regenerate `T` from a current `JsonSample` of the real response and update downstream usages.
|
|
40
|
+
- **Wrong `T`:** point `JsonObject` at the type that matches the actual response contract.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
confidence: medium
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# HTTP Client — Null Reference (NullReferenceException)
|
|
6
|
+
|
|
7
|
+
## Context
|
|
8
|
+
|
|
9
|
+
What this looks like:
|
|
10
|
+
- A `UiPath.Web.Activities.HttpClient` activity faults with `System.NullReferenceException: Object reference not set to an instance of an object.`
|
|
11
|
+
- The exception is raised inside the activity while it builds the request (resolving endpoint, headers, cookies, parameters) or while reading the response — `HttpClient` does not wrap it.
|
|
12
|
+
|
|
13
|
+
What can cause it:
|
|
14
|
+
- **A request input resolves to null** — a workflow variable wired into `EndPoint`, a header value, a cookie value, a parameter, or the body evaluates to `Nothing` at runtime and is dereferenced during request building. (`EndPoint` is a required argument, but a bound variable can still evaluate to null.)
|
|
15
|
+
- **Null upstream value** — the null came from a prior activity that returned nothing (e.g., an unset asset, an empty config read, an earlier HTTP call whose output was never set), then was passed into this activity.
|
|
16
|
+
- **Response dereferenced after `ContinueOnError`** — a prior `HttpClient` with `ContinueOnError = True` returned an empty response, and a downstream expression reads `.Result` / a header off it.
|
|
17
|
+
|
|
18
|
+
What to look for:
|
|
19
|
+
- **Which input is null** — from the workflow source, list every variable feeding `EndPoint`, `Headers`, `Cookies`, `Parameters`, and `Body`, and trace where each is assigned.
|
|
20
|
+
- **The activity immediately before** the faulted one — a common source of the null value.
|
|
21
|
+
- **No HTTP status / transport phrase** in the message — distinguishes this from `WebException` ([http-request-connection-failure.md](./http-request-connection-failure.md)); a pure NRE means the request was never sent.
|
|
22
|
+
|
|
23
|
+
## Investigation
|
|
24
|
+
|
|
25
|
+
1. **Confirm the signature + activity.** `uip or jobs get <job-key> --output json` → `Info` shows `System.NullReferenceException` and `JobError.ActivityName` = the `HttpClient` activity. The absence of any HTTP status code or transport phrase means the failure is in request building, not the call.
|
|
26
|
+
2. **Enumerate the activity's inputs from source.** Capture every variable/expression feeding `EndPoint`, `Headers`, `Cookies`, `Parameters`, `Body`.
|
|
27
|
+
3. **Trace each input to its assignment.** Find which one can be `Nothing` on the failing path — an unset variable, a no-result upstream activity, or a config/asset that was empty.
|
|
28
|
+
4. **Check for an upstream `ContinueOnError` HTTP call** whose empty response is dereferenced here.
|
|
29
|
+
|
|
30
|
+
## Resolution
|
|
31
|
+
|
|
32
|
+
- **Null input variable:** ensure the variable is assigned a non-null value before the activity, or add a guard (validate / default it) on the path that reaches the HTTP Client.
|
|
33
|
+
- **Null from an upstream activity:** fix the upstream activity so it returns a value, or handle its empty result explicitly before passing it on.
|
|
34
|
+
- **Empty response after `ContinueOnError`:** check the prior call's `StatusCode` / result for success before dereferencing it; do not assume a response exists when `ContinueOnError` is on.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
confidence: medium
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# HTTP Client — Request Failed (WebException)
|
|
6
|
+
|
|
7
|
+
## Context
|
|
8
|
+
|
|
9
|
+
What this looks like:
|
|
10
|
+
- A `UiPath.Web.Activities.HttpClient` activity faults with `System.Net.WebException`.
|
|
11
|
+
- The job `Info` / `JobError.Type` names `System.Net.WebException`; the message is framework-originated (not a UiPath string), e.g.:
|
|
12
|
+
- `The remote server returned an error: (404) Not Found.` / `(401) Unauthorized.` / `(500) Internal Server Error.`
|
|
13
|
+
- DNS failure — `No such host is known. (<host>:<port>)` on modern .NET (`targetFramework: Windows`, .NET 6+; confirmed by repro on .NET 8) or `The remote name could not be resolved: '<host>'` on legacy .NET Framework
|
|
14
|
+
- `Unable to connect to the remote server`
|
|
15
|
+
- `The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.`
|
|
16
|
+
- The exception is the raw RestSharp/transport exception unwrapped from the request task — `HttpClient` does not wrap it.
|
|
17
|
+
- **A timeout also surfaces as `System.Net.WebException` on modern .NET, with message `The operation has timed out.`** If that is the message, this is a timeout, not a connection failure — go to [http-request-timeout.md](./http-request-timeout.md).
|
|
18
|
+
|
|
19
|
+
What can cause it (branch from the message):
|
|
20
|
+
- **Non-success HTTP status (4xx/5xx)** — the server was reached and answered with an error status. `401/403` = auth/permission; `404` = wrong path/resource; `429` = rate limited; `5xx` = server-side fault.
|
|
21
|
+
- **DNS resolution failure** (`remote name could not be resolved`) — wrong/typo'd host, or DNS not reachable from the robot machine.
|
|
22
|
+
- **Connection refused / unreachable** (`Unable to connect`) — host up but port closed, service down, or firewall/proxy blocking egress.
|
|
23
|
+
- **SSL/TLS failure** (`Could not establish trust relationship` / `secure channel`) — untrusted/expired server cert, or a TLS-version/proxy-interception mismatch.
|
|
24
|
+
|
|
25
|
+
What to look for:
|
|
26
|
+
- **The status code or transport phrase in the message** — selects the branch directly.
|
|
27
|
+
- **`EndPoint` value** in the workflow source — confirm scheme/host/path are intended; a bare host gets `http://` prepended by the activity.
|
|
28
|
+
- **`ContinueOnError`** — if `True`, the activity would NOT fault here; a faulted job means it is `False` (or the failure is elsewhere).
|
|
29
|
+
- **Whether the same endpoint works from the robot machine** — isolates robot-network/proxy from a server-side problem.
|
|
30
|
+
|
|
31
|
+
## Investigation
|
|
32
|
+
|
|
33
|
+
1. **Capture the exact message + faulted activity.** `uip or jobs get <job-key> --output json` → `Info` (full message) and `JobError.ActivityName` / `WorkflowFilePath`. Confirm the activity is `HttpClient`.
|
|
34
|
+
2. **Read the request configuration from source.** Open the workflow; capture `EndPoint`, `Method`, auth properties, and `EnableSSLVerification`.
|
|
35
|
+
3. **Branch on the message:**
|
|
36
|
+
- Has an HTTP status code → server answered; go to step 4.
|
|
37
|
+
- "could not be resolved" / "Unable to connect" → transport/network; go to step 5.
|
|
38
|
+
- "SSL/TLS" / "trust relationship" → certificate/TLS; go to step 6.
|
|
39
|
+
4. **Status-code branch.** Map the code: `401/403` → auth/permission on the target API; `404` → endpoint path/resource wrong or removed; `429` → throttling; `5xx` → target service fault (often transient — check whether earlier runs succeeded).
|
|
40
|
+
5. **Transport branch.** Verify the host resolves and the port is reachable from the **robot machine** (not the author's machine). Check proxy/firewall egress rules.
|
|
41
|
+
6. **TLS branch.** Check the server certificate validity/chain and the TLS version the endpoint requires; confirm the robot's trust store and that any intercepting proxy is trusted.
|
|
42
|
+
|
|
43
|
+
## Resolution
|
|
44
|
+
|
|
45
|
+
- **Non-success status:** fix per code — supply/refresh credentials or scope (`401/403`); correct the `EndPoint` path or resource id (`404`); add backoff / reduce call rate (`429`); for `5xx`, treat as a target-service fault — retry, or escalate to the API owner if persistent.
|
|
46
|
+
- **DNS failure:** correct the host in `EndPoint`; ensure the robot machine can resolve it (DNS server / hosts entry / VPN).
|
|
47
|
+
- **Connection refused / unreachable:** confirm the service is listening on the expected port and that the robot's network/proxy/firewall allows egress to it.
|
|
48
|
+
- **SSL/TLS failure:** install/trust a valid server certificate (or fix the expired one); align the TLS version; trust the intercepting proxy's CA on the robot machine. Disabling `EnableSSLVerification` masks the problem and is not a fix for production endpoints.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
confidence: medium
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# HTTP Client — Request Timed Out (TimeoutException)
|
|
6
|
+
|
|
7
|
+
## Context
|
|
8
|
+
|
|
9
|
+
What this looks like:
|
|
10
|
+
- A `UiPath.Web.Activities.HttpClient` activity faults with the message `The operation has timed out.` because the request exceeded `TimeoutMS` (default `6000` ms).
|
|
11
|
+
- **The exception type is runtime-dependent** — verify both:
|
|
12
|
+
- Modern .NET (project `targetFramework: Windows`, .NET 6+): surfaces as **`System.Net.WebException: The operation has timed out.`** (the RestSharp request task faults and the raw transport exception is rethrown before the activity's explicit timeout path runs). Confirmed by repro on .NET 8.
|
|
13
|
+
- Legacy (.NET Framework 4.6.1, `Windows - Legacy`): `HttpClient` throws **`System.TimeoutException`** explicitly when RestSharp reports status `TimedOut`.
|
|
14
|
+
- Either way the **message is `The operation has timed out.`** — match on the message, not just the type. On modern .NET this overlaps with the connection-failure `WebException` ([http-request-connection-failure.md](./http-request-connection-failure.md)); the message text is the discriminator.
|
|
15
|
+
- For the modern `NetHttpRequest` activity a timeout instead surfaces as `System.AggregateException` → inner `TaskCanceledException` — see [net-http-request-aggregate-failure.md](./net-http-request-aggregate-failure.md).
|
|
16
|
+
|
|
17
|
+
What can cause it:
|
|
18
|
+
- **Endpoint slower than `TimeoutMS`** — the server responds, but later than the configured budget (large payload, slow query, cold start).
|
|
19
|
+
- **`TimeoutMS` set too low** — a tight timeout for an endpoint that is legitimately slow.
|
|
20
|
+
- **Endpoint hung / not responding** — server overloaded or down; the request never completes.
|
|
21
|
+
- **Network latency / proxy stall** between the robot machine and the endpoint.
|
|
22
|
+
|
|
23
|
+
What to look for:
|
|
24
|
+
- **`TimeoutMS` value** in the workflow source vs the endpoint's realistic response time.
|
|
25
|
+
- **Whether the endpoint responds at all** when called manually from the robot machine, and how long it takes.
|
|
26
|
+
- **Recent-runs pattern** — if earlier runs succeeded and only recent ones time out, the endpoint slowed or degraded (not a config change).
|
|
27
|
+
|
|
28
|
+
## Investigation
|
|
29
|
+
|
|
30
|
+
1. **Confirm the signature + activity.** `uip or jobs get <job-key> --output json` → `Info` shows `System.TimeoutException: The operation has timed out.` and `JobError.ActivityName` = the `HttpClient` activity.
|
|
31
|
+
2. **Read `TimeoutMS` and `EndPoint` from source.** Note whether `TimeoutMS` is left at the `6000` ms default.
|
|
32
|
+
3. **Measure the endpoint** from the robot machine (or an equivalent network position): does it respond, and in how long relative to `TimeoutMS`?
|
|
33
|
+
4. **Check recent runs** for the same process (`uip or jobs list ... --output json`) — a shift from success to timeout points at endpoint degradation rather than a workflow change.
|
|
34
|
+
|
|
35
|
+
## Resolution
|
|
36
|
+
|
|
37
|
+
- **Endpoint legitimately slower than the budget:** raise `TimeoutMS` to cover the endpoint's real response time (with headroom).
|
|
38
|
+
- **Endpoint hung / down:** treat as a target-service availability problem — retry, or escalate to the API owner; raising the timeout alone will not help a non-responding server.
|
|
39
|
+
- **Network/proxy stall:** fix egress latency / proxy configuration on the robot machine.
|
|
40
|
+
- **Genuinely long operation:** if the endpoint is expected to take a long time, combine a higher `TimeoutMS` with a retry/backoff around the activity rather than an unbounded wait.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
confidence: medium
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# HTTP Request (NetHttpRequest) — Aggregate Exception
|
|
6
|
+
|
|
7
|
+
## Context
|
|
8
|
+
|
|
9
|
+
What this looks like:
|
|
10
|
+
- A `UiPath.Web.Activities.NetHttpRequest` (modern **HTTP Request**) activity faults with `System.AggregateException` and the message `One or more errors occurred. (<inner message>)`.
|
|
11
|
+
- `NetHttpRequest` runs an async pipeline over `System.Net.Http.HttpClient` with a retry policy; when the pipeline faults the task exception surfaces as an `AggregateException` **wrapper**. The real cause is the inner exception.
|
|
12
|
+
- Note: `NetHttpRequest` defaults `ContinueOnError = True`, so HTTP error statuses (4xx/5xx) normally do NOT fault — they return a response summary. A faulted job means either `ContinueOnError = False` or a transport/timeout/setup failure the pipeline could not turn into a response.
|
|
13
|
+
|
|
14
|
+
What can cause it (read the inner exception):
|
|
15
|
+
- **Inner `System.Net.Http.HttpRequestException`** — transport/HTTP failure after retries: DNS resolution failure, connection refused, SSL/TLS handshake failure, or (when `ContinueOnError = False`) a non-success status the retry policy exhausted.
|
|
16
|
+
- **Inner `System.Threading.Tasks.TaskCanceledException` / `TimeoutException`** — the request exceeded `TimeoutInMiliseconds` (default `10000` ms). See [http-request-timeout.md](./http-request-timeout.md) for the legacy analog.
|
|
17
|
+
- **Inner validation/setup exception** — bad `RequestUrl`, unresolved `ConnectionId`, or invalid auth configuration surfaced during input preprocessing.
|
|
18
|
+
|
|
19
|
+
What to look for:
|
|
20
|
+
- **`InnerException` / `InnerExceptions` type and message** — the decisive signal; the `AggregateException` text alone is not enough.
|
|
21
|
+
- **`RequestUrl`, `TimeoutInMiliseconds`, `RetryCount`, `ContinueOnError`, `AuthenticationType`** from the workflow source.
|
|
22
|
+
- **Trace spans** — expose the request URL, attempt count, and HTTP status across retries.
|
|
23
|
+
|
|
24
|
+
## Investigation
|
|
25
|
+
|
|
26
|
+
1. **Confirm the signature + activity.** `uip or jobs get <job-key> --output json` → `Info` shows `System.AggregateException`; `JobError.ActivityName` = the `NetHttpRequest` activity.
|
|
27
|
+
2. **Unwrap the inner exception.** Read the inner type/message from the `Info` stack (and from `uip or jobs traces <job-key> --output json` / `uip traces spans get --job-key <job-key> --output json`). This selects the branch.
|
|
28
|
+
3. **Branch on the inner exception:**
|
|
29
|
+
- `HttpRequestException` → transport/status: apply [http-request-connection-failure.md](./http-request-connection-failure.md) (DNS / connection / TLS / status).
|
|
30
|
+
- `TaskCanceledException` / `TimeoutException` → timeout: apply [http-request-timeout.md](./http-request-timeout.md) against `TimeoutInMiliseconds`.
|
|
31
|
+
- validation/setup → fix the named input (`RequestUrl`, `ConnectionId`, auth).
|
|
32
|
+
4. **Read the request configuration from source** to confirm the branch (URL, timeout, retry, auth).
|
|
33
|
+
|
|
34
|
+
## Resolution
|
|
35
|
+
|
|
36
|
+
- **Resolve by inner cause, not the wrapper.** Map the unwrapped inner exception to its fix using the cross-referenced playbook above (connection/status, or timeout).
|
|
37
|
+
- **Validation/setup inner exception:** correct the offending input — fix `RequestUrl`, resolve/select a valid `ConnectionId`, or supply the credentials/token the chosen `AuthenticationType` requires.
|
|
38
|
+
- **Retry exhausted on a transient fault:** raise `RetryCount` / adjust the retry policy if the endpoint is intermittently slow, but only after confirming the inner cause is genuinely transient.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Web Activities Playbooks
|
|
2
|
+
|
|
3
|
+
**Investigation guide:** [investigation_guide.md](./investigation_guide.md) — data correlation rules and testing prerequisites for `UiPath.Web.Activities` investigations. These activities propagate raw .NET / Newtonsoft / RestSharp exceptions (no package-specific wrapper), so the **faulted activity class + exception class** is the primary discriminator.
|
|
4
|
+
|
|
5
|
+
| Issue | Confidence | Description | Playbook |
|
|
6
|
+
|-------|:---:|-------------|----------|
|
|
7
|
+
| HTTP Client — Request Failed | Medium | `HttpClient` faults with `System.Net.WebException` — the outbound call failed: non-success HTTP status (4xx/5xx), DNS resolution failure (`No such host is known.` on .NET 6+ / `The remote name could not be resolved` on legacy), connection refused (`Unable to connect to the remote server`), or SSL/TLS (`Could not establish trust relationship for the SSL/TLS secure channel`). Branch from the message. | [http-request-connection-failure.md](./playbooks/http-request-connection-failure.md) |
|
|
8
|
+
| HTTP Client — Request Timed Out | Medium | `HttpClient` request exceeds `TimeoutMS` (default 6000 ms), message `The operation has timed out.` — type is runtime-dependent: `System.Net.WebException` on .NET 6+ (confirmed by repro on .NET 8), `System.TimeoutException` on legacy .NET Framework. Match on the message. (`NetHttpRequest` timeouts arrive as `AggregateException`→`TaskCanceledException`.) | [http-request-timeout.md](./playbooks/http-request-timeout.md) |
|
|
9
|
+
| HTTP Client — Null Reference | Medium | `HttpClient` faults with `System.NullReferenceException` during request building — a request input (`EndPoint`, header, cookie, parameter, body) resolved to null, often from an unset variable or a no-result upstream activity. No HTTP status in the message means the request was never sent. | [http-client-null-reference.md](./playbooks/http-client-null-reference.md) |
|
|
10
|
+
| HTTP Request (NetHttpRequest) — Aggregate Exception | Medium | `NetHttpRequest` faults with `System.AggregateException` wrapping the real cause. Unwrap `InnerException`: `HttpRequestException` (DNS/connection/TLS/status) or `TaskCanceledException` (timeout vs `TimeoutInMiliseconds`, default 10000 ms). Defaults `ContinueOnError = True`, so a fault is transport/timeout/setup, not a plain 4xx/5xx. | [net-http-request-aggregate-failure.md](./playbooks/net-http-request-aggregate-failure.md) |
|
|
11
|
+
| Deserialize — Malformed JSON / XML Input | High | `DeserializeJson` / `DeserializeJsonArray` throw `Newtonsoft.Json.JsonReaderException` and `DeserializeXml` throws `System.Xml.XmlException` when the input string is not valid JSON/XML (HTML error page, empty/partial body, wrong encoding, object-vs-array). The `line`/`position` localizes the defect. **Most common cause: an upstream `HttpClient`/`NetHttpRequest` returned a non-payload body** — diagnose the HTTP call. | [deserialize-malformed-input.md](./playbooks/deserialize-malformed-input.md) |
|
|
12
|
+
| Deserialize JSON — Type Mismatch | Medium | `DeserializeJson<T>` throws `Newtonsoft.Json.JsonSerializationException` when well-formed JSON does not fit the target type `T` (object-vs-array, member type mismatch, schema drift, wrong `T`). The message `Path` names the offending member. | [deserialize-type-mismatch.md](./playbooks/deserialize-type-mismatch.md) |
|
|
13
|
+
| Deserialize — Null / Empty Input | High | Input string is null/empty. `DeserializeJson` guards it → `System.ArgumentNullException (Parameter 'JSON string')`; `DeserializeJsonArray` has no guard → `System.NullReferenceException`. Usually an unassigned variable or a null upstream value. | [deserialize-null-input.md](./playbooks/deserialize-null-input.md) |
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Word Activities Investigation Guide
|
|
2
|
+
|
|
3
|
+
## Data Correlation
|
|
4
|
+
|
|
5
|
+
Before using any fetched data, verify it matches the user's reported problem:
|
|
6
|
+
|
|
7
|
+
- **Activity** — the faulted activity's namespace and class match the reported failure (`UiPath.Word.Activities.WordApplicationScope`, `UiPath.Word.Activities.WordReplaceText` / `ReplaceTextInDocument`, and `Read Text`). Classic `Word Application Scope` (Interop) and the modern `Use Word File` surface share intent but run different code paths — treat them as different. For `Read Text`, also distinguish the **Word-pack** activity (needs a container) from the **standalone** `System > File > Word Document` `Read Text` (takes a file path, `.docx`-only) — they fail for different reasons. A substitution/extraction fault is distinct from a scope-level fault: the scope opened fine and the failure is in the activity. `Export to PDF` (`WordExportToPdf`) faults are about the **output** (missing directory, malformed path) or **COM** (orphaned WINWORD), not the document content. `Append Text` (`WordAppendText`) has the same App-Integration-vs-standalone split as Read Text (container required vs file path), plus a 0-byte-file ("Archive file cannot be size zero") signature; its install / lock / version faults are shared with the scope-level playbooks.
|
|
8
|
+
- **Faulting frame** — the deepest `UiPath.Word.*` stack frame routes to the right playbook: `WordAppHelpers.StartNewApplication` / `ComAppReferenceCountManager.StartOrAttach` = COM **start** failure (Word couldn't launch — background/Session-0, not-installed, or broken registration); `WordDocumentFactory.OpenOrCreateNewDocument` / `Documents.Open` = **open** failure (bad or URL `FilePath`); a child cast to `_Document` (IID `{0002096B-...}`) = **wrong-thread** apartment fault. Do not apply one signature's cause to a different frame. For a COM-start failure on an unattended run, read `runtimeOptions.requiresUserInteraction` in `project.json`: `false` ⇒ Background Process ⇒ Session 0 with no interactive session (the primary COM-start cause).
|
|
9
|
+
- **Document** — the document path in evidence matches the file the user is asking about. A scope pointed at a different document is unrelated data.
|
|
10
|
+
- **Robot / machine identity** — the robot account and the machine where Word is installed match the one the user reports. Word installation, bitness, activation state, and Trust Center settings are per-user-per-machine, so evidence from a different host is not transferable.
|
|
11
|
+
- **Office version and bitness** — the Word/Office version and bitness installed on the robot machine match what the user reports. Bitness mismatch with the robot process is a known COM-interop cause; multiple Office installs produce dispatcher ambiguity.
|
|
12
|
+
- **Package version** — the `UiPath.Word.Activities` version referenced in `project.json` matches what is installed on the execution host. A "cannot create unknown type" error is a version/restore mismatch, not a runtime defect.
|
|
13
|
+
- **Timestamp** — the failure occurred during the time window the user reported. Load-bearing for hang/COM investigations (a transient lock or background dialog may not reproduce on demand).
|
|
14
|
+
|
|
15
|
+
If the data doesn't match: **discard it**. Do NOT use unrelated data as a proxy. Report the mismatch and ask for clarification.
|
|
16
|
+
|
|
17
|
+
## What to Capture
|
|
18
|
+
|
|
19
|
+
1. **Workflow source** — read the `WordApplicationScope` node from the `.xaml` to capture the literal document `Path` expression, `CreateIfNotExists`, `Password`, and whether the scope runs visible or unattended. Property-panel summaries truncate; the XAML is authoritative.
|
|
20
|
+
2. **Word installed + bitness** — whether desktop Word is installed on the execution host (`Control Panel > Programs and Features`, or `HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\winword.exe`), and the Office bitness (`File > Account > About Word`) versus the robot process bitness.
|
|
21
|
+
3. **Robot type** — whether the host is a Linux/container robot that cannot run Interop at all.
|
|
22
|
+
4. **Process state at failure time** — whether WINWORD.EXE was already running or orphaned, and whether any modal dialog (password, recovery sidebar, Safe Mode, activation, Protected View) was open. Without `Visible = True`, dialogs are invisible but still block COM calls.
|
|
23
|
+
5. **Document path resolution** — the concrete path the dynamic expression resolves to on the robot host (not the developer machine), whether the file exists there, and whether it is held open by a sync client, antivirus, or a concurrent job.
|
|
24
|
+
6. **Package version** — `UiPath.Word.Activities` version in `project.json` versus the version restored on the execution host, especially for remote/Orchestrator runs.
|
|
25
|
+
7. **Replace Text inputs + outcome** — for `Replace Text in Document` faults, capture the `Search` and `Replace` expressions (and their runtime lengths — 256 chars is the classic cap), whether the activity threw or succeeded-with-no-change, and whether it sits inside a loop with `Auto Save` enabled. For a silent miss, inspect the template's placeholder for run-splitting / mixed formatting; trace the **output document content**, not just the absence of an exception.
|
|
26
|
+
8. **External Word state + run surface** — for a COM wrong-thread fault (`0x8001010E`), whether `WINWORD.EXE` was already running when the run started and whether it stayed open through the operation, plus the run surface (foreground Studio vs unattended / Session 0 / background) and whether the faulting activity runs on a non-creator thread (Parallel/Pick/Invoke/coded). The fault depends on an externally-owned instance and the apartment the proxy is accessed from.
|
|
27
|
+
|
|
28
|
+
## Testing Prerequisites
|
|
29
|
+
|
|
30
|
+
When testing hypotheses for `Word Application Scope` issues, gather and verify these before drawing conclusions:
|
|
31
|
+
|
|
32
|
+
1. **Activity identity** — confirm the faulted activity is `UiPath.Word.Activities.WordApplicationScope` and not the modern `Use Word File` activity, which runs a different code path.
|
|
33
|
+
2. **Document path** — exact path bound to the scope, resolved against the robot's working directory at run time (relative paths resolve against the project folder, not the document folder).
|
|
34
|
+
3. **Word installation + bitness** — desktop Word present on the robot machine and its bitness relative to the robot process. The user (or someone with desktop access) must check; it cannot be inferred from job logs.
|
|
35
|
+
4. **Interactive state** — whether a background dialog was blocking. Reproduce with the scope visible to confirm.
|
|
36
|
+
5. **Package version** — `UiPath.Word.Activities` version available on the execution host, compared against `project.json`.
|
|
37
|
+
|
|
38
|
+
When testing hypotheses for `Replace Text in Document` issues:
|
|
39
|
+
|
|
40
|
+
1. **Activity surface** — classic `WordReplaceText` (inside `Word Application Scope`) vs modern `ReplaceTextInDocument` (inside `Use Word File`). The 256-char limit is a classic-version constraint.
|
|
41
|
+
2. **Search / Replace values** — the literal expressions and their .NET string lengths at run time; confirm an exact character-for-character match against the on-screen placeholder for a silent miss, and check >256 chars for the length-limit hypothesis.
|
|
42
|
+
3. **Throw vs no-op** — whether the activity raised an exception (COM busy, file lock, ArgumentException) or completed with the document unchanged (run-split placeholder). A clean run with no substitution points at the template, not an exception path.
|
|
43
|
+
|
|
44
|
+
When testing hypotheses for `Read Text` issues:
|
|
45
|
+
|
|
46
|
+
1. **Which Read Text surface** — Word-pack `Read Text` (requires a `Use Word File` / `Word Application Scope` container) vs standalone `System > File > Word Document` `Read Text` (own file path, `.docx`-only). The container vs format failures are surface-specific.
|
|
47
|
+
2. **Container placement** — whether the Word-pack `Read Text` is nested inside a scope; a design-time validation warning / runtime invalid-context fault points at missing-container.
|
|
48
|
+
3. **File format + origin** — for the standalone activity, whether the input is legacy `.doc` (unsupported, `.docx`-only) and whether the file came from email/internet/external share (Mark-of-the-Web → Protected View block).
|
|
49
|
+
|
|
50
|
+
When testing hypotheses for `Export to PDF` (`WordExportToPdf`) issues:
|
|
51
|
+
|
|
52
|
+
1. **Output path** — capture the literal output File Path. Does the **parent folder exist** on the host (missing folder → generic `Command Failed`)? Does it end in `.pdf` with one clean separator and no empty variable segments (malformed path → save failure)?
|
|
53
|
+
2. **Generic `Command Failed` carries no detail** — disambiguate by checking folder existence and path format before assuming COM.
|
|
54
|
+
3. **COM state** — for a hang/crash/`COMException`, check for orphaned `WINWORD.EXE` and whether the input document is locked/open elsewhere.
|
|
55
|
+
4. **Package vs Studio version** — for a `TargetInvocationException`, compare `UiPath.Word.Activities` against the Studio version (same as the Replace Text version-mismatch case).
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Word Activities
|
|
2
|
+
|
|
3
|
+
Activities from the `UiPath.Word.Activities` package for automating Microsoft Word documents on Windows. Activities run inside a scope container that opens a single `.docx`/`.doc`/`.dotx` and exposes it to the child activities: the modern `Use Word File` (`WordProcessScope`) or the classic `Word Application Scope` (`UiPath.Word.Activities.WordApplicationScope`). Most document operations — including `Add Picture` — drive a real `WINWORD.EXE` instance through Office Interop (COM), so the package depends on a working, matching-bitness Microsoft Word install on the robot host.
|
|
4
|
+
|
|
5
|
+
A separate file-based path exists for hosts where Office is missing or locked down: the `Word Document` activities (Studio activity panel under **System > File > Word Document**, e.g. `WordDocumentScope`) read/write the `.docx` through the document object model without launching Word. They do not support every COM-only operation, but cover common read/insert tasks and are the migration target when COM interop cannot be made reliable.
|
|
6
|
+
|
|
7
|
+
## How Word Application Scope Executes
|
|
8
|
+
|
|
9
|
+
`Word Application Scope` opens a `.docx`/`.doc`/`.dotx` document inside a COM-backed WINWORD.EXE session, runs the child activities against that open document, then saves and closes. Behaviour chain:
|
|
10
|
+
|
|
11
|
+
1. Create the `Word.Application` COM instance (requires registered desktop Word; bitness must be compatible with the robot process)
|
|
12
|
+
2. Open the document at the configured path (or create it when `Create if not exists` is set)
|
|
13
|
+
3. Run child activities against the open document
|
|
14
|
+
4. Save and close, releasing the WINWORD.EXE handle
|
|
15
|
+
|
|
16
|
+
Failures originate at distinct layers — COM/Interop availability (step 1), file resolution and locks (step 2), interactive prompts that block COM (any step), or package/type loading (before step 1). Knowing which layer produced the error narrows the investigation.
|
|
17
|
+
|
|
18
|
+
## Add Picture (WordAddImage)
|
|
19
|
+
|
|
20
|
+
`Add Picture` (`UiPath.Word.Activities.WordAddImage`) inserts an image into the Word document opened by its parent scope. Behaviour chain:
|
|
21
|
+
|
|
22
|
+
1. Resolve the open document handle from the surrounding `Use Word File` / `Word Application Scope`.
|
|
23
|
+
2. Read the image from the path in the `Picture to insert` (`ImagePath`) property — a file path string, not an in-memory image object.
|
|
24
|
+
3. Locate the insertion point from `Insert relative to` — `Text` (a literal anchor string), `Bookmark` (a named bookmark), or `Document` (`Start` / `End`).
|
|
25
|
+
4. Insert the image at the resolved point and commit it to the document.
|
|
26
|
+
|
|
27
|
+
Failures can originate at any layer — scope/context (step 1), file path or image format (step 2), target resolution (step 3), or COM interop with Word itself (any step).
|
|
28
|
+
|
|
29
|
+
Key properties: `ImagePath` ("Picture to insert" — fully-qualified absolute path or an exact relative path string), `InsertRelativeTo` ("Insert relative to" — `Text` / `Bookmark` / `Document`), the corresponding anchor (`Text` string, `BookmarkName`, or `Position` = `Start`/`End`), and sizing options (`Width` / `Height`).
|
|
30
|
+
|
|
31
|
+
## Replace Text in Document
|
|
32
|
+
|
|
33
|
+
`Replace Text in Document` finds a `Search` string in the document opened by the surrounding scope and substitutes `Replace`. Classic `WordReplaceText` runs inside `Word Application Scope` (Interop); modern `ReplaceTextInDocument` runs inside `Use Word File`. They share a display name but run different code paths — treat them as distinct. Classic versions cap `Search`/`Replace` at 256 characters. A failure here is distinct from a scope-level fault: the scope opened fine; the failure is in the substitution (an exception, or a silent success with the document unchanged).
|
|
34
|
+
|
|
35
|
+
## Read Text
|
|
36
|
+
|
|
37
|
+
`Read Text` extracts the document's text. Two distinct surfaces fail for different reasons: the **Word-pack** `Read Text` reads the document held open by a surrounding `Use Word File` / `Word Application Scope` (it has no file input of its own); the **standalone** `Read Text` under `System > File > Word Document` takes a file path directly (no container) but is OpenXML `.docx`-only.
|
|
38
|
+
|
|
39
|
+
## Export to PDF
|
|
40
|
+
|
|
41
|
+
`Export to PDF` (`WordExportToPdf`, also "Save Document as PDF") exports the open document to a PDF at a target path, via Word Interop inside a `Word Application Scope`. It does **not** auto-create the output directory. Faults are about the **output** (missing target folder, malformed path) or **COM** (orphaned `WINWORD.EXE` / locked input), not the document content.
|
|
42
|
+
|
|
43
|
+
## Append Text
|
|
44
|
+
|
|
45
|
+
`Append Text` (`WordAppendText`) appends text to the document. Like Read Text, it has two surfaces: the **App-Integration** `Append Text` appends to the document held open by a surrounding `Word Application Scope` / `Use Word File` (no file input of its own); the **standalone** `Append Text` under the **Word Document** category takes a file path directly (no container, no Word install needed).
|
|
46
|
+
|
|
47
|
+
## Key Activities
|
|
48
|
+
|
|
49
|
+
- **Word Application Scope** (`WordApplicationScope`, display name "Word Application Scope") — open a Word document via Interop and run child activities against it. **COM-only** — requires desktop Word. Properties include the document `Path`, `CreateIfNotExists` (generate the file when absent), and `Password`.
|
|
50
|
+
- **Add Picture** (`WordAddImage`, display name "Add Picture") — insert an image into the document opened by the parent scope; see the `Add Picture` execution model above.
|
|
51
|
+
- **Replace Text in Document** (modern `ReplaceTextInDocument` inside `Use Word File`, classic `WordReplaceText` inside `Word Application Scope`) — find a `Search` string and substitute `Replace`. Classic versions cap `Search`/`Replace` at 256 characters.
|
|
52
|
+
- **Read Text** (display name "Read Text") — extract the document's text. Word-pack `Read Text` reads the document held open by a surrounding `Use Word File` / `Word Application Scope` (no file input of its own); the standalone `System > File > Word Document` `Read Text` takes a file path directly but is OpenXML `.docx`-only.
|
|
53
|
+
- **Export to PDF** (`WordExportToPdf`, display name "Export to PDF" / "Save Document as PDF") — export the open document to a PDF at a target path, via Interop inside a `Word Application Scope`. Does **not** auto-create the output directory.
|
|
54
|
+
- **Append Text** (`WordAppendText`, display name "Append Text") — append text to the document. App-Integration `Append Text` appends to the document held open by a surrounding `Word Application Scope` / `Use Word File` (no file input of its own); the standalone `Word Document` `Append Text` takes a file path directly (no container, no Word install needed).
|
|
55
|
+
|
|
56
|
+
## Common Failure Patterns
|
|
57
|
+
|
|
58
|
+
- **Word not installed / COM interop failure** — the scope faults at startup creating the COM instance. Surfaces as `Error opening document, make sure Word application is installed`, `REGDB_E_CLASSNOTREG` (`80040154`), or `Could not load ... Microsoft.Office.Interop.Word`. Causes: no desktop Word (web-only Office, Linux/container robot), 32-bit/64-bit Office–robot bitness mismatch, or damaged Office COM registration. Package-wide environmental failures (type library not registered, bitness mismatch, Word busy/blocked `0x8001010A`, `WINWORD.EXE` crashing mid-operation with `RPC_E_WRONG_THREAD` `0x8001010E`) are documented in [word-com-interop-failures.md](./playbooks/word-com-interop-failures.md).
|
|
59
|
+
- **"The file appears to be corrupted"** — opening/saving fails reporting corruption. Causes: an orphaned WINWORD.EXE holding the file lock, an in-place template overwrite leaving a half-written source, or Protected View / Mark-of-the-Web blocking the write.
|
|
60
|
+
- **Workflow hangs / freezes indefinitely** — WINWORD.EXE is up but unresponsive because Word opened a background modal prompt (password, document-recovery sidebar, Safe Mode, activation, trust-this-file). When the scope runs invisibly, the dialog still wedges the COM calls.
|
|
61
|
+
- **"Cannot create unknown type WordApplicationScope"** — load/compile-time failure: the execution host lacks the `UiPath.Word.Activities` package dependency, or runs a version without the type. Common when a process works in Studio but fails on a remote robot with a different/missing package version.
|
|
62
|
+
- **File path verification errors** — the document path does not resolve at runtime. Causes: opening a file that should be created (`Create if not exists` unset), a relative path resolved against the wrong working directory, a dynamically built path constructed incorrectly, or an unavailable mapped drive / unhydrated cloud placeholder.
|
|
63
|
+
- **Add Picture — activity outside a Word scope** — `Add Picture` is placed standalone, or in a sequence not nested inside a `Use Word File` / `Word Application Scope`. It faults immediately or shows a design-time validation error. `Add Picture` has no document handle of its own — it only operates on the document its parent scope opened. This is a configuration/structure error, not a runtime COM fault.
|
|
64
|
+
- **Add Picture — insertion target not found** — `Insert relative to` is set to `Text` or `Bookmark`, but the anchor does not exist in the open document. Causes: the `Text` anchor string does not match the document exactly (case-sensitive), the named bookmark does not exist in that document, or the anchor was present in a template but not the actual document instance opened at runtime.
|
|
65
|
+
- **Add Picture — invalid path or unusable image** — `Add Picture` faults with a file-not-found error or a generic exception while reading the image. Causes: a relative `Picture to insert` path that does not resolve under the robot's working directory, a missing/moved file, or an in-memory `UiPath.Core.Image` variable fed into the field instead of a path string. `Add Picture` expects a fully-qualified absolute path (or an exact relative path) to an image file on disk.
|
|
66
|
+
- **Replace Text — placeholder not replaced (silent)** — no exception, but the placeholder is unchanged because Word split it across internal XML runs (the token was edited/backspaced/reformatted in place), so the exact-string search never matches the contiguous term. Trace the output document content, not just the absence of an exception.
|
|
67
|
+
- **Replace Text — input string length limit** — classic versions enforce a hard 256-character cap on `Search`/`Replace`; longer values raise `ArgumentException` or truncate silently. Relaxed in current package versions.
|
|
68
|
+
- **Read Text — activity outside its container** — the modern Word-pack `Read Text` warns at design time / faults at runtime as invalid because it has no file input of its own and was dropped outside a `Use Word File` / `Word Application Scope`. Fix: nest it in a container, or use the standalone `System > File > Word Document` `Read Text` (takes a file path).
|
|
69
|
+
- **Read Text — standalone System Read Text fails on .doc** — the `System > File > Word Document` `Read Text` is OpenXML `.docx`-only and errors / returns nothing on legacy binary `.doc`. Fix: read `.doc` through a `Use Word File` (Interop reads both formats), or convert to `.docx` first.
|
|
70
|
+
- **Read Text — Protected View blocks an externally-sourced file** — reading a file from email / internet / external share faults or hangs because Word opens it in Protected View (Mark-of-the-Web). Fix: unblock the file, add the folder to Trusted Locations, or disable Protected View on the host.
|
|
71
|
+
- **Export to PDF — "Command Failed" (output directory missing)** — `Export to PDF` faults with a generic `Command Failed` because the target folder doesn't exist; the activity won't auto-create it. Fix: `Create Folder` before the export.
|
|
72
|
+
- **Export to PDF — malformed output path / missing `.pdf`** — the File Path is built from unformatted concatenation (no `.pdf` suffix, missing/doubled separator, empty variable segment). Fix: `Path.Combine(folder, name & ".pdf")` and validate the pieces.
|
|
73
|
+
- **Export to PDF — COM interop hang / crash / `COMException`** — an orphaned `WINWORD.EXE` or a locked input document blocks the export's COM call. Fix: Kill Process WINWORD before the scope, ensure the input is free; persistent → an Invoke Code C# `ExportAsFixedFormat` fallback.
|
|
74
|
+
- **Append Text — "Activity is valid only inside WordApplicationScope"** — the App-Integration `Append Text` is outside a `Word Application Scope` / `Use Word File`; it has no file input of its own. Fix: nest it in a scope, or use the standalone `Word Document` `Append Text` (takes a file path).
|
|
75
|
+
- **Append Text — "Archive file cannot be size zero"** — the target `.docx` is a 0-byte file (a renamed `.txt`, or a failed/truncated write), not a valid OpenXML package. Fix: delete it + `Create if not exists`, or fix the upstream that produced the empty file.
|
|
76
|
+
- **COM wrong-thread cast (`0x8001010E RPC_E_WRONG_THREAD`)** — a child activity (commonly `Save Document as PDF`) faults casting `System.__ComObject` to `Microsoft.Office.Interop.Word._Document` (IID `{0002096B-...}`). The document proxy was created on one STA apartment and accessed from another. Causes: the scope attached to an already-open external Word; that external Word closed mid-run; an off-STA / non-interactive runtime (unattended / Session 0 / background); or a thread other than the scope creator (Parallel/Pick/Invoke/coded). Distinct from `0x80010108 RPC_E_DISCONNECTED` (the Word server died outright). See [word-export-pdf-com-wrong-thread.md](./playbooks/word-export-pdf-com-wrong-thread.md).
|
|
77
|
+
|
|
78
|
+
## Package
|
|
79
|
+
|
|
80
|
+
NuGet: `UiPath.Word.Activities`
|
|
81
|
+
|
|
82
|
+
Version-specific bugs are documented in the relevant playbooks.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
confidence: medium
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Add Picture (WordAddImage) Failures
|
|
6
|
+
|
|
7
|
+
## Context
|
|
8
|
+
|
|
9
|
+
`Add Picture` (`UiPath.Word.Activities.WordAddImage`) fails to insert an image into a Word document. The failure falls into one of four distinct categories, each with its own signature and fix. Identify the category first, then apply the matching resolution.
|
|
10
|
+
|
|
11
|
+
What this looks like:
|
|
12
|
+
- A design-time validation warning that the activity is invalid, or an immediate fault when the activity is reached
|
|
13
|
+
- A Word COM HRESULT — `Unable to cast COM object ... 0x8002801D` or `The application is busy ... 0x8001010A`, or Word (`WINWORD.EXE`) faulting and closing mid-insert with a `RPC_E_WRONG_THREAD ... 0x8001010E` cast error (see C2)
|
|
14
|
+
- A missing-reference error — the bookmark or text anchor where the image should go cannot be found
|
|
15
|
+
- A file-not-found or generic exception while reading the `Picture to insert` value
|
|
16
|
+
|
|
17
|
+
What can cause it — four distinct mechanisms:
|
|
18
|
+
|
|
19
|
+
- **C1. Activity outside a Word scope.** `Add Picture` is not nested inside a `Use Word File` (`WordProcessScope`) or `Word Application Scope`. It has no document handle of its own — outside a scope there is no document to insert into, so it is invalid. Faults synchronously or shows a design-time validation error. (A common variant: `Add Picture` lives in an `Invoke Workflow File` child and the scope's document context does not cross the invoke boundary.)
|
|
20
|
+
- **C2. COM / Interop exception or Word process crash.** The Word COM layer faults, or `WINWORD.EXE` itself crashes mid-insert and the activity then throws a COM cast / `RPC_E_WRONG_THREAD` (`0x8001010E`) error on its async-completion path. This is an **environmental / host-level** failure that is not specific to `Add Picture` (it can hit any Word activity), so its full signature set, decision tree, and fixes live in the package-level playbook **[word-com-interop-failures.md](./word-com-interop-failures.md)** (causes E1 type-library/class not registered, E2 bitness mismatch, E3 busy/blocked, E4 Word process crash). One trigger that *is* Add-Picture-specific: inserting a very large but otherwise valid image — `Add Picture` has no resize property, so a multi-megapixel image is handed to Word at full resolution and can crash it (E4).
|
|
21
|
+
- **C3. Insertion target not found.** `Insert relative to` is `Text` or `Bookmark`, but the anchor does not exist in the open document. Text matching is **case- and whitespace-sensitive**; the named bookmark may be a typo, may live only in a template, or may have been removed upstream. (`Insert relative to = Document` has no anchor dependency.)
|
|
22
|
+
- **C4. Invalid path or unusable image.** `Picture to insert` (`ImagePath`) cannot be read. Causes: an in-memory `UiPath.Core.Image` variable was bound instead of a path string; a relative path that does not resolve under the Robot account; a missing/moved file (UNC unreachable, drive not mapped, OneDrive placeholder); or a path typo / extension-casing mismatch.
|
|
23
|
+
|
|
24
|
+
## Causes
|
|
25
|
+
|
|
26
|
+
Name the confirmed sub-cause exactly. Do NOT assert a cause unless the investigation decision tree arrived at it.
|
|
27
|
+
|
|
28
|
+
- **C1.** Activity outside a `Use Word File` / `Word Application Scope`.
|
|
29
|
+
- **C2.** Word COM / Interop exception or Word process crash (environmental/host) — see **[word-com-interop-failures.md](./word-com-interop-failures.md)**.
|
|
30
|
+
- **C3.** Insertion target (text/bookmark) not found in the open document.
|
|
31
|
+
- **C4.** Invalid path or unusable image fed to `Picture to insert`.
|
|
32
|
+
|
|
33
|
+
## Investigation
|
|
34
|
+
|
|
35
|
+
1. **Read the error signature** from job evidence and the `Add Picture` configuration from the `.xaml`. Match against the decision tree below; stop at the first match.
|
|
36
|
+
2. **Decision tree:**
|
|
37
|
+
- Design-time "invalid activity" validation error, or a missing-scope/context message → **C1**. Confirm in the `.xaml` that no ancestor of `Add Picture` is a `Use Word File` / `Word Application Scope` (and that the document context is not lost across an `Invoke Workflow File` boundary).
|
|
38
|
+
- Error contains a COM HRESULT (`0x8002801D`, `0x8001010A`, `0x8001010E`, or related), **or** Word (`WINWORD.EXE`) faulted/closed mid-insert → **C2**. This is a host/COM-layer failure shared by all Word activities — switch to **[word-com-interop-failures.md](./word-com-interop-failures.md)** and follow its decision tree (E1 type-library/class not registered, E2 bitness, E3 busy/blocked, E4 Word process crash). Note for `Add Picture` specifically: a very large but valid image can crash Word on insert (E4), since the activity has no resize property.
|
|
39
|
+
- Error references a missing bookmark or an unlocatable text anchor → **C3**. Read `InsertRelativeTo` and its anchor (`Text` string / `BookmarkName`), open the document the scope actually opened, and search for the anchor exactly (case + whitespace for text; the bookmark list for bookmarks). Confirm the opened file is the intended document, not a template or stale copy.
|
|
40
|
+
- File-not-found or a generic exception reading the image → **C4**. Read the `ImagePath` binding and its type. If it is a `String`, resolve it to a concrete path and confirm the file exists on the robot host under the Robot's Windows user; if relative, determine the working directory it resolves against at runtime. If it is an `Image`/object variable, that is the cause.
|
|
41
|
+
|
|
42
|
+
## Resolution
|
|
43
|
+
|
|
44
|
+
Apply the fix for the identified sub-cause.
|
|
45
|
+
|
|
46
|
+
- **C1 — outside a scope:** wrap `Add Picture` in a `Use Word File` (preferred) or `Word Application Scope` pointed at the target document, and move the activity into the scope body. If it sits in an invoked child workflow, open the scope in that child or move the activity into the parent — scope context does not cross the invoke boundary implicitly. If the structure looks correct but validation still flags it, confirm `UiPath.Word.Activities` is installed and restored in `project.json`.
|
|
47
|
+
- **C2 — COM / Interop or Word crash:** apply the fixes in **[word-com-interop-failures.md](./word-com-interop-failures.md)** for the identified host cause (E1 online-repair of Office; E2 match bitness; E3 clear orphaned `WINWORD.EXE` / dismiss modal / unblock downloaded files; E4 Word process crash). The XAML is correct — do not edit it. For an `Add Picture`-specific E4 crash on a large image, **pre-resize the image before inserting it** (the activity has no resize property), use a smaller image, or insert via `Paste Chart/Picture Into Document`. If Office cannot be made reliable, migrate to the file-based `Word Document` activities (System > File > Word Document).
|
|
48
|
+
- **C3 — target not found:** correct the `Text` anchor to match the document exactly (case + whitespace) or normalize the document text; add or fix the `BookmarkName` so it points at a bookmark that exists in that document. If only top/bottom placement is needed, switch `Insert relative to` to `Document` with `Position` = `Start` / `End` to drop the anchor dependency entirely. If the wrong document was opened, fix the scope's file path.
|
|
49
|
+
- **C4 — invalid path / image:** if an in-memory `UiPath.Core.Image` was bound, save it to disk first with `Save Image` and pass that path string. Use a fully-qualified **absolute** path (e.g. `C:\Images\chart.png`) or build one explicitly (`Path.Combine(...)`) so it resolves identically under the Robot account. Ensure the file is present and readable on the robot host under the Robot's Windows user.
|
|
50
|
+
|
|
51
|
+
If a COM HRESULT or Word crash (C2) persists after all environmental causes are ruled out, follow the escalation guidance in **[word-com-interop-failures.md](./word-com-interop-failures.md)** (capture a `Verbose` robot log plus a Process Monitor trace and/or a ProcDump crash dump of `WINWORD.EXE`, and the offending image) and open a UiPath support case.
|