@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
package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/overview.md
CHANGED
|
@@ -17,12 +17,12 @@ Failures can originate at any of those layers — connection resolution (Integra
|
|
|
17
17
|
### Gmail
|
|
18
18
|
|
|
19
19
|
- **Get Newest Email** (`GetNewestEmailConnections`) — retrieves the single most recent message matching a configured filter.
|
|
20
|
-
- **Send / Reply / Forward Email** (`SendEmailConnections`, `ReplyToEmailConnections`, `ForwardEmailConnections`) — send, reply, or forward a Gmail message. Uploads attachments via Gmail multipart upload, so they share Drive-class quota failures.
|
|
20
|
+
- **Send / Reply / Forward Email** (`SendEmailConnections`, `ReplyToEmailConnections`, `ForwardEmailConnections`, plus legacy `SendEmail`) — send, reply, or forward a Gmail message. Uploads attachments via Gmail multipart upload, so they share Drive-class quota failures. Legacy `SendEmail` validates each attachment path locally first (`File does not exist: <path>`) and requires at least one of `To`/`Cc`/`Bcc` unless `IsDraft`.
|
|
21
21
|
|
|
22
22
|
### Drive
|
|
23
23
|
|
|
24
24
|
- **Item write operations** (`CreateFolderConnections`, `CopyFileConnections`, `MoveFileConnections`, `RenameFileFolderConnections`, `UploadFilesConnections`, `CreateSpreadsheetConnections`, `CreateDocumentConnections`) — create, copy, move, rename, or upload Drive items; behavior on duplicate name in the destination is governed by the `ConflictResolution` enum (`Replace`, `Fail`, `Rename`, `AddSeparate`, `UseExisting`).
|
|
25
|
-
- **Item resolution by ID, URL, or path** (most Drive activities, e.g., `GetFileFolderConnections`, `GetFileFolderInfoConnections`, `DownloadFileConnections`, `DeleteFileOrFolderConnections`, `ShareFileFolderConnections`, plus the write operations above) — resolve a target file or folder against the Drive API; fails with HTTP 404 when the identifier no longer resolves.
|
|
25
|
+
- **Item resolution by ID, URL, or path** (most Drive activities, e.g., `GetFileFolderConnections`, `GetFileFolderInfoConnections`, legacy `GetFileInfo`, `DownloadFileConnections`, `DeleteFileOrFolderConnections`, `ShareFileFolderConnections`, plus the write operations above) — resolve a target file or folder against the Drive API; fails with HTTP 404 when the identifier no longer resolves, or with `ArgumentOutOfRangeException` (`Could not extract an object Id from the Url ...`) before the call when a passed URL has no extractable ID.
|
|
26
26
|
- **Upload Files** (`UploadFilesConnections`, legacy `UploadFile`) — upload local files into Drive via multipart upload; subject to user storage quota and shared-drive file-count limit.
|
|
27
27
|
|
|
28
28
|
### Sheets
|
|
@@ -35,12 +35,12 @@ Failures can originate at any of those layers — connection resolution (Integra
|
|
|
35
35
|
|
|
36
36
|
### Gmail
|
|
37
37
|
|
|
38
|
-
- **Filter returns no matching email** — Gmail mailbox contains zero messages matching the configured filter at the moment the activity runs. `Get Newest Email` throws `GmailException: No email matching the search criteria has been found` synchronously, with no retry or wait.
|
|
38
|
+
- **Filter returns no matching email** — Gmail mailbox contains zero messages matching the configured filter at the moment the activity runs. `Get Newest Email` throws `GmailException: No email matching the search criteria has been found` synchronously, with no retry or wait. The `NewEmailReceived` / `EmailSent` triggers, run in debug/test mode, throw the related `No email matching the filter criteria, received/sent in the last 1 hour has been found...`.
|
|
39
39
|
|
|
40
40
|
### Drive
|
|
41
41
|
|
|
42
42
|
- **Item name conflict** — Drive write activity throws `GSuiteException: Multiple items with the name <name> found in the specified folder.` when the target folder already contains an item with that name and `ConflictResolution` cannot resolve the duplicate. Affects Create Folder, Copy File, Move File, Rename, Upload, Create Spreadsheet, and Create Document.
|
|
43
|
-
- **404 —
|
|
43
|
+
- **404 — resource not found / item does not resolve** — An activity fails to resolve its configured target (Drive file/folder/spreadsheet/document by ID/URL/path, a Gmail message by ID, or a browser-selected item) because the resource was deleted, trashed, or is not accessible to the connection. Surfaces as one of: `File not found: <id>. [404]` (raw `Google.GoogleApiException`), `The service <svc> has thrown an exception. HttpStatusCode is NotFound. ...` (wrapped form), `The resource was not found.` (translated form), or ``Cannot find item configured with connection `<id>` [at path `<path>`].`` (browser-selected item).
|
|
44
44
|
- **Upload storage quota or shared drive file limit exceeded** — Drive or Gmail attachment upload throws `GSuiteException: Upload failed after <N> bytes. ...` carrying a Google 403. Two underlying conditions: `storageQuotaExceeded` (user's Drive storage full) or `The file limit for this shared drive has been exceeded.` (shared drive at the 500K item cap). Affects `UploadFilesConnections`, legacy `UploadFile`, and Gmail send/reply/forward when the message has attachments.
|
|
45
45
|
|
|
46
46
|
### Sheets
|
|
@@ -49,6 +49,14 @@ Failures can originate at any of those layers — connection resolution (Integra
|
|
|
49
49
|
- **10,000,000-cell limit exceeded** — Sheets write or grid-expand activity throws `GSuiteException` carrying a Google 400 BadRequest: `This action would increase the number of cells in the workbook above the limit of 10000000 cells.` The cap is the sum of the bounded grid (rows × columns) across every sheet in the spreadsheet, including empty cells. Hard Google quota; cannot be raised. Affects all cell-writing / grid-expanding Sheets activities.
|
|
50
50
|
- **Invalid range — unable to parse** — Range-addressed Sheets activity throws `GSuiteException` carrying a Google 400 BadRequest: `Invalid data[0]: Unable to parse range: <SheetName>!<CellRef>`. Common causes: 1-indexing mistake (`A0`), empty/null range variable, sheet name with spaces or special characters not single-quoted in A1 notation, stale sheet reference after a rename, or off-by-one in a dynamically-built address. Affects all range-addressed Sheets activities.
|
|
51
51
|
|
|
52
|
+
### Cross-cutting (any service)
|
|
53
|
+
|
|
54
|
+
These families are not specific to one Google service — any activity can hit them, and the failing layer (not the activity) determines the fix.
|
|
55
|
+
|
|
56
|
+
- **Connection / authentication / permission** — failure in the identity layers rather than the resource: an auth-phase `TimeoutException` (`Authentication attempt took longer than <N> seconds to complete, and was cancelled.`), an expired/invalid token (`Invalid authentication credentials.` / `Authentication error: the access token is expired or invalid.`), authorization denied (`Permission to the resource was denied.` / `The user does not have sufficient permissions for the file.` / domain policy), or a raw `ConnectionHttpException` when the Integration Service connection itself is unreachable/deleted (design-time browse failures carry `CNS1044`/`CNS1045`).
|
|
57
|
+
- **Invalid or null input (client-side)** — the activity throws *before* any Google API call because an input is null, empty, out of range, or an invalid combination: `Value cannot be null. (Parameter '<x>')`, `The object used in the activity does not exist.` (mapped `NullReferenceException`), `Column not found: <name>`, `RelativeRowIndex/RelativeColumnIndex <i> outside the range: 0 to <n>.`, `Named ranges with cell value are invalid. Named ranges require no cell input.`, `<property> must be a positive number`, `You do not have the following labels`. The fix is in the workflow inputs, not the connection or resource.
|
|
58
|
+
- **Transient / rate-limit / per-request timeout** — environmental and often temporary: Google 5xx (`Internal server error occurred. Please try again later.` / `The service is currently unavailable. Please try again later.`), rate/quota limits at 429 (`The daily limit was exceeded.` / `The user rate limit was exceeded.` / `The rate limit was exceeded.`), network faults (`HttpRequestException`), a per-request `RequestTimeout` overrun (`A task was canceled.` — a `TaskCanceledException`, **not** a `TimeoutException`), or the generic fallback `An error occurred in the activity.` when the underlying status matched no known mapping. Triggers auto-retry socket errors and 5xx with backoff before surfacing.
|
|
59
|
+
|
|
52
60
|
## Package
|
|
53
61
|
|
|
54
62
|
NuGet: `UiPath.GSuite.Activities`
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
confidence: medium
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# GSuite — Connection, authentication, and permission failures
|
|
6
|
+
|
|
7
|
+
## Context
|
|
8
|
+
|
|
9
|
+
This playbook covers failures that originate in the identity/connection layers — Integration Service connection resolution, Google OAuth token validation, or Google-side authorization — rather than in the requested resource or the activity inputs. The fix is always about *who is connecting and what they are allowed to do*, never about the file/range/filter the activity targets.
|
|
10
|
+
|
|
11
|
+
What this looks like — any of the following messages:
|
|
12
|
+
|
|
13
|
+
- `Authentication attempt took longer than <N> seconds to complete, and was cancelled.` — a `System.TimeoutException` thrown while establishing the connection / acquiring the OAuth token, **not** while calling the Google API. This is the only place GSuite throws a real `TimeoutException`. `<N>` is the configured connection/auth timeout in seconds (legacy scope: the `TimeoutMS` property).
|
|
14
|
+
- `Invalid authentication credentials.` — wrapped `GSuiteException`, Google API returned **HTTP 401** with no more specific reason. The access token presented to Google was rejected.
|
|
15
|
+
- `Authentication error: the access token is expired or invalid.` — wrapped `GSuiteException`, Google error reason `authError`. Same root as 401: the token is no longer valid.
|
|
16
|
+
- `Permission to the resource was denied.` — wrapped `GSuiteException`, Google API returned **HTTP 403** with no more specific reason. The token is valid but the account/connection is not authorized for this operation.
|
|
17
|
+
- `The user does not have sufficient permissions for the file.` — wrapped `GSuiteException`, Google reason `insufficientFilePermissions`. The authenticated account lacks access to the specific Drive item.
|
|
18
|
+
- `The domain administrators have disabled Drive apps.` — wrapped `GSuiteException`, Google reason `domainPolicy`. A Workspace admin policy blocks the connection's app.
|
|
19
|
+
- A raw `UiPath.ConnectionClient.Contracts.ConnectionHttpException` (or a `GSuiteException` carrying its message verbatim) — the Integration Service connection layer itself failed when the activity tried to fetch a token: connection deleted after the workflow started, connection unreachable, token refresh rejected because the user revoked authorization. Legacy `GSuiteApplicationScope` activities using `IntegrationService` auth surface this raw at runtime.
|
|
20
|
+
- ``Connection [<connectionId>] is invalid or you do not have access to it`` — wrapped `GSuiteException` (the `ConnectionHttpException` surfaced on the activity). The configured `ConnectionId` does not resolve to a connection the running identity can use: it was deleted/disabled, is owned in another folder/workspace, the robot account lacks permission to the connection's folder, or the project binding points at the wrong connection. Thrown during token acquisition, before any Google API call.
|
|
21
|
+
|
|
22
|
+
**Design-time variant:** when picking a Drive/Sheets item in the Studio browse dialog fails with *"Items cannot be retrieved"*, the underlying cause is frequently a `ConnectionHttpException` with **HTTP 403** and code `CNS1044` (insufficient permissions) or `CNS1045` (insufficient folder permissions). This is the same authorization problem surfacing at design time instead of run time.
|
|
23
|
+
|
|
24
|
+
What activities can produce these errors:
|
|
25
|
+
Every `*Connections` activity (all Gmail, Drive, Sheets, Docs, Calendar, Tasks, Forms, Apps Script modern activities) and every legacy `GSuiteApplicationScope` child, because all of them resolve a connection and acquire a token before doing any work. Auth-timeout is most visible on the scope/connection itself and on the first activity to execute after a cold token.
|
|
26
|
+
|
|
27
|
+
What can cause it:
|
|
28
|
+
- **Expired or revoked token** (401 / `authError`): the connection's OAuth grant lapsed, the user changed their Google password, or authorization was revoked in the Google account's security settings.
|
|
29
|
+
- **Insufficient scope / sharing** (403 / `insufficientFilePermissions`): the connection's OAuth scopes don't include the needed Drive/Gmail/Sheets scope, or the target resource was never shared with the authenticated account.
|
|
30
|
+
- **Admin / domain policy** (`domainPolicy`): a Workspace administrator disabled third-party apps or the specific connector.
|
|
31
|
+
- **Connection lifecycle** (raw `ConnectionHttpException`): the Integration Service connection was deleted, disabled, or is unreachable between scope setup and activity execution.
|
|
32
|
+
- **Auth timeout** (`TimeoutException`): the OAuth flow or token exchange exceeded the configured timeout — slow network to Google's OAuth endpoint, an interactive consent prompt that was never completed, or a `TimeoutMS` set too low on a legacy scope.
|
|
33
|
+
|
|
34
|
+
> **Different cause — do not apply this playbook:**
|
|
35
|
+
> - **`The storage quota was exceeded.`** / **`Upload failed after <N> bytes. ...`** is also an HTTP 403, but it is a *quota* failure, not an authorization failure — use [upload-storage-quota-exceeded.md](./upload-storage-quota-exceeded.md).
|
|
36
|
+
> - **`The resource was not found.`** (404) means the resource doesn't resolve, not that access was denied — use [drive-file-not-found.md](./drive-file-not-found.md).
|
|
37
|
+
> - Transient 5xx / rate-limit / per-request timeout (`A task was canceled.`) → use [transient-and-timeout-errors.md](./transient-and-timeout-errors.md).
|
|
38
|
+
|
|
39
|
+
## Investigation
|
|
40
|
+
|
|
41
|
+
1. **Identify the failing layer from the message.** Auth-timeout text → token acquisition. 401 / `authError` → token rejected. 403 / `insufficientFilePermissions` / `domainPolicy` → authorization. Raw `ConnectionHttpException` → the IS connection itself.
|
|
42
|
+
2. **Capture the connection** in evidence — the Integration Service connection name and the Google account email it authenticates as. Confirm the connection still exists and is enabled in Integration Service.
|
|
43
|
+
3. **For 401 / auth errors:** check whether the connection's token can be refreshed — reconnect/re-authorize the connection and confirm it succeeds against Google.
|
|
44
|
+
4. **For 403 / permission errors:** capture the target resource (Drive item, mailbox, spreadsheet) and confirm the authenticated account has access to it in the Google UI, and that the connection's OAuth scopes cover the operation.
|
|
45
|
+
5. **For auth-timeout:** capture the configured timeout (`TimeoutMS` on a legacy scope) and whether the auth path requires interactive consent. Confirm network reachability to Google's OAuth endpoint from the robot.
|
|
46
|
+
|
|
47
|
+
## Resolution
|
|
48
|
+
|
|
49
|
+
- **If the token is expired or revoked (401 / `authError`):** Reconnect/re-authorize the Integration Service connection (or refresh the legacy scope's credential). Confirm the Google account password/2FA didn't change and that authorization wasn't revoked in the Google account security settings.
|
|
50
|
+
- **If authorization is insufficient (403 / `insufficientFilePermissions`):** Grant the authenticated account access to the target resource, or recreate the connection with the OAuth scopes the operation requires (e.g., full Drive scope rather than read-only). For the design-time `CNS1044`/`CNS1045` browse failure, the same scope/permission grant fixes the picker.
|
|
51
|
+
- **If a domain policy blocks the app (`domainPolicy`):** Escalate to the Google Workspace administrator to allow the connector/app.
|
|
52
|
+
- **If the connection itself failed (raw `ConnectionHttpException`):** Confirm the connection exists and is enabled in Integration Service; recreate it if it was deleted. Verify the robot has network reachability to the connection service.
|
|
53
|
+
- **If authentication timed out:** Confirm network reachability and latency to Google's OAuth endpoint. Raise the legacy scope's `TimeoutMS` if the auth path is legitimately slow; for interactive OAuth, ensure the consent flow can complete in the robot's session (unattended robots cannot answer an interactive prompt).
|
|
54
|
+
|
|
55
|
+
If the connection reconnects cleanly, the account demonstrably has access, and the error persists, the cause is outside the connection layer — re-triage against the resource-not-found or transient-error playbooks.
|
|
@@ -2,36 +2,44 @@
|
|
|
2
2
|
confidence: high
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
# GSuite
|
|
5
|
+
# GSuite — Resource not found / item does not resolve (HTTP 404)
|
|
6
6
|
|
|
7
7
|
## Context
|
|
8
8
|
|
|
9
|
-
What this looks like — any of the following messages, all
|
|
9
|
+
What this looks like — any of the following messages, all meaning the target the activity tried to address does not resolve:
|
|
10
10
|
|
|
11
11
|
- `File not found: <id>. [404]`
|
|
12
12
|
- `The service drive has thrown an exception. HttpStatusCode is NotFound. File not found`
|
|
13
13
|
- `The service sheets has thrown an exception. HttpStatusCode is NotFound. Requested entity was not found.`
|
|
14
|
-
- `The
|
|
14
|
+
- `The service gmail has thrown an exception. HttpStatusCode is NotFound. ...` (Gmail message by ID)
|
|
15
|
+
- `The resource was not found.` — the translated form of any Google `HTTP 404 NotFound` (Drive file/folder, spreadsheet, document, **or Gmail message by ID**).
|
|
16
|
+
- `Cannot find item configured with connection ` `` `<connectionId>` `` `.` — the activity's configured item (spreadsheet/file selected via the connection browser) could not be resolved by ID.
|
|
17
|
+
- ``Cannot find item configured with connection `<connectionId>` at path `<path>`.`` — same, when resolution fell back to a path (`FullPath` / `FullPathHint`) and that path doesn't exist in Drive either.
|
|
15
18
|
|
|
16
19
|
The job faults synchronously the moment the activity tries to resolve the resource.
|
|
17
20
|
|
|
18
21
|
What activities can produce this error:
|
|
19
|
-
|
|
22
|
+
Any `UiPath.GSuite.Activities` activity that addresses a resource by identifier:
|
|
23
|
+
- **Drive / Sheets / Docs by ID, URL, or path** — `GetFileFolderConnections`, `GetFileFolderInfoConnections`, legacy `GetFileInfo`, `DownloadFileConnections`, `MoveFileConnections`, `CopyFileConnections`, `DeleteFileOrFolderConnections`, `RenameFileFolderConnections`, `ShareFileFolderConnections`, `UploadFilesConnections` (existing parent), and any Sheets/Docs activity that opens a spreadsheet or document by ID. The `Cannot find item configured with connection ...` form comes from activities whose target was picked through the connection's item browser (typically Sheets/Drive `*Connections`). Legacy `GetFileInfo` surfaces the 404 **raw** (`File not found: <id>. [404]`) and faults the job, rather than swallowing it the way the modern `*Connections` variants can — a faulted job, not a null result, is the expected legacy symptom.
|
|
24
|
+
- **Gmail message by ID** — `GetEmailByIdConnections` ("Get Email By Id") when the configured `EmailId` doesn't exist; trigger fetches (`Gmail.Triggers.NewEmailReceived` / `EmailSent`) when the sampled message was deleted between selection and retrieval.
|
|
20
25
|
|
|
21
26
|
What can cause it:
|
|
22
|
-
- The configured ID, URL, or path resolves to a
|
|
27
|
+
- The configured ID, URL, or path resolves to a resource that no longer exists, has been moved to Trash, has been permanently deleted, or was never accessible to the authenticated account. Google has authoritatively returned `404 NotFound`.
|
|
28
|
+
- For the `Cannot find item configured with connection ...` forms: the browser-selected item ID is stale (the file/spreadsheet was deleted or moved) and no valid path fallback exists.
|
|
29
|
+
- For Gmail by ID: the message ID is stale (copied from an older run, or the message was deleted/trashed), or it belongs to a different mailbox than the one the connection authenticates.
|
|
23
30
|
|
|
24
31
|
> **Different cause, similar message — do not apply this playbook:**
|
|
32
|
+
> - **`Permission to the resource was denied.`** / **`Invalid authentication credentials.`** (403 / 401) mean access was *denied*, not that the resource is missing — use [connection-and-auth-failures.md](./connection-and-auth-failures.md). (Note: a resource that exists but was never shared with the account can surface as either 404 or 403, depending on the API — check the status class.)
|
|
25
33
|
> - **`ApplyFileLabelsConnections`** can throw `The resource was not found. Please make sure that the selected label is enabled for "Drive and Docs".` That is a label-configuration issue, not a missing file.
|
|
26
34
|
> - **`The document with the name <name> was not found in the specified folder.`** is a name-based lookup miss (no document with that title in the parent), not a 404 against an ID. Treat as a separate scenario.
|
|
27
|
-
> - **`File does not exist
|
|
35
|
+
> - **`File does not exist: <path>`** (`FileNotFoundException`) refers to a missing **local filesystem** path (e.g., a `SendEmail` attachment, an upload source path, or a service-account key file), not a Drive resource — use [invalid-or-null-input.md](./invalid-or-null-input.md).
|
|
28
36
|
|
|
29
37
|
## Resolution
|
|
30
38
|
|
|
31
39
|
The error is unambiguous; no further investigation is needed. Stop the investigation and ask the user to verify the target resource:
|
|
32
40
|
|
|
33
|
-
1. **Confirm the
|
|
34
|
-
2. **Confirm the configured identifier is correct** — the ID, URL, or
|
|
35
|
-
3. **Confirm the connection's authenticated account has access** to the resource. A
|
|
41
|
+
1. **Confirm the resource still exists** under the connection's account — the Drive file/folder, spreadsheet, or document in Google Drive, or the Gmail message in the mailbox (it may have been deleted, trashed, or moved out of the visible scope).
|
|
42
|
+
2. **Confirm the configured identifier is correct** — the ID, URL, path, or Gmail `EmailId` on the activity must point to the intended resource. Common mistakes: a stale ID copied from an older run, a URL or message ID pointing to a different account's resource, a path that no longer matches the actual folder structure. For the `Cannot find item configured with connection ...` forms, re-select the item through the connection browser so a fresh ID is captured.
|
|
43
|
+
3. **Confirm the connection's authenticated account has access** to the resource. A resource owned by another user that was never shared with this account can also surface as `404 NotFound`.
|
|
36
44
|
|
|
37
|
-
If the user confirms the resource exists, is reachable in the
|
|
45
|
+
If the user confirms the resource exists, is reachable in the Google UI under the same account, and the identifier is correct, the cause is outside the activity — escalate (connection scope, domain policy, sharing — see [connection-and-auth-failures.md](./connection-and-auth-failures.md)) rather than continue under this playbook.
|
|
@@ -2,17 +2,18 @@
|
|
|
2
2
|
confidence: high
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
# GSuite
|
|
5
|
+
# GSuite Gmail — no email matched the filter (Get Newest Email or trigger debug run)
|
|
6
6
|
|
|
7
7
|
## Context
|
|
8
8
|
|
|
9
|
-
What this looks like:
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
9
|
+
What this looks like — a `GmailException` with one of these messages:
|
|
10
|
+
- `No email matching the search criteria has been found` — **Get Newest Email** (`GetNewestEmailConnections`). Faults synchronously the moment the activity runs — no retry, no wait.
|
|
11
|
+
- `No email matching the filter criteria, received in the last 1 hour has been found. Please generate a new email that fits the criteria and run the workflow again` — **New Email Received** trigger (`Gmail.Triggers.NewEmailReceived`) executed in **debug / test mode**.
|
|
12
|
+
- `No email matching the filter criteria, sent in the last 1 hour has been found. Please generate a new email that fits the criteria and run the workflow again` — **Email Sent** trigger (`Gmail.Triggers.EmailSent`) executed in **debug / test mode**.
|
|
13
13
|
|
|
14
14
|
What can cause it:
|
|
15
|
-
- The Gmail mailbox contains zero messages matching the configured filter at the moment the activity executes.
|
|
15
|
+
- The Gmail mailbox contains zero messages matching the configured filter at the moment the activity executes. For `GetNewestEmailConnections`, the activity issues a single Gmail API query with `MaxResults = 1` and throws when the result is empty.
|
|
16
|
+
- For the **triggers**: this only occurs in debug/test mode, where the trigger fetches a *sample* event by querying the mailbox for a matching message **received/sent in the last 1 hour**. At production runtime the trigger is driven by an Orchestrator event id and waits for real events instead of throwing — so this message means a test run found no qualifying recent email, not that the production trigger is broken.
|
|
16
17
|
|
|
17
18
|
What to look for:
|
|
18
19
|
- The exact filter the activity was configured with: `Folder`, `FilterSelectionMode` (ConditionBuilder vs Query), `QueryFilter` (raw Gmail query), or the structured `Filter` collection (`From`, `To`, `Subject`, `Body`, `DateAndTime`, `Cc`, `Bcc`, `Categories`, `Filename`, `Labels`)
|
|
@@ -22,11 +23,11 @@ What to look for:
|
|
|
22
23
|
## Investigation
|
|
23
24
|
|
|
24
25
|
1. From the job logs or workflow, capture the exact values of every filter property listed above and the job start timestamp.
|
|
25
|
-
2.
|
|
26
|
+
2. Identify which activity threw: `GetNewestEmailConnections` (one-shot query, message text `No email matching the search criteria has been found`) or a trigger run in debug/test mode (message text mentions `received/sent in the last 1 hour`). For a trigger, also confirm this was a test/debug execution, not production — at production runtime the trigger waits for events and does not throw this.
|
|
26
27
|
3. There is nothing further to verify programmatically; the Gmail API has already authoritatively returned zero matches for that query. Proceed to Resolution.
|
|
27
28
|
|
|
28
29
|
## Resolution
|
|
29
30
|
|
|
30
31
|
- **In all cases:** Report the captured filter values and job timestamp to the user and ask them to sign in to the target Gmail mailbox and confirm whether any message matching those filters was present at or before the job run time. Then:
|
|
31
|
-
- **If no matching email existed:** This is expected behavior, not a defect. Recommend either (a) loosening the filter (remove `UnreadOnly`/`WithAttachmentsOnly`/`ImportantOnly`/`StarredOnly`, broaden `Subject`/`From`/`DateAndTime`, switch `FilterSelectionMode` to a less restrictive `QueryFilter`), or (b) wrapping the activity in a Try/Catch so the workflow handles the empty-mailbox case explicitly, or (c) scheduling the job to run after the expected email arrives.
|
|
32
|
+
- **If no matching email existed:** This is expected behavior, not a defect. Recommend either (a) loosening the filter (remove `UnreadOnly`/`WithAttachmentsOnly`/`ImportantOnly`/`StarredOnly`, broaden `Subject`/`From`/`DateAndTime`, switch `FilterSelectionMode` to a less restrictive `QueryFilter`), or (b) wrapping the activity in a Try/Catch so the workflow handles the empty-mailbox case explicitly, or (c) scheduling the job to run after the expected email arrives. **For a trigger debug run:** send/receive an email matching the filter within the last hour, then re-run the test — the message says as much (`generate a new email that fits the criteria and run the workflow again`).
|
|
32
33
|
- **If a matching email did exist in the mailbox at that time:** Ask the user to copy the matching message's raw Gmail search query (e.g., `from:foo@bar.com subject:"X" has:attachment`) and compare it against the activity's configured filter to identify the mismatch (common culprits: label scoping, `Folder` set to a label that excludes Inbox, time-zone offset on `DateAndTime`, case-sensitivity expectations that Gmail does not honor).
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
confidence: medium
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# GSuite — Invalid or null activity input (client-side validation)
|
|
6
|
+
|
|
7
|
+
## Context
|
|
8
|
+
|
|
9
|
+
This playbook covers errors thrown **inside the activity, before any Google API call is made**, because an input property is null, empty, out of range, or otherwise invalid. The root cause is always in the workflow itself — a variable that wasn't populated, an upstream activity that returned nothing, a hard-coded address that's wrong, or a property combination the activity rejects. The connection and the Google resource are irrelevant; do not investigate them.
|
|
10
|
+
|
|
11
|
+
What this looks like — any of the following messages:
|
|
12
|
+
|
|
13
|
+
- `Value cannot be null. (Parameter '<name>')` — a required input (`<name>` names it, e.g. `EmailId`, `range`, `spreadsheetId`, `SheetName`, `DataRow`) was null at runtime. (`Value cannot be null` with no parameter is the same error without a captured name.)
|
|
14
|
+
- `The object used in the activity does not exist.` — a `NullReferenceException` was mapped to this message: a `DataTable`, email object, range handle, or other object the activity dereferences was null. Commonly the output of a previous activity (a search that found nothing, a read that returned null) fed straight into this one.
|
|
15
|
+
- `Column not found: <name>` — a row/column operation referenced a column by name that doesn't exist in the range (header typo, or the read range didn't include that column).
|
|
16
|
+
- `Column index <i> is outside of the selected range <range>` — a column index is beyond the bounds of the range being iterated.
|
|
17
|
+
- `RelativeRowIndex <i> outside the range: 0 to <n>.` — `Write Row` (WriteMode = Overwrite) targeted a row position past the end of the range (range has rows `0..n`, position `<i>` exceeds it).
|
|
18
|
+
- `RelativeColumnIndex <i> outside the range: 0 to <n>.` — same, for column width: the data is wider than the overwrite range allows.
|
|
19
|
+
- `Named ranges with cell value are invalid. Named ranges require no cell input.` — `Write Cell` was given **both** a named range *and* a `Cell` value; a named range already defines the target, so `Cell` must be empty.
|
|
20
|
+
- `The provided data table does not have any columns.` — an empty `DataTable` (zero columns) was passed to a write activity.
|
|
21
|
+
- `<property> must be a positive number` — a count property (e.g. `MaxResults` on legacy `GetMailMessages`) was set to 0 or negative.
|
|
22
|
+
- `You do not have the following labels` — a Gmail activity referenced one or more label names that don't exist in the account (followed by the offending label names).
|
|
23
|
+
- `Cannot iterate over the QuickHandle item.` — the result of a `For Each Row` was used in an operation that needs a valid current-row handle but received an incompatible object.
|
|
24
|
+
- `The selected folder does not exist.` — legacy local-OAuth datastore: the configured credential-storage `Folder` path is missing on the robot machine.
|
|
25
|
+
- `File does not exist: <path>` — a `System.IO.FileNotFoundException`: a configured **local** file path does not exist on the robot machine. Legacy `SendEmail` attachment path (validated as the activity assembles attachments, before any Gmail send), an upload source path, or a service-account key path. This is a local-filesystem miss, **not** a Drive 404.
|
|
26
|
+
- `Could not extract an object Id from the Url '<url>'.` — an `ArgumentOutOfRangeException`: a Drive activity that resolves a file/folder by ID *or* URL (legacy `GetFileInfo` and any `CloudObjectIdentifier`-based by-ID/URL activity) was given a URL string with no extractable ID segment. Malformed/truncated link, not a missing resource.
|
|
27
|
+
- `You must provide a value for at least one of the following properties: To, Cc, Bcc` — legacy `SendEmail` (non-draft) with `To`, `Cc`, and `Bcc` all empty. Validated at design time; satisfied by populating a recipient or setting `IsDraft = True`.
|
|
28
|
+
|
|
29
|
+
The job faults synchronously the instant the activity validates the input; there is no API round-trip, no retry.
|
|
30
|
+
|
|
31
|
+
What activities can produce these errors:
|
|
32
|
+
Any activity with the relevant input. Null/`Value cannot be null` and `The object used in the activity does not exist.` are universal (every activity has required inputs). The range/row/column messages come from Sheets activities (`WriteRangeConnections`, `WriteCellConnections`, `WriteRowConnections`, `WriteColumnConnections`, `ReadRange(Connections)`, `ForEachRowConnections`, and their legacy equivalents). `<property> must be a positive number` and `You do not have the following labels` come from Gmail retrieval activities such as legacy `GetMailMessages`. `File does not exist: <path>` and the recipient-required message come from legacy `SendEmail` (missing attachment path / all recipients empty); `Could not extract an object Id from the Url ...` comes from legacy `GetFileInfo` and other Drive by-ID/URL activities given a malformed URL.
|
|
33
|
+
|
|
34
|
+
What can cause it:
|
|
35
|
+
- A workflow variable bound to the property was never assigned, or an expression evaluated to null/empty at runtime.
|
|
36
|
+
- The output of an upstream activity (a search with no match, a read that returned an empty result) was passed directly in without a null check.
|
|
37
|
+
- A hard-coded address is wrong: an out-of-bounds row/column position, a misspelled column name, a named range combined with a cell value.
|
|
38
|
+
- An empty or zero-column `DataTable` was built and passed to a write.
|
|
39
|
+
- A configuration value (`MaxResults`, a label name, a local datastore folder) is invalid for the environment.
|
|
40
|
+
- A configured local file path (a `SendEmail` attachment, an upload source) doesn't exist on the robot, or a Drive `FileId` is a malformed URL with no extractable ID.
|
|
41
|
+
- A non-draft `SendEmail` has no recipient in any of `To`/`Cc`/`Bcc`.
|
|
42
|
+
|
|
43
|
+
> **Different cause — do not apply this playbook:**
|
|
44
|
+
> - **`Invalid data[0]: Unable to parse range: <Sheet>!<Cell>`** is a **server-side** Google 400 (the range reached Google and Google rejected its A1 syntax) — use [sheets-invalid-range.md](./sheets-invalid-range.md). The errors in *this* playbook are thrown before the call leaves the robot.
|
|
45
|
+
> - **`This action would increase the number of cells ...`** → [sheets-cell-limit-exceeded.md](./sheets-cell-limit-exceeded.md).
|
|
46
|
+
> - **`The resource was not found.`** / **`Cannot find item configured with connection ...`** (a target that doesn't resolve) → [drive-file-not-found.md](./drive-file-not-found.md).
|
|
47
|
+
> - 401/403/auth-timeout → [connection-and-auth-failures.md](./connection-and-auth-failures.md).
|
|
48
|
+
|
|
49
|
+
## Investigation
|
|
50
|
+
|
|
51
|
+
1. **Read the parameter name or value out of the message** — it names the offending input directly (`Parameter '<name>'`, the index in `outside the range`, the column in `Column not found`).
|
|
52
|
+
2. **Trace that input back to its source in the workflow** — is it a literal, a variable, or the output of a previous activity? Capture how it's assigned.
|
|
53
|
+
3. **If the input comes from an upstream activity,** check whether that activity could legitimately have returned null/empty (e.g. a search with no results) — that's the real fault to handle.
|
|
54
|
+
4. **For range/row/column bounds,** compare the configured index/position/width against the actual dimensions of the target range.
|
|
55
|
+
|
|
56
|
+
## Resolution
|
|
57
|
+
|
|
58
|
+
- **If a required input was null (`Value cannot be null` / `The object used in the activity does not exist.`):** Ensure the property is assigned before the activity runs. If it comes from an upstream activity that can return nothing, add a null/empty guard (If, or Try/Catch) and handle the empty case explicitly rather than feeding it forward.
|
|
59
|
+
- **If a row/column position or width is out of range (`RelativeRowIndex` / `RelativeColumnIndex` / `Column index ... outside`):** Correct the position/index to fall within the target range, or size the write data to the range. For `Write Row` Overwrite, the position must be `0..(range rows − 1)`.
|
|
60
|
+
- **If a column name is wrong (`Column not found`):** Fix the column name to match the read range's header, or widen the read range to include it.
|
|
61
|
+
- **If a named range was combined with a cell (`Named ranges with cell value are invalid`):** Clear the `Cell` input when using a named range.
|
|
62
|
+
- **If an empty DataTable was passed (`does not have any columns`):** Build the DataTable with its columns defined before writing.
|
|
63
|
+
- **If a count is non-positive (`must be a positive number`):** Set `MaxResults` (or the named property) to a value ≥ 1.
|
|
64
|
+
- **If labels don't exist (`You do not have the following labels`):** Correct the label names to match labels that exist in the Gmail account (labels are case-sensitive and user-defined).
|
|
65
|
+
- **If the local datastore folder is missing (`The selected folder does not exist.`):** Create the configured credential-storage folder on the robot machine or point the legacy scope at an existing path.
|
|
66
|
+
- **If a local file is missing (`File does not exist: <path>`):** Stage the file at the configured path on the robot, or correct the path (the attachment / upload-source entry). For unattended runs avoid machine-local / user-profile paths.
|
|
67
|
+
- **If a Drive URL won't parse (`Could not extract an object Id from the Url ...`):** Supply a valid file ID or a well-formed Drive URL containing the ID segment.
|
|
68
|
+
- **If `SendEmail` has no recipient:** Populate `To`, `Cc`, or `Bcc`, or set `IsDraft = True` to save a draft without recipients.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
confidence: medium
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# GSuite — Transient service errors, rate limits, and per-request timeouts
|
|
6
|
+
|
|
7
|
+
## Context
|
|
8
|
+
|
|
9
|
+
This playbook covers failures where the request reached (or tried to reach) Google and failed for a reason that is environmental and often temporary: a Google-side 5xx, a rate/quota-per-interval limit, a network fault, or a per-request timeout. The activity inputs and the target resource are usually fine — the same workflow often succeeds on retry. Distinguish **intermittent** (transient, retry) from **consistent** (network path or a timeout set too low).
|
|
10
|
+
|
|
11
|
+
What this looks like — any of the following messages:
|
|
12
|
+
|
|
13
|
+
- `Internal server error occurred. Please try again later.` — wrapped `GSuiteException`, Google **HTTP 500**. Transient.
|
|
14
|
+
- `The service is currently unavailable. Please try again later.` — wrapped `GSuiteException`, Google **HTTP 503**. Transient (Google maintenance / overload).
|
|
15
|
+
- `Network error occurred before reaching the server. Typically a network outage or misconfiguration.` — wrapped `GSuiteException`, **HTTP 502**.
|
|
16
|
+
- `Request deadline exceeded.` — wrapped `GSuiteException`, **HTTP 504**.
|
|
17
|
+
- `The current state conflicts with what the request expects.` — wrapped `GSuiteException`, **HTTP 409**.
|
|
18
|
+
- `The daily limit was exceeded.` / `The user rate limit was exceeded.` / `The rate limit was exceeded.` — wrapped `GSuiteException`, Google **HTTP 429** with reason `dailyLimitExceeded` / `userRateLimitExceeded` / `rateLimitExceeded`. The connection is making more requests than Google's per-day or per-interval quota allows.
|
|
19
|
+
- `An error occurred in the activity.` — the **generic fallback**: a Google API error whose status code and reason matched none of the known mappings (for example, a 429 without a recognized reason, or an uncommon status). The real status is in the inner exception / activity trace — read it before concluding; do not assume a specific cause from this text alone.
|
|
20
|
+
- A raw `System.Net.Http.HttpRequestException` — a network-layer failure (DNS resolution, connection reset, TLS handshake, firewall/proxy drop). Legacy activities surface this raw; modern activities may wrap it.
|
|
21
|
+
- `A task was canceled.` (a `System.Net.Http.TaskCanceledException` / `OperationCanceledException`) — the Google API request exceeded the activity's **per-request** `RequestTimeout` (the `HttpClient` timeout). **This is not a `System.TimeoutException`** — a `TimeoutException` in GSuite only ever comes from the *authentication* phase (see the connection-and-auth playbook). A per-request timeout cancels the task instead.
|
|
22
|
+
|
|
23
|
+
**Trigger activities** (`Gmail.Triggers.NewEmailReceived`, `Gmail.Triggers.EmailSent`, etc.) wrap their work in a retry-with-backoff: they automatically retry socket-level `HttpRequestException` and 5xx `GoogleApiException` (exponential backoff capped at 30s) before surfacing. So a transient error that faults a trigger generally means the condition persisted across the entire retry window, not a single blip.
|
|
24
|
+
|
|
25
|
+
What can cause it:
|
|
26
|
+
- **Transient Google fault** (5xx): Google service degradation, regional outage, or maintenance. Self-resolves.
|
|
27
|
+
- **Rate / quota limit** (429): the connection (or the whole project) exceeded Google's per-minute or per-day API quota — often a burst of requests in a loop, or many robots sharing one connection.
|
|
28
|
+
- **Network path failure** (`HttpRequestException`): DNS, proxy, firewall, or connectivity loss between the robot and Google.
|
|
29
|
+
- **Per-request timeout** (`A task was canceled.`): the call genuinely took longer than `RequestTimeout` (large payload, slow network), or `RequestTimeout` is set too low for the operation.
|
|
30
|
+
|
|
31
|
+
> **Different cause — do not apply this playbook:**
|
|
32
|
+
> - **`Authentication attempt took longer than <N> seconds ...`** is an *auth-phase* `TimeoutException`, a connection problem — use [connection-and-auth-failures.md](./connection-and-auth-failures.md).
|
|
33
|
+
> - **`The storage quota was exceeded.`** / **`Upload failed after <N> bytes ...`** is a *storage* quota (403), not an API rate limit — use [upload-storage-quota-exceeded.md](./upload-storage-quota-exceeded.md).
|
|
34
|
+
> - A clean 401/403/404 with a definite message → connection-and-auth or drive-file-not-found, not this playbook.
|
|
35
|
+
|
|
36
|
+
## Investigation
|
|
37
|
+
|
|
38
|
+
1. **Read the embedded status code / inner exception, not just the sentence.** A wrapped `GSuiteException` carries the original status; for `An error occurred in the activity.` the activity trace holds the real Google status and reason. Classify: 5xx (transient), 429 (rate limit), network (`HttpRequestException`), or timeout (`A task was canceled.`).
|
|
39
|
+
2. **Determine intermittent vs. consistent.** Check whether the same activity/connection succeeded on adjacent runs or fails every time. Intermittent points to a transient 5xx or a momentary network blip; consistent points to a network-path problem, an exhausted quota, or a `RequestTimeout` that is too low.
|
|
40
|
+
3. **For 429:** check the request volume around the failure — a loop firing many calls, or many jobs sharing one connection — and whether it's a daily vs per-minute limit (the message distinguishes them).
|
|
41
|
+
4. **For `A task was canceled.`:** capture the configured `RequestTimeout` and the expected size/latency of the operation.
|
|
42
|
+
5. **For network errors / persistent 5xx:** check the Google Workspace Status Dashboard for an active incident, and verify the robot's outbound connectivity (proxy, firewall, DNS) to Google endpoints.
|
|
43
|
+
|
|
44
|
+
## Resolution
|
|
45
|
+
|
|
46
|
+
- **If transient (intermittent 5xx / momentary network):** This is expected and recoverable. Wrap the activity in a Retry Scope (or rely on the trigger's built-in retry) and rerun. No configuration change needed if it succeeds on retry.
|
|
47
|
+
- **If rate-limited (429):** Reduce request rate — add delays or batching in loops, spread load across connections, or request a higher Google API quota. A `dailyLimitExceeded` resets at the start of the next day (Pacific time); per-user/per-minute limits clear within the minute.
|
|
48
|
+
- **If a persistent network failure (`HttpRequestException`):** Fix the network path — confirm the robot can reach Google API endpoints through the configured proxy/firewall, and that DNS resolves. Not a workflow defect.
|
|
49
|
+
- **If a per-request timeout (`A task was canceled.`):** Raise the activity's `RequestTimeout` if the operation is legitimately slow (large read/write), or reduce the payload size. Confirm network latency to Google is normal.
|
|
50
|
+
- **If `An error occurred in the activity.` and the inner status doesn't fit any of the above:** report the captured inner status/reason from the trace and re-triage — the generic message means the specific cause was not one of the mapped patterns.
|
|
51
|
+
|
|
52
|
+
If a 5xx or network error persists well beyond a normal retry window and the Google Status Dashboard shows no incident, escalate with the captured traces (endpoint, status, timing) rather than continuing to retry.
|
|
@@ -19,7 +19,7 @@ What this looks like — `GSuiteException` with the format `Upload failed after
|
|
|
19
19
|
|
|
20
20
|
What activities can produce this error:
|
|
21
21
|
- **Drive uploads** — `UploadFilesConnections` (modern), legacy `UploadFile`
|
|
22
|
-
- **Gmail attachment uploads** — `SendEmailConnections`, `ReplyToEmailConnections`, `ForwardEmailConnections` when the email carries an attachment large enough to require a multipart upload
|
|
22
|
+
- **Gmail attachment uploads** — `SendEmailConnections`, `ReplyToEmailConnections`, `ForwardEmailConnections`, legacy `SendEmail` when the email carries an attachment large enough to require a multipart upload
|
|
23
23
|
|
|
24
24
|
What can cause it — two underlying quota conditions, both surfaced as Google 403:
|
|
25
25
|
- **`storageQuotaExceeded`** — the authenticated user's Drive storage is full. Applies to the entire account quota (free tier, Workspace plan storage, or pooled storage).
|
package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/summary.md
CHANGED
|
@@ -4,10 +4,13 @@
|
|
|
4
4
|
|
|
5
5
|
| Issue | Confidence | Description | Playbook |
|
|
6
6
|
|-------|:---:|-------------|----------|
|
|
7
|
-
|
|
|
7
|
+
| Gmail — No Matching Email Found (Get Newest Email or trigger debug run) | High | Gmail mailbox contains zero messages matching the configured filter when the activity runs — `Get Newest Email` (`No email matching the search criteria has been found`) or a `NewEmailReceived`/`EmailSent` trigger in debug mode (`No email matching the filter criteria, received/sent in the last 1 hour has been found...`) | [get-newest-email-not-found.md](./playbooks/get-newest-email-not-found.md) |
|
|
8
8
|
| Drive — Name Conflict in Specified Folder | High | Drive activity (CreateFolder, CopyFile, MoveFile, Rename, Upload, CreateSpreadsheet, CreateDocument) throws `GSuiteException: Multiple items with the name <name> found in the specified folder.` because the configured `ConflictResolution` cannot resolve a duplicate name | [drive-multiple-items-name-conflict.md](./playbooks/drive-multiple-items-name-conflict.md) |
|
|
9
9
|
| Add Sheet — Sheet Name Already Exists | High | Target spreadsheet already contains a sheet (tab) with the configured `SheetName` (case-insensitive) and `ConflictResolution = Fail` (`GSuiteException: A sheet with the same name already exists.`) | [add-sheet-name-conflict.md](./playbooks/add-sheet-name-conflict.md) |
|
|
10
|
-
|
|
|
10
|
+
| Resource Not Found / Item Does Not Resolve (404) | High | Activity fails to resolve the configured target because the resource was deleted, trashed, or is not accessible to the connection — a Drive file/folder/spreadsheet/document, a Gmail message by ID (`GetEmailByIdConnections`), or a browser-selected item (`File not found: <id>. [404]` / `HttpStatusCode is NotFound` / `The resource was not found.` / ``Cannot find item configured with connection `<id>` [at path `<path>`].``) | [drive-file-not-found.md](./playbooks/drive-file-not-found.md) |
|
|
11
|
+
| Connection, Authentication, and Permission Failures | Medium | Failure in the identity/connection layers, not the resource: auth timeout (`Authentication attempt took longer than <N> seconds...`), expired/invalid token (`Invalid authentication credentials.` / `Authentication error...`), authorization denied (`Permission to the resource was denied.` / `The user does not have sufficient permissions for the file.` / `domainPolicy`), or a raw `ConnectionHttpException` (incl. design-time browse `CNS1044`/`CNS1045`) | [connection-and-auth-failures.md](./playbooks/connection-and-auth-failures.md) |
|
|
12
|
+
| Invalid or Null Activity Input (client-side) | Medium | Activity throws before any API call because an input is null, empty, out of range, or an invalid property combination (`Value cannot be null. (Parameter '<x>')` / `The object used in the activity does not exist.` / `Column not found: <name>` / `RelativeRowIndex/RelativeColumnIndex <i> outside the range...` / `Named ranges with cell value are invalid...` / `<property> must be a positive number` / `You do not have the following labels`) | [invalid-or-null-input.md](./playbooks/invalid-or-null-input.md) |
|
|
13
|
+
| Transient Service Errors, Rate Limits, and Per-Request Timeouts | Medium | Environmental/temporary failure reaching Google: 5xx (`Internal server error...` / `The service is currently unavailable...`), rate limit/429 (`The daily/user rate limit was exceeded.`), network (`HttpRequestException`), per-request `RequestTimeout` (`A task was canceled.` — not a `TimeoutException`), or the generic fallback `An error occurred in the activity.` | [transient-and-timeout-errors.md](./playbooks/transient-and-timeout-errors.md) |
|
|
11
14
|
| Upload — Drive Storage Quota or Shared Drive File Limit Exceeded | High | Upload activity (Drive `UploadFilesConnections`, legacy `UploadFile`, or Gmail send/reply/forward with attachments) fails because the user's Drive storage is full (`storageQuotaExceeded`) or the destination shared drive has hit the 500K item limit (`Upload failed after <N> bytes. ...`) | [upload-storage-quota-exceeded.md](./playbooks/upload-storage-quota-exceeded.md) |
|
|
12
15
|
| Sheets — 10 Million Cell Limit Exceeded | High | Sheets write/expand activity (Write Range/Cell/Row/Column, AutoFill, CopyPaste, Add Sheet, plus legacy AppendRow, CopySheet, BatchUpdateValuesScope, Add modes of AddDelete*) fails because the operation would push the spreadsheet past Google's 10M cell cap (`HttpStatusCode is BadRequest. This action would increase the number of cells in the workbook above the limit of 10000000 cells.`) | [sheets-cell-limit-exceeded.md](./playbooks/sheets-cell-limit-exceeded.md) |
|
|
13
16
|
| Sheets — Invalid Range / Unable to Parse Range | Medium | Sheets read/write activity passes a malformed A1-notation range to the Sheets API (`HttpStatusCode is BadRequest. Invalid data[0]: Unable to parse range: <SheetName>!<CellRef>`). Common causes: 1-indexing mistake (row 0), empty/null range, unquoted sheet names with spaces, stale sheet references, off-by-one in dynamic construction | [sheets-invalid-range.md](./playbooks/sheets-invalid-range.md) |
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Mail Activities (classic)
|
|
2
|
+
|
|
3
|
+
Activities from the classic mail packages that talk to a mail system directly from the Robot — distinct from the modern Graph/OAuth activities in **o365-activities** (`UiPath.MicrosoftOffice365.Activities`) and the Gmail activities in **gsuite-activities**. The classic mail packages are:
|
|
4
|
+
|
|
5
|
+
- **Outlook (desktop COM)** — `UiPath.Mail.Outlook.Activities`. Drives the locally installed **Outlook desktop application** through COM interop: `Send Outlook Mail Message` (`SendOutlookMail`), `Get Outlook Mail Messages` (`GetOutlookMailMessages`), `Move Outlook Mail Message`, `Reply To Outlook Mail Message`, `Mark Outlook As Read`. Requires Outlook installed **and** a configured mail profile in the session the Robot runs as.
|
|
6
|
+
- **SMTP / IMAP / POP3 / Exchange** — `UiPath.Mail.SMTP.Activities` (`Send SMTP Mail Message`), `UiPath.Mail.IMAP.Activities`, `UiPath.Mail.POP3.Activities`, `UiPath.Mail.EWS.Activities`. Protocol-level mail that talks to a mail server directly, with no desktop client dependency.
|
|
7
|
+
|
|
8
|
+
## How Outlook (desktop COM) activities run
|
|
9
|
+
|
|
10
|
+
`Send Outlook Mail Message` does **not** call a mail API. It:
|
|
11
|
+
|
|
12
|
+
1. Attaches to (or launches) the local **OUTLOOK.EXE** via COM interop, under the Windows user the Robot runs as.
|
|
13
|
+
2. Uses that user's default (or a named) **Outlook profile / account** to compose and send the message through the Outlook Object Model.
|
|
14
|
+
3. Returns when Outlook accepts the item into the Outbox / Sent Items.
|
|
15
|
+
|
|
16
|
+
Because the call goes through the desktop application, failures cluster around the **COM layer** (Outlook installed/registered, process bitness, orphaned `OUTLOOK.EXE`), the **session/UI** (a security prompt or Work Offline state blocking the call), and the **inputs** (uninitialized `To`/`Subject`/`Body` or a bad attachment path). This makes the Outlook COM activities fragile on unattended Robots, where there is no interactive desktop to dismiss a prompt.
|
|
17
|
+
|
|
18
|
+
> For unattended or server-side mail with no Outlook install, prefer **Send SMTP Mail Message** (`UiPath.Mail.SMTP.Activities`) or the modern Graph **o365-activities** — both avoid the desktop COM dependency entirely.
|
|
19
|
+
|
|
20
|
+
## Common Failure Families
|
|
21
|
+
|
|
22
|
+
- **COM cast / library not registered** — `Unable to cast COM object …` / `Library not registered` (`REGDB_E_CLASSNOTREG`, `TYPE_E_LIBNOTREGISTERED`). Outlook not installed/registered, a process-vs-Outlook **bitness** mismatch, corrupted Office registry/type-library, or an orphaned `OUTLOOK.EXE` from a prior run.
|
|
23
|
+
- **Timeout / hang** — the activity blocks until `TimeoutMS` elapses. A hidden security prompt ("A program is trying to send an email message on your behalf"), Outlook in **Work Offline** mode, or a slow first-launch of the profile.
|
|
24
|
+
- **Uninitialized input** — `Object reference not set to an instance of an object` from a null `To`/`Subject`/`Body` variable or an empty/null attachment path.
|
|
25
|
+
|
|
26
|
+
## Package
|
|
27
|
+
|
|
28
|
+
NuGet: `UiPath.Mail.Outlook.Activities` (desktop COM), `UiPath.Mail.SMTP.Activities` (SMTP), `UiPath.Mail.IMAP.Activities` / `UiPath.Mail.POP3.Activities` / `UiPath.Mail.EWS.Activities` (protocol). The Outlook COM activities require Outlook installed and a profile on the Robot host; protocol activities require only network access to the mail server.
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
---
|
|
2
|
+
confidence: medium
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Delete Outlook Mail Message Failures
|
|
6
|
+
|
|
7
|
+
## Context
|
|
8
|
+
|
|
9
|
+
A `UiPath.Mail.Outlook.Activities` `Delete Outlook Mail Message` (`DeleteOutlookMailMessage`) activity deletes a `MailMessage` from the **locally installed Outlook desktop application** through COM interop. It takes a `MailMessage` (typically an item from a preceding `Get Outlook Mail Messages`) plus an optional `Account`, and removes that item under the Outlook profile of the Windows user the Robot runs as. Failures cluster around a **stale message reference** (the item moved/deleted between fetch and delete), **mutating the message collection inside a loop**, the **New Outlook** client removing the desktop COM API, the **COM session being blocked** (modal dialog / privilege mismatch), and **mailbox permissions** (the Robot account lacking delete rights, especially on shared mailboxes).
|
|
10
|
+
|
|
11
|
+
Delete shares the desktop-COM surface with the other Outlook activities — the New-Outlook and COM-blocked/privilege failures are diagnosed like [move-outlook-mail-failures.md](./move-outlook-mail-failures.md) branch 4 and [send-outlook-mail-failures.md](./send-outlook-mail-failures.md) branch 2, and `Account`/shared-mailbox handling matches [get-outlook-mail-failures.md](./get-outlook-mail-failures.md) branch 1. What is distinctive to Delete is the **stale-reference** fault and the **collection-modified-in-loop** error. For unattended / server-side deletes with no desktop Outlook, prefer the modern Graph **o365-activities**.
|
|
12
|
+
|
|
13
|
+
What this looks like — Delete Outlook Mail Message faults surface as one of these signatures:
|
|
14
|
+
|
|
15
|
+
- `The operation failed. An object could not be found.` — the target message no longer exists at that location — branch 1.
|
|
16
|
+
- `Collection was modified; enumeration operation may not execute.` raised inside a `For Each` over the message list — branch 2.
|
|
17
|
+
- The automation **broke completely after a system/Office update** that flipped the host to **New Outlook** — branch 3.
|
|
18
|
+
- `The operation has timed out` / an intermittent **freeze** with no clean exception — branch 4.
|
|
19
|
+
- A **permission / access-denied** error (or a folder that resolves but cannot be modified), commonly on a **shared mailbox** — branch 5.
|
|
20
|
+
|
|
21
|
+
What can cause it (cause-branches — pick the right one from evidence):
|
|
22
|
+
|
|
23
|
+
1. **Stale message reference.** The `MailMessage` passed to Delete no longer exists in that exact location: a human user, another automation, or an Outlook rule moved or deleted the item **after** `Get Outlook Mail Messages` retrieved it. Surfaces as `The operation failed. An object could not be found.` Hallmark: large time gap (or concurrent processing) between fetch and delete.
|
|
24
|
+
2. **Collection modified inside the loop.** A `For Each` iterates the `List<MailMessage>` from Get, and Delete runs **directly inside** that loop. Deleting an item mutates the live collection mid-enumeration, invalidating the loop pointer — `Collection was modified; enumeration operation may not execute.`
|
|
25
|
+
3. **New Outlook (desktop COM API removed).** The host updated to Microsoft's **New Outlook** (web-hybrid client), which removes the Outlook Desktop COM API the classic activities rely on. The activity can no longer bind to an Outlook COM server. Hallmark: worked, then broke completely right after an update.
|
|
26
|
+
4. **COM session blocked (modal dialog / privilege).** The local Outlook COM interop is blocked: a **modal dialog** is foregrounded (notably the programmatic-access / "a program is trying to access email" warning), or UiPath and Outlook run at **mismatched privilege levels** (one elevated/Administrator, the other standard), so Windows blocks the cross-process call. Surfaces as a timeout or a hang.
|
|
27
|
+
5. **Mailbox permission / access denied.** The Robot account lacks the read/write/**delete** rights on the target folder — most common on a **shared mailbox** where the account has Send-As but not Full Access, and/or the shared mailbox address is not set in `Account`.
|
|
28
|
+
|
|
29
|
+
What to look for:
|
|
30
|
+
|
|
31
|
+
- **The exception text and the fetch→delete gap.** `An object could not be found` with a delay/concurrency between Get and Delete → branch 1; `Collection was modified` inside a loop → branch 2; "broke after an update" → branch 3; a timeout/freeze → branch 4; an access/permission error → branch 5.
|
|
32
|
+
- **The workflow structure** — whether Delete sits **inside a `For Each`** over the Get output (branch 2), and how long/much runs between Get and Delete (branch 1). From `Main.xaml`.
|
|
33
|
+
- **Outlook client variant + session/privilege** — Classic vs New Outlook (branch 3), and whether a modal dialog or a UiPath-vs-Outlook elevation mismatch could block COM (branch 4). Host-verifiable.
|
|
34
|
+
- **`Account` + mailbox rights** — whether the target is a shared mailbox, whether its address is in `Account`, and whether the Robot account has **Full Access** (not just Send-As). Load-bearing for branch 5.
|
|
35
|
+
|
|
36
|
+
## Investigation
|
|
37
|
+
|
|
38
|
+
Go in this order — cheaper checks first.
|
|
39
|
+
|
|
40
|
+
1. **Capture the exact error, the workflow structure, and the host.** From `uip or jobs get <job-key> --output json` → `Info`: the exception class and message. From workflow source (`.xaml`): whether `Delete Outlook Mail Message` runs inside a `For Each` over the Get output, the gap between Get and Delete, and the `Account`. From the job: the Robot **host**, attended vs unattended, and the Outlook client variant if known.
|
|
41
|
+
|
|
42
|
+
2. **Branch the diagnostic on the signature.**
|
|
43
|
+
- `The operation failed. An object could not be found.` → branch 1; go to step 3.
|
|
44
|
+
- `Collection was modified; enumeration operation may not execute.` → branch 2; go to step 4.
|
|
45
|
+
- "Broke completely after an update" / New Outlook on the host → branch 3; go to step 5.
|
|
46
|
+
- Timeout / freeze, no clean exception → branch 4; go to step 6.
|
|
47
|
+
- Permission / access-denied error → branch 5; go to step 7.
|
|
48
|
+
|
|
49
|
+
3. **Confirm branch 1 (stale reference).** Confirm the failing item is one Delete tried to remove and that something could have moved/deleted it between fetch and delete — a long delay, a parallel job, a user, or an Outlook rule on the same folder. An `object could not be found` with that gap confirms the branch.
|
|
50
|
+
4. **Confirm branch 2 (collection modified in loop).** In the source, confirm Delete (or a Move/modify) runs **inside** a `For Each` iterating the live `MailMessage` collection from Get. The `Collection was modified` error from inside the loop confirms the branch — it is a workflow-structure bug, not an Outlook problem.
|
|
51
|
+
5. **Confirm branch 3 (New Outlook).** Determine the Outlook client variant on the host and whether a recent update flipped it to **New Outlook**. A complete post-update break with COM-bind failures confirms the branch. (Same surface as [move-outlook-mail-failures.md](./move-outlook-mail-failures.md) branch 4.)
|
|
52
|
+
6. **Confirm branch 4 (COM blocked / privilege).** Check whether a modal dialog (programmatic-access warning) could be foregrounded and whether UiPath and Outlook run at the **same privilege level**. A timeout/freeze on an unattended host, or an elevation mismatch, confirms the branch. (Same surface as [send-outlook-mail-failures.md](./send-outlook-mail-failures.md) branch 2 / [get-outlook-mail-failures.md](./get-outlook-mail-failures.md) branch 3.)
|
|
53
|
+
7. **Confirm branch 5 (permission / access).** Check whether the target is a **shared mailbox**, whether its address is set in `Account`, and whether the Robot account has **Full Access** (not just Send-As). A delete-denied / access error on a shared folder confirms the branch.
|
|
54
|
+
|
|
55
|
+
The root cause must name **which of the five surfaces** the failure maps to, with the specific evidence: the exception text, the fetch→delete gap, whether Delete is inside a loop, the Outlook client/session/privilege state, and the `Account` + mailbox rights. A generic "delete failed" is not a confirmed finding.
|
|
56
|
+
|
|
57
|
+
## Resolution
|
|
58
|
+
|
|
59
|
+
Map the branch identified in Investigation to the fix:
|
|
60
|
+
|
|
61
|
+
- **Branch 1 — Stale message reference:**
|
|
62
|
+
- Minimize the time and work between `Get Outlook Mail Messages` and the delete so the item cannot move out from under you; fetch immediately before deleting.
|
|
63
|
+
- Wrap the delete in a `Try Catch` that tolerates an already-moved/already-deleted item (the work is effectively done) rather than faulting the job.
|
|
64
|
+
- If another job/user/rule legitimately competes for the same folder, re-fetch and re-confirm the item before deleting.
|
|
65
|
+
|
|
66
|
+
- **Branch 2 — Collection modified inside the loop:**
|
|
67
|
+
- Do **not** delete (or otherwise mutate the collection) directly inside a `For Each` over the live `MailMessage` list. Either:
|
|
68
|
+
- iterate over a **copy** — `mailMessages.ToList()` — so deletes do not disturb the enumerator, or
|
|
69
|
+
- loop **backwards by index** so removing an item does not shift the positions still to visit, or
|
|
70
|
+
- inside the loop use **Move Outlook Mail Message** to shift targeted items to `Deleted Items` (or a temp subfolder) and delete them in a second pass after the loop.
|
|
71
|
+
|
|
72
|
+
- **Branch 3 — New Outlook:**
|
|
73
|
+
- Revert the host's Outlook to **Classic Outlook** so the desktop COM API the activity needs is present again, or
|
|
74
|
+
- migrate the workflow to the modern Microsoft 365 / Graph activities ([o365-activities](../../o365-activities/overview.md)), which delete over a web connection rather than local desktop COM. (Same fix as [move-outlook-mail-failures.md](./move-outlook-mail-failures.md) branch 4.)
|
|
75
|
+
|
|
76
|
+
- **Branch 4 — COM session blocked / privilege:**
|
|
77
|
+
- Run UiPath (Studio/Robot) and Outlook at the **same privilege level** — ideally both standard user, not Administrator.
|
|
78
|
+
- Resolve the programmatic-access dialog at its source: `Outlook > File > Options > Trust Center > Trust Center Settings > Programmatic Access`, and confirm antivirus is current and registered with Windows Security Center so the "a program is trying to access email" warning does not fire unattended. (Same surface/fix as [send-outlook-mail-failures.md](./send-outlook-mail-failures.md) branch 2.)
|
|
79
|
+
|
|
80
|
+
- **Branch 5 — Mailbox permission / access:**
|
|
81
|
+
- Set the **shared mailbox address explicitly in the `Account`** property of the mail activities.
|
|
82
|
+
- Have the Exchange administrator grant the Robot's Active Directory account **Full Access** permission (not just Send-As) on the target shared mailbox / folder, so it can read, write, and delete there.
|
|
83
|
+
|
|
84
|
+
## Anti-patterns (what NOT to do)
|
|
85
|
+
|
|
86
|
+
- **"Add a Delay before the delete to let things settle."** A delay makes branch 1 *worse* — the longer the gap between fetch and delete, the more likely the item moved. Fetch-then-delete promptly, and handle the already-gone case in a catch.
|
|
87
|
+
- **"Wrap the loop-delete in a Try Catch and keep going."** Swallowing the `Collection was modified` error does not fix branch 2 — the enumeration is already broken and remaining items are skipped. Iterate a copy / backwards, or Move-then-delete.
|
|
88
|
+
- **"Run UiPath as Administrator so it can delete."** Elevation does not grant mailbox delete rights and usually *breaks* COM via a privilege mismatch (branch 4). Match privilege levels; fix mailbox rights via Exchange (branch 5).
|
|
89
|
+
- **"Reinstall Office / downgrade the package after the post-update break."** If the host flipped to New Outlook (branch 3), neither helps — revert to Classic Outlook or move to the Graph activities.
|
|
90
|
+
|
|
91
|
+
## Prevention (cross-branch)
|
|
92
|
+
|
|
93
|
+
- Fetch immediately before deleting and guard the delete with a Try Catch for already-moved/deleted items; avoid long gaps and concurrent processing of the same folder (branch 1).
|
|
94
|
+
- Never mutate the live `MailMessage` collection inside its own `For Each` — iterate a `.ToList()` copy or backwards by index, or Move-then-delete in a second pass (branch 2).
|
|
95
|
+
- Pin Robot hosts to **Classic Outlook** (or move deletes to the Graph o365 activities) so a New-Outlook flip cannot break the COM activities (branch 3).
|
|
96
|
+
- Keep UiPath and Outlook at the same privilege level and pre-configure programmatic access / antivirus so no modal dialog blocks unattended runs (branch 4).
|
|
97
|
+
- Provision the Robot account with **Full Access** on every shared mailbox it must delete from, and set `Account` to the shared address at design time (branch 5).
|
|
98
|
+
|
|
99
|
+
## Related
|
|
100
|
+
|
|
101
|
+
- [get-outlook-mail-failures.md](./get-outlook-mail-failures.md) — the read activity that produces the `MailMessage` items; shares the `Account`/shared-mailbox and COM-session surfaces, and is where the stale-reference window opens.
|
|
102
|
+
- [move-outlook-mail-failures.md](./move-outlook-mail-failures.md) — the Move activity (the recommended in-loop alternative to deleting); shares the COM-session and New-Outlook surfaces.
|
|
103
|
+
- [send-outlook-mail-failures.md](./send-outlook-mail-failures.md) — shares the COM-blocked / programmatic-access / privilege surface (branch 4 here).
|
|
104
|
+
- [o365-activities overview](../../o365-activities/overview.md) — modern Microsoft Graph / OAuth mail delete; the required path on New Outlook and the preferred path for unattended deletes.
|
|
105
|
+
- [mail-activities overview](../overview.md) — the package's connection model (Outlook desktop COM vs SMTP/protocol).
|