@uipath/skills 1.195.0 → 1.196.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (380) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CODEOWNERS +16 -10
  4. package/README.md +39 -4
  5. package/assets/skill-status.json +189 -0
  6. package/assets/uip-catalog-snapshot.json +67 -97
  7. package/commands/install-permissions.md +46 -2
  8. package/hooks/suggest-permissions.sh +0 -0
  9. package/hooks/validate-skill-descriptions.sh +0 -0
  10. package/package.json +1 -1
  11. package/skills/uipath-admin/SKILL.md +6 -7
  12. package/skills/uipath-admin/references/audit-commands.md +32 -10
  13. package/skills/uipath-admin/references/audit-workflow-guide.md +25 -6
  14. package/skills/uipath-admin/references/ip-restriction/ip-restriction-commands.md +1 -1
  15. package/skills/uipath-agents/SKILL.md +5 -3
  16. package/skills/uipath-agents/references/coded/embedding-in-flows.md +6 -0
  17. package/skills/uipath-agents/references/coded/flow-integration.md +1 -0
  18. package/skills/uipath-agents/references/coded/frameworks/langgraph-integration.md +2 -2
  19. package/skills/uipath-agents/references/coded/frameworks/llamaindex-integration.md +1 -1
  20. package/skills/uipath-agents/references/coded/frameworks/openai-agents-integration.md +5 -1
  21. package/skills/uipath-agents/references/coded/lifecycle/build.md +1 -0
  22. package/skills/uipath-agents/references/coded/lifecycle/evaluate.md +8 -6
  23. package/skills/uipath-agents/references/coded/quickstart.md +17 -12
  24. package/skills/uipath-agents/references/lowcode/agent-definition.md +17 -16
  25. package/skills/uipath-agents/references/lowcode/capabilities/built-in-tools/analyze-attachments.md +2 -2
  26. package/skills/uipath-agents/references/lowcode/capabilities/built-in-tools/batch-transform/impl-json.md +1 -1
  27. package/skills/uipath-agents/references/lowcode/capabilities/built-in-tools/built-in-tools.md +4 -4
  28. package/skills/uipath-agents/references/lowcode/capabilities/built-in-tools/deeprag/impl-json.md +1 -1
  29. package/skills/uipath-agents/references/lowcode/capabilities/context/context.md +1 -1
  30. package/skills/uipath-agents/references/lowcode/capabilities/context/datafabric.md +1 -1
  31. package/skills/uipath-agents/references/lowcode/capabilities/context/index.md +12 -12
  32. package/skills/uipath-agents/references/lowcode/capabilities/escalation/escalation.md +14 -14
  33. package/skills/uipath-agents/references/lowcode/capabilities/guardrails/guardrails-recommend.md +1 -1
  34. package/skills/uipath-agents/references/lowcode/capabilities/guardrails/guardrails.md +23 -20
  35. package/skills/uipath-agents/references/lowcode/capabilities/inline-in-flow/inline-in-flow.md +27 -26
  36. package/skills/uipath-agents/references/lowcode/capabilities/integration-service/integration-service.md +12 -13
  37. package/skills/uipath-agents/references/lowcode/capabilities/mcp/mcp.md +133 -0
  38. package/skills/uipath-agents/references/lowcode/capabilities/memory/memory.md +9 -9
  39. package/skills/uipath-agents/references/lowcode/capabilities/process/process.md +25 -24
  40. package/skills/uipath-agents/references/lowcode/capabilities/process/solution-files.md +6 -6
  41. package/skills/uipath-agents/references/lowcode/critical-rules.md +17 -17
  42. package/skills/uipath-agents/references/lowcode/debug.md +55 -0
  43. package/skills/uipath-agents/references/lowcode/evaluations/evaluate.md +6 -6
  44. package/skills/uipath-agents/references/lowcode/evaluations/evaluation-sets.md +1 -1
  45. package/skills/uipath-agents/references/lowcode/evaluations/evaluators.md +3 -3
  46. package/skills/uipath-agents/references/lowcode/evaluations/running-evaluations.md +8 -8
  47. package/skills/uipath-agents/references/lowcode/lowcode.md +18 -12
  48. package/skills/uipath-agents/references/lowcode/model-selection-guide.md +3 -3
  49. package/skills/uipath-agents/references/lowcode/project-lifecycle.md +53 -33
  50. package/skills/uipath-agents/references/lowcode/solution-resources.md +8 -8
  51. package/skills/uipath-api-workflow/SKILL.md +32 -83
  52. package/skills/uipath-api-workflow/references/cli-reference.md +40 -26
  53. package/skills/uipath-api-workflow/references/connector-activity-discovery.md +75 -23
  54. package/skills/uipath-api-workflow/references/troubleshooting.md +4 -12
  55. package/skills/uipath-automation-discovery/SKILL.md +234 -0
  56. package/skills/uipath-automation-discovery/references/intake-guide.md +85 -0
  57. package/skills/uipath-automation-discovery/references/mining-guide.md +156 -0
  58. package/skills/uipath-automation-discovery/references/report-template.md +95 -0
  59. package/skills/uipath-coded-apps/SKILL.md +0 -2
  60. package/skills/uipath-data-fabric/SKILL.md +0 -2
  61. package/skills/uipath-feedback/SKILL.md +1 -1
  62. package/skills/uipath-governance/SKILL.md +0 -2
  63. package/skills/uipath-human-in-the-loop/SKILL.md +2 -3
  64. package/skills/uipath-maestro-bpmn/.maintenance/check-all.sh +0 -0
  65. package/skills/uipath-maestro-bpmn/.maintenance/check-anchors.sh +0 -0
  66. package/skills/uipath-maestro-bpmn/.maintenance/check-depth.sh +0 -0
  67. package/skills/uipath-maestro-bpmn/.maintenance/check-link-text.sh +0 -0
  68. package/skills/uipath-maestro-bpmn/.maintenance/check-links.sh +0 -0
  69. package/skills/uipath-maestro-bpmn/.maintenance/check-orphans.sh +0 -0
  70. package/skills/uipath-maestro-bpmn/.maintenance/check-plugin-pairs.sh +0 -0
  71. package/skills/uipath-maestro-bpmn/.maintenance/check-template.sh +0 -0
  72. package/skills/uipath-maestro-bpmn/.maintenance/check-uip-commands.sh +0 -0
  73. package/skills/uipath-maestro-bpmn/.maintenance/check-validation-fixtures.py +0 -0
  74. package/skills/uipath-maestro-bpmn/.maintenance/check-validation-fixtures.sh +0 -0
  75. package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/api-workflow.md +1 -1
  76. package/skills/uipath-maestro-bpmn/references/operate/references/run.md +1 -1
  77. package/skills/uipath-maestro-bpmn/references/shared/local-metadata-regeneration-guide.md +2 -2
  78. package/skills/uipath-maestro-bpmn/references/shared/wrapper-shells.md +1 -1
  79. package/skills/uipath-maestro-case/SKILL.md +22 -27
  80. package/skills/uipath-maestro-case/references/bindings-and-expressions.md +7 -1
  81. package/skills/uipath-maestro-case/references/bindings-v2-sync.md +7 -16
  82. package/skills/uipath-maestro-case/references/case-commands.md +9 -9
  83. package/skills/uipath-maestro-case/references/case-editing-operations.md +51 -67
  84. package/skills/uipath-maestro-case/references/case-schema.md +74 -138
  85. package/skills/uipath-maestro-case/references/connector-integration.md +32 -5
  86. package/skills/uipath-maestro-case/references/connector-trigger-common.md +39 -12
  87. package/skills/uipath-maestro-case/references/evals/evals.json +9 -23
  88. package/skills/uipath-maestro-case/references/implementation.md +24 -24
  89. package/skills/uipath-maestro-case/references/phased-execution.md +24 -38
  90. package/skills/uipath-maestro-case/references/placeholder-tasks.md +9 -9
  91. package/skills/uipath-maestro-case/references/planning.md +20 -79
  92. package/skills/uipath-maestro-case/references/plugins/case/impl-json.md +15 -122
  93. package/skills/uipath-maestro-case/references/plugins/case/planning.md +3 -1
  94. package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/impl-json.md +10 -22
  95. package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/impl-json.md +7 -5
  96. package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/planning.md +2 -0
  97. package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/impl-json.md +5 -5
  98. package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/planning.md +1 -1
  99. package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/impl-json.md +4 -4
  100. package/skills/uipath-maestro-case/references/plugins/logging/impl-json.md +10 -0
  101. package/skills/uipath-maestro-case/references/plugins/sla/impl-json.md +10 -42
  102. package/skills/uipath-maestro-case/references/plugins/sla/planning.md +5 -5
  103. package/skills/uipath-maestro-case/references/plugins/stages/impl-json.md +8 -79
  104. package/skills/uipath-maestro-case/references/plugins/stages/planning.md +7 -14
  105. package/skills/uipath-maestro-case/references/plugins/tasks/agent/impl-json.md +1 -1
  106. package/skills/uipath-maestro-case/references/plugins/tasks/agent/planning.md +3 -2
  107. package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/impl-json.md +1 -1
  108. package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/planning.md +3 -2
  109. package/skills/uipath-maestro-case/references/plugins/tasks/case-management/impl-json.md +1 -1
  110. package/skills/uipath-maestro-case/references/plugins/tasks/case-management/planning.md +4 -3
  111. package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/impl-json.md +2 -2
  112. package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/planning.md +12 -7
  113. package/skills/uipath-maestro-case/references/plugins/tasks/connector-trigger/impl-json.md +1 -1
  114. package/skills/uipath-maestro-case/references/plugins/tasks/connector-trigger/planning.md +2 -0
  115. package/skills/uipath-maestro-case/references/plugins/tasks/process/impl-json.md +1 -1
  116. package/skills/uipath-maestro-case/references/plugins/tasks/process/planning.md +4 -3
  117. package/skills/uipath-maestro-case/references/plugins/tasks/rpa/impl-json.md +1 -1
  118. package/skills/uipath-maestro-case/references/plugins/tasks/rpa/planning.md +4 -3
  119. package/skills/uipath-maestro-case/references/plugins/tasks/wait-for-timer/impl-json.md +3 -0
  120. package/skills/uipath-maestro-case/references/plugins/triggers/event/impl-json.md +6 -7
  121. package/skills/uipath-maestro-case/references/plugins/triggers/event/planning.md +4 -2
  122. package/skills/uipath-maestro-case/references/plugins/triggers/manual/impl-json.md +4 -27
  123. package/skills/uipath-maestro-case/references/plugins/triggers/timer/impl-json.md +8 -20
  124. package/skills/uipath-maestro-case/references/plugins/variables/bindings/impl-json.md +6 -11
  125. package/skills/uipath-maestro-case/references/plugins/variables/global-vars/impl-json.md +15 -30
  126. package/skills/uipath-maestro-case/references/plugins/variables/global-vars/planning.md +4 -4
  127. package/skills/uipath-maestro-case/references/plugins/variables/io-binding/impl-json.md +8 -7
  128. package/skills/uipath-maestro-case/references/registry-discovery.md +4 -4
  129. package/skills/uipath-maestro-case/references/sdd-generation-rules.md +12 -10
  130. package/skills/uipath-maestro-case/references/troubleshooting-guide.md +1 -1
  131. package/skills/uipath-maestro-flow/.maintenance/check-all.sh +0 -0
  132. package/skills/uipath-maestro-flow/.maintenance/check-anchors.sh +0 -0
  133. package/skills/uipath-maestro-flow/.maintenance/check-depth.sh +0 -0
  134. package/skills/uipath-maestro-flow/.maintenance/check-link-text.sh +0 -0
  135. package/skills/uipath-maestro-flow/.maintenance/check-links.sh +0 -0
  136. package/skills/uipath-maestro-flow/.maintenance/check-orphans.sh +0 -0
  137. package/skills/uipath-maestro-flow/.maintenance/check-plugin-pairs.sh +0 -0
  138. package/skills/uipath-maestro-flow/.maintenance/check-template.sh +0 -0
  139. package/skills/uipath-maestro-flow/.maintenance/check-uip-commands.sh +0 -0
  140. package/skills/uipath-maestro-flow/.maintenance/check-versions.sh +0 -0
  141. package/skills/uipath-maestro-flow/SKILL.md +9 -6
  142. package/skills/uipath-maestro-flow/references/author/CAPABILITY.md +4 -4
  143. package/skills/uipath-maestro-flow/references/author/references/brownfield.md +17 -2
  144. package/skills/uipath-maestro-flow/references/author/references/editing-operations-cli.md +1 -1
  145. package/skills/uipath-maestro-flow/references/author/references/editing-operations-json.md +3 -3
  146. package/skills/uipath-maestro-flow/references/author/references/editing-operations.md +9 -9
  147. package/skills/uipath-maestro-flow/references/author/references/greenfield.md +13 -10
  148. package/skills/uipath-maestro-flow/references/author/references/planning-arch.md +75 -5
  149. package/skills/uipath-maestro-flow/references/author/references/planning-impl.md +2 -1
  150. package/skills/uipath-maestro-flow/references/author/references/plugins/connector/impl.md +14 -4
  151. package/skills/uipath-maestro-flow/references/author/references/plugins/connector-trigger/impl.md +20 -4
  152. package/skills/uipath-maestro-flow/references/author/references/plugins/hitl/impl.md +5 -5
  153. package/skills/uipath-maestro-flow/references/author/references/plugins/hitl/planning.md +5 -5
  154. package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl-connector.md +81 -0
  155. package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl-manual.md +63 -0
  156. package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl.md +59 -57
  157. package/skills/uipath-maestro-flow/references/author/references/plugins/http/planning.md +8 -7
  158. package/skills/uipath-maestro-flow/references/author/references/plugins/inline-agent/impl.md +23 -23
  159. package/skills/uipath-maestro-flow/references/author/references/plugins/inline-agent/planning.md +2 -2
  160. package/skills/uipath-maestro-flow/references/diagnose/CAPABILITY.md +1 -1
  161. package/skills/uipath-maestro-flow/references/diagnose/references/failure-modes.md +6 -6
  162. package/skills/uipath-maestro-flow/references/evaluate/CAPABILITY.md +2 -2
  163. package/skills/uipath-maestro-flow/references/evaluate/references/upload-safety.md +1 -1
  164. package/skills/uipath-maestro-flow/references/operate/CAPABILITY.md +8 -8
  165. package/skills/uipath-maestro-flow/references/operate/references/run.md +2 -2
  166. package/skills/uipath-maestro-flow/references/operate/references/ship.md +7 -7
  167. package/skills/uipath-maestro-flow/references/shared/cli-commands.md +19 -17
  168. package/skills/uipath-maestro-flow/references/shared/cli-conventions.md +1 -1
  169. package/skills/uipath-maestro-flow/references/shared/file-format.md +1 -1
  170. package/skills/uipath-maestro-flow/references/shared/ux-narration-and-todos.md +7 -7
  171. package/skills/uipath-planner/SKILL.md +110 -74
  172. package/skills/{uipath-solution → uipath-planner}/assets/templates/agent-sdd-template.md +3 -3
  173. package/skills/{uipath-solution → uipath-planner}/assets/templates/api-workflow-sdd-template.md +4 -4
  174. package/skills/{uipath-solution → uipath-planner}/assets/templates/case-sdd-template.md +4 -4
  175. package/skills/{uipath-solution → uipath-planner}/assets/templates/coded-app-sdd-template.md +3 -3
  176. package/skills/{uipath-solution → uipath-planner}/assets/templates/flow-sdd-template.md +4 -4
  177. package/skills/{uipath-solution → uipath-planner}/assets/templates/rpa-sdd-template.md +11 -11
  178. package/skills/uipath-planner/references/multi-skill-patterns-guide.md +3 -3
  179. package/skills/uipath-planner/references/non-pdd-lane-guide.md +10 -6
  180. package/skills/uipath-planner/references/pdd-driven-lane-guide.md +17 -7
  181. package/skills/uipath-planner/references/plan-and-tasks-format.md +2 -2
  182. package/skills/{uipath-solution/references/design → uipath-planner/references}/product-selection-guide.md +8 -8
  183. package/skills/{uipath-solution/references/design → uipath-planner/references}/rpa-product-guide.md +1 -1
  184. package/skills/{uipath-solution/references/design → uipath-planner/references}/sdd-generation-guide.md +26 -39
  185. package/skills/{uipath-solution/references/design → uipath-planner/references}/tenant-library-search-guide.md +7 -7
  186. package/skills/uipath-platform/SKILL.md +21 -48
  187. package/skills/uipath-platform/references/integration-service/http-request.md +5 -2
  188. package/skills/uipath-platform/references/integration-service/reference-resolution.md +19 -1
  189. package/skills/uipath-platform/references/integration-service/triggers.md +21 -5
  190. package/skills/uipath-platform/references/licensing/consumables-report.md +1 -1
  191. package/skills/uipath-platform/references/licensing/tenant-allocations.md +1 -1
  192. package/skills/uipath-platform/references/licensing/user-licenses-allocations.md +1 -1
  193. package/skills/uipath-platform/references/{resources → orchestrator}/manage-assets.md +37 -34
  194. package/skills/uipath-platform/references/orchestrator/manage-sessions.md +1 -1
  195. package/skills/uipath-platform/references/orchestrator/orchestrator.md +4 -31
  196. package/skills/uipath-platform/references/{resources → orchestrator}/process-queues.md +61 -50
  197. package/skills/uipath-platform/references/{resources → orchestrator}/resources.md +21 -21
  198. package/skills/uipath-platform/references/orchestrator/run-jobs.md +26 -14
  199. package/skills/uipath-platform/references/orchestrator/setup-environment.md +20 -16
  200. package/skills/uipath-platform/references/orchestrator/tenant-admin.md +7 -7
  201. package/skills/uipath-platform/references/{resources → orchestrator}/triggers-and-webhooks.md +41 -37
  202. package/skills/uipath-platform/references/{resources → orchestrator}/work-with-storage.md +56 -34
  203. package/skills/uipath-platform/references/uip-commands.md +20 -19
  204. package/skills/uipath-review/SKILL.md +81 -7
  205. package/skills/uipath-review/references/agents/agent-common-issues.md +42 -0
  206. package/skills/uipath-review/references/agents/agent-review-checklist.md +79 -57
  207. package/skills/uipath-review/references/agents/agents-coded-rules.md +160 -0
  208. package/skills/uipath-review/references/agents/agents-common-rules.md +32 -0
  209. package/skills/uipath-review/references/agents/agents-lowcode-rules.md +128 -0
  210. package/skills/uipath-review/references/platform/platform-resources-checklist.md +2 -2
  211. package/skills/uipath-review/references/review-workflow-guide.md +1 -1
  212. package/skills/uipath-review/references/rpa/rpa-review-checklist.md +2 -2
  213. package/skills/uipath-review/references/rule-catalog-workflow.md +90 -0
  214. package/skills/uipath-review/references/rule-format.md +91 -0
  215. package/skills/uipath-rpa/SKILL.md +16 -6
  216. package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/CreateEntityRecord.md +149 -0
  217. package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/CreateMultipleEntityRecords.md +67 -0
  218. package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/DeleteEntityRecord.md +44 -0
  219. package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/DeleteFileFromRecordField.md +56 -0
  220. package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/DeleteMultipleEntityRecords.md +65 -0
  221. package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/DownloadFileFromRecordField.md +115 -0
  222. package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/GetEntityRecordById.md +50 -0
  223. package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/QueryEntityRecords.md +69 -0
  224. package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/UpdateEntityRecord.md +120 -0
  225. package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/UpdateMultipleEntityRecords.md +67 -0
  226. package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/UploadFileToRecordField.md +103 -0
  227. package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/guides/data-service-filter-builder-guide.md +461 -0
  228. package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/overview.md +355 -0
  229. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/AppendRangeX.md +1 -1
  230. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/AutoFillX.md +1 -1
  231. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/AutoFitX.md +1 -1
  232. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ChangeDataRangeModification.md +1 -1
  233. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ChangePivotTableDataSourceX.md +1 -1
  234. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ClearRangeX.md +1 -1
  235. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/CopyPasteRangeX.md +1 -1
  236. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/CreatePivotTableXv2.md +1 -1
  237. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/CreateTableX.md +1 -1
  238. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/DeleteColumnX.md +1 -1
  239. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/DeleteRowsX.md +1 -1
  240. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/DeleteSheetX.md +1 -1
  241. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/DuplicateSheetX.md +1 -1
  242. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ExecuteMacroArgumentX.md +1 -1
  243. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ExecuteMacroX.md +1 -1
  244. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ExportExcelToCsvX.md +1 -1
  245. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/FillRangeX.md +1 -1
  246. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/FilterPivotTableX.md +1 -1
  247. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/FilterX.md +1 -1
  248. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/FindFirstLastDataRowX.md +1 -1
  249. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/FindReplaceValueX.md +1 -1
  250. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/FormatRangeX.md +2 -2
  251. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/InsertColumnX.md +1 -1
  252. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/InsertExcelChartX.md +1 -1
  253. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/InsertRowsX.md +1 -1
  254. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/InsertSheetX.md +1 -1
  255. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/InvokeVBAArgumentX.md +1 -1
  256. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/InvokeVBAX.md +1 -1
  257. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/LookupX.md +1 -1
  258. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/PivotTableFieldX.md +1 -1
  259. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ProtectSheetX.md +1 -1
  260. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ReadCellFormulaX.md +1 -1
  261. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ReadCellValueX.md +1 -1
  262. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/RefreshPivotTableX.md +1 -1
  263. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/RemoveDuplicatesX.md +1 -1
  264. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/RenameSheetX.md +1 -1
  265. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/SaveAsPdfX.md +1 -1
  266. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/SaveExcelFileX.md +1 -1
  267. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/SortColumnX.md +1 -1
  268. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/SortX.md +1 -1
  269. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/UnprotectSheetX.md +1 -1
  270. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/UpdateChartX.md +1 -1
  271. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/VLookupX.md +1 -1
  272. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/WriteCellX.md +1 -1
  273. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/overview.md +2 -2
  274. package/skills/uipath-rpa/references/activity-docs/UiPath.GSuite.Activities/3.8/activities/overview.md +2 -2
  275. package/skills/uipath-rpa/references/activity-docs/UiPath.Mail.Activities/2.8/activities/overview.md +2 -2
  276. package/skills/uipath-rpa/references/activity-docs/UiPath.MicrosoftOffice365.Activities/3.8/activities/SendMailConnections.md +1 -1
  277. package/skills/uipath-rpa/references/activity-docs/UiPath.MicrosoftOffice365.Activities/3.8/activities/overview.md +3 -3
  278. package/skills/uipath-rpa/references/activity-docs/UiPath.Presentations.Activities/2.5/activities/overview.md +2 -2
  279. package/skills/uipath-rpa/references/activity-docs/UiPath.System.Activities/25.10/activities/overview.md +1 -1
  280. package/skills/uipath-rpa/references/activity-docs/UiPath.Word.Activities/2.5/activities/overview.md +2 -2
  281. package/skills/uipath-rpa/references/cli-reference.md +108 -554
  282. package/skills/uipath-rpa/references/coded/coding-guidelines.md +1 -1
  283. package/skills/uipath-rpa/references/coded/operations-guide.md +3 -3
  284. package/skills/uipath-rpa/references/coded/third-party-packages-guide.md +1 -1
  285. package/skills/uipath-rpa/references/connector-capabilities.md +3 -2
  286. package/skills/uipath-rpa/references/debugging.md +43 -36
  287. package/skills/uipath-rpa/references/environment-setup.md +3 -3
  288. package/skills/uipath-rpa/references/is-connector-xaml-guide.md +3 -3
  289. package/skills/uipath-rpa/references/library-authoring-guide.md +226 -0
  290. package/skills/uipath-rpa/references/project-structure-guide.md +43 -0
  291. package/skills/uipath-rpa/references/publishing-guide.md +5 -5
  292. package/skills/uipath-rpa/references/tenant-library-search-guide.md +18 -14
  293. package/skills/uipath-rpa/references/testing-guide.md +6 -6
  294. package/skills/uipath-rpa/references/trigger-pattern-guide.md +2 -2
  295. package/skills/uipath-rpa/references/ui-automation-guide.md +43 -6
  296. package/skills/uipath-rpa/references/uia-configure-target-workflows.md +2 -2
  297. package/skills/uipath-rpa/references/uia-prerequisites.md +1 -1
  298. package/skills/uipath-rpa/references/validation-guide.md +4 -4
  299. package/skills/uipath-rpa/references/xaml/canvas-layout-guide.md +4 -1
  300. package/skills/uipath-rpa/references/xaml/common-pitfalls.md +18 -6
  301. package/skills/uipath-rpa/references/xaml/long-running-workflow-guide.md +304 -0
  302. package/skills/uipath-rpa/references/xaml/xaml-basics-and-rules.md +3 -0
  303. package/skills/uipath-solution/SKILL.md +23 -125
  304. package/skills/uipath-solution/references/{operate/activate-and-manage.md → activate-and-manage.md} +1 -1
  305. package/skills/uipath-solution/references/{operate/develop-solution.md → develop-solution.md} +43 -37
  306. package/skills/uipath-solution/references/{operate/pack-and-deploy.md → pack-and-deploy.md} +3 -3
  307. package/skills/uipath-solution/references/{operate/scenarios → scenarios}/intra-solution-references.md +2 -2
  308. package/skills/uipath-solution/references/{operate/scenarios → scenarios}/manual-edits.md +4 -4
  309. package/skills/uipath-solution/references/{operate/scenarios → scenarios}/same-name-across-folders.md +2 -2
  310. package/skills/uipath-solution/references/{operate/scenarios → scenarios}/shared-cloud-resource.md +3 -3
  311. package/skills/uipath-solution/references/{operate/scenarios → scenarios}/virtual-resource.md +4 -4
  312. package/skills/uipath-solution/references/{operate/scenarios.md → scenarios.md} +5 -5
  313. package/skills/uipath-solution/references/{operate/solution-overview.md → solution-overview.md} +3 -3
  314. package/skills/uipath-tasks/SKILL.md +0 -2
  315. package/skills/uipath-test/SKILL.md +26 -7
  316. package/skills/uipath-troubleshoot/agents/triage.md +6 -4
  317. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/overview.md +55 -0
  318. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/add-queue-item-failed.md +58 -0
  319. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/application-launch-failed.md +56 -0
  320. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/browser-open-or-attach-failed.md +59 -0
  321. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/file-operation-failed.md +60 -0
  322. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/foreach-row-failed.md +56 -0
  323. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/image-target-not-found.md +56 -0
  324. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/invoke-code-failed.md +54 -0
  325. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/invoke-workflow-failed.md +58 -0
  326. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/kill-process-failed.md +49 -0
  327. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/ui-activity-configuration-error.md +80 -0
  328. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/ui-activity-timeout.md +61 -0
  329. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/ui-element-interaction-failed.md +61 -0
  330. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/ui-element-not-found.md +64 -0
  331. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/summary.md +24 -0
  332. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/read-range-file-locked.md +142 -0
  333. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/read-range-file-not-found.md +140 -0
  334. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/read-range-null-reference.md +119 -0
  335. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/read-range-sheet-not-found.md +146 -0
  336. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/write-cell-failures.md +131 -0
  337. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/summary.md +5 -0
  338. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/investigation_guide.md +1 -0
  339. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/overview.md +16 -0
  340. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/activity-configuration-error.md +42 -0
  341. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/ambiguous-selector.md +131 -0
  342. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/application-not-found.md +84 -0
  343. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/application-open-failed.md +46 -0
  344. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/browser-navigation-failed.md +45 -0
  345. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/click-coordinate-off-screen.md +120 -0
  346. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/disabled-element.md +0 -2
  347. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/element-found-not-actionable.md +43 -0
  348. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/healing-agent-no-license.md +12 -12
  349. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/healing-agent-orch-issues.md +108 -0
  350. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/inject-js-failed.md +41 -0
  351. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/scope-container-wrong-page.md +7 -0
  352. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/select-item-no-items.md +37 -0
  353. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/selector-failure-manual.md +2 -0
  354. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/timeout-issue.md +2 -2
  355. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/verify-execution-failure.md +120 -0
  356. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/wrong-target-application.md +41 -0
  357. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/summary.md +12 -0
  358. package/skills/uipath-troubleshoot/references/products/agents/playbooks/guardrail-violation.md +111 -0
  359. package/skills/uipath-troubleshoot/references/products/agents/playbooks/is-connection-disabled.md +90 -0
  360. package/skills/uipath-troubleshoot/references/products/agents/playbooks/is-invalid-credentials.md +123 -0
  361. package/skills/uipath-troubleshoot/references/products/agents/playbooks/is-invalid-element-instance.md +96 -0
  362. package/skills/uipath-troubleshoot/references/products/agents/playbooks/llm-insufficient-information.md +1 -1
  363. package/skills/uipath-troubleshoot/references/products/agents/summary.md +4 -0
  364. package/skills/uipath-troubleshoot/references/products/orchestrator/investigation_guide.md +7 -7
  365. package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-pending-no-host.md +3 -1
  366. package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-pending-stale-dispatch.md +2 -0
  367. package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-stopped-exit-code-0x40010004.md +104 -0
  368. package/skills/uipath-troubleshoot/references/products/orchestrator/summary.md +1 -0
  369. package/skills/uipath-troubleshoot/references/summary.md +10 -1
  370. package/version-manifest.json +2 -2
  371. package/skills/uipath-ixp/SKILL.md +0 -84
  372. package/skills/uipath-ixp/references/cli-reference.md +0 -113
  373. package/skills/uipath-ixp/references/improve-prompts-guide.md +0 -283
  374. package/skills/uipath-ixp/references/label-documents-guide.md +0 -175
  375. package/skills/uipath-ixp/references/project-setup-guide.md +0 -90
  376. package/skills/uipath-maestro-case/references/plugins/edges/impl-json.md +0 -152
  377. package/skills/uipath-maestro-case/references/plugins/edges/planning.md +0 -93
  378. /package/skills/{uipath-solution/references/design → uipath-planner/references}/package-selection-guide.md +0 -0
  379. /package/skills/{uipath-solution/references/design → uipath-planner/references}/pdd-analysis-guide.md +0 -0
  380. /package/skills/uipath-solution/references/{operate/scenarios → scenarios}/failure-modes.md +0 -0
@@ -0,0 +1,61 @@
1
+ ---
2
+ confidence: medium
3
+ ---
4
+
5
+ # UI Element Interaction Failed — Found but Action Did Not Succeed
6
+
7
+ ## Context
8
+
9
+ A classic UI activity located its target element but could not perform the action on it, throwing
10
+ `ElementOperationException`. Applies to `Click`, `Type Into`, `Send Hotkey`, and `Take Screenshot`.
11
+ This is distinct from "element not found" — the selector matched, but the operation against the
12
+ element failed.
13
+
14
+ What this looks like:
15
+ - `ElementOperationException` (the selector resolved, then the click/type/screenshot operation
16
+ failed)
17
+ - The activity did not run for its full timeout — it found the element quickly, then failed on the
18
+ action
19
+
20
+ What can cause it:
21
+ - The element is disabled / read-only, so it cannot receive the click or text
22
+ - The element is obscured by another window, a popup, a tooltip, or an overlay at the moment of the
23
+ action
24
+ - The element (or its coordinate) is off-screen or scrolled out of view for hardware-event input
25
+ - Focus was lost between locating the element and acting on it (another app stole focus, a dialog
26
+ appeared)
27
+ - The chosen input method does not work for this element/technology (e.g. background/window-message
28
+ input on an element that only responds to hardware events, or vice versa)
29
+ - `Take Screenshot`: the target window could not be brought to the foreground or rendered
30
+
31
+ What to look for:
32
+ - Whether the element is enabled and interactable at the moment of the action (not just present)
33
+ - Whether a popup/overlay/another window covers the element
34
+ - The input mode configured on the activity (simulate / window messages / hardware events) vs. the
35
+ target technology
36
+ - Whether focus is stable while the workflow runs (no other automation or user interaction competing)
37
+
38
+ ## Investigation
39
+
40
+ 1. Confirm from logs the failure is an interaction failure (element resolved) rather than a
41
+ not-found/timeout.
42
+ 2. Reproduce and observe the target at the moment of the action — is it enabled, fully visible, and
43
+ on screen?
44
+ 3. Check for overlays, modal dialogs, or another window covering or stealing focus from the target.
45
+ 4. Review the activity's input method against the application technology; try the alternative input
46
+ method to see if the action succeeds.
47
+ 5. For `Take Screenshot`, verify the target window can be brought to the foreground (not minimized,
48
+ not on a disconnected session).
49
+
50
+ ## Resolution
51
+
52
+ - **If the element is disabled:** fix the upstream step so the element is enabled before the action
53
+ (complete the prerequisite that activates it); do not force input on a disabled control.
54
+ - **If an overlay/dialog/another window covers or steals focus:** dismiss/handle the blocker in the
55
+ workflow before the action.
56
+ - **If the input method is wrong for the technology:** switch the activity's input method to one the
57
+ target supports.
58
+ - **If the element is off-screen:** ensure it is scrolled/brought into view before acting (or use an
59
+ input method that does not require an on-screen coordinate).
60
+ - **If `Take Screenshot` cannot foreground the window:** run in an interactive session and ensure the
61
+ window is restorable.
@@ -0,0 +1,64 @@
1
+ ---
2
+ confidence: medium
3
+ ---
4
+
5
+ # UI Element Not Found — Classic UI Activity
6
+
7
+ ## Context
8
+
9
+ A classic UI Automation activity could not locate its target element within the timeout. Applies to
10
+ `Click`, `Type Into`, `Send Hotkey`, `Take Screenshot`, `Wait UI Element Appear`, `Attach Browser`
11
+ (Browser Scope), `Attach Window` (Window Scope), and `Close Tab`.
12
+
13
+ What this looks like:
14
+ - `SelectorNotFoundException`, or an error message such as "Cannot find the UI element corresponding
15
+ to this selector"
16
+ - The activity ran roughly for its full timeout before failing
17
+ - The failing activity carries a `Selector` / `Target.Selector` property
18
+
19
+ What can cause it:
20
+ - The application or window the selector points to is not open, or is on a different
21
+ screen/session/desktop than the robot
22
+ - Selector drift — the application changed (a UI update, a different version, a different language)
23
+ so one or more selector attributes no longer match
24
+ - The selector depends on dynamic attributes (auto-generated `id`, `idx`, title text with a counter)
25
+ that differ at run time
26
+ - The activity is inside the wrong scope — an `Attach Browser`/`Attach Window` (or `Open ...`) that
27
+ attached to a different window than the inner selector expects
28
+ - The element exists but only appears after a delay, and the activity's timeout is shorter than that
29
+ delay
30
+ - An earlier step in the workflow failed silently (navigation didn't happen, login wasn't completed)
31
+ so the expected screen is not showing
32
+
33
+ What to look for:
34
+ - The exact selector on the failing activity (from the XAML or the job's verbose logs)
35
+ - Whether the target application was actually open and focused at the moment of failure
36
+ - Whether the failure is consistent or intermittent (intermittent → timing/readiness; consistent →
37
+ selector or scope)
38
+
39
+ ## Investigation
40
+
41
+ 1. Identify the failing activity and read its full selector from the XAML or the verbose execution
42
+ log.
43
+ 2. Confirm the target application/window was open and reachable when the activity ran — check earlier
44
+ steps in the same execution that should have launched or navigated to it.
45
+ 3. Compare the selector against the live application (UI Explorer / Selector Editor against the
46
+ running app). Identify which attribute(s) no longer match.
47
+ 4. Check whether any matched attribute looks dynamic (numeric suffixes, GUIDs, full title strings)
48
+ that would differ between runs.
49
+ 5. If the activity is inside a scope (`Attach Browser`/`Attach Window`/`Open ...`), verify that scope
50
+ attached to the intended window, not a different instance or a stale handle.
51
+ 6. Re-check whether the element appears only after a delay relative to the activity's timeout.
52
+
53
+ ## Resolution
54
+
55
+ - **If the application/window was not open or not on the right screen:** fix the upstream step that
56
+ should have opened or navigated to it; do not point the activity at a window that isn't there.
57
+ - **If a selector attribute no longer matches (selector drift):** repair the selector to match the
58
+ current application, preferring stable attributes over volatile ones.
59
+ - **If the selector relies on dynamic attributes:** replace them with stable attributes or wildcards
60
+ so the selector survives across runs.
61
+ - **If the scope attached to the wrong window:** correct the scope's selector so it attaches to the
62
+ intended window; the inner selector is fine.
63
+ - **If the element appears only after a delay:** wait for the real readiness signal (the element/the
64
+ expected state) rather than padding the timeout blindly, and find why it is slow.
@@ -0,0 +1,24 @@
1
+ # Classic Activities Playbooks
2
+
3
+ **Overview:** [overview.md](./overview.md) — classic `UiPath.Core.Activities` (UI Automation + System/Core), failure families, and package boundaries
4
+
5
+ Covers the **classic** UI Automation (`UiPath.UIAutomation.Activities`) and System/Core
6
+ (`UiPath.System.Activities`) activities. For the modern "Next" UI activities see the
7
+ **ui-automation** package; for `Get Asset` / `Get Credential` (incl. `Get Robot Asset/Credential`)
8
+ see the **system-activities** package.
9
+
10
+ | Issue | Confidence | Description | Playbook |
11
+ |-------|:---:|-------------|----------|
12
+ | UI Element Not Found | Medium | A classic UI activity (`Click`, `Type Into`, `Send Hotkey`, `Take Screenshot`, `Wait UI Element Appear`, `Attach Browser/Window`, `Close Tab`) threw `SelectorNotFoundException` / "Cannot find the UI element corresponding to this selector" — the target was not located within the timeout. Selector drift, application not open/ready, or wrong scope. | [ui-element-not-found.md](./playbooks/ui-element-not-found.md) |
13
+ | UI Activity Timeout | Medium | A classic UI activity threw `ActivityTimeoutException` ("Activity timeout exceeded") — the element or state was never reached. Includes `Wait UI Element Appear` (element never appeared) and `Wait Image Vanish` (image still present after the timeout). | [ui-activity-timeout.md](./playbooks/ui-activity-timeout.md) |
14
+ | UI Element Interaction Failed | Medium | `ElementOperationException` from `Click` / `Type Into` / `Send Hotkey` / `Take Screenshot` — the element was located but the action could not be performed (disabled, occluded, off-screen, or focus lost between find and act). | [ui-element-interaction-failed.md](./playbooks/ui-element-interaction-failed.md) |
15
+ | Browser Could Not Open or Attach | Medium | `BrowserOperationException` / invalid-browser error from `Open Browser`, `Close Tab`, or `Attach Browser` (Browser Scope) — browser not installed/launchable, extension missing/disabled, browser crashed, or wrong browser type for the communication method. | [browser-open-or-attach-failed.md](./playbooks/browser-open-or-attach-failed.md) |
16
+ | Application Could Not Launch | Medium | `Open Application` / `Open Browser` failed to start the target. File/executable path not found, bad arguments, or "Both FileName and Arguments arguments are null" validation. The app never produced a window for the scope to attach to. | [application-launch-failed.md](./playbooks/application-launch-failed.md) |
17
+ | UI Activity Configuration Error | High | Design-time / validation error before execution: two mutually-exclusive options both set ("Only one of the {0} and {1} options can be set" — e.g. SimulateClick + SendWindowMessages), conflicting `Selector` + `Browser`/`Window` on a scope, or a communication-method incompatibility on `Open Browser`. | [ui-activity-configuration-error.md](./playbooks/ui-activity-configuration-error.md) |
18
+ | Image Target Not Found / Did Not Vanish | Medium | `Wait Image Vanish` (or other classic image automation) did not behave as expected: the image was never matched, or it was still present after the timeout. Sensitive to display scaling, resolution, theme, and design-vs-runtime rendering. | [image-target-not-found.md](./playbooks/image-target-not-found.md) |
19
+ | File Operation Failed | Medium | `Rename File`, `Move File`, or `Append Line` faulted: "The source file does not exist.", "Destination should be a folder.", "File cannot be null", file already exists, path is a directory, access denied, or the file is locked by another process. | [file-operation-failed.md](./playbooks/file-operation-failed.md) |
20
+ | Invoke Workflow / Start Triggers Failed | Medium | `Invoke Workflow File` (or `Start Triggers`) faulted: workflow file not found, argument name/type/direction mismatch, isolated/elevated/session validation error, persistence not supported, or the invoked child workflow itself threw. | [invoke-workflow-failed.md](./playbooks/invoke-workflow-failed.md) |
21
+ | Invoke Code Failed | Medium | `Invoke Code` faulted: compilation failed ("No compiled code to run"), compilation errors in the snippet, unsupported language, or an exception thrown by the user's own code at run time. | [invoke-code-failed.md](./playbooks/invoke-code-failed.md) |
22
+ | Add Queue Item Failed | Medium | `Add Queue Item` faulted: "\"Queue name\" may not be null or empty.", invalid item-information key characters, a duplicate item key, queue not found, or an Orchestrator permission / HTTP / timeout error. | [add-queue-item-failed.md](./playbooks/add-queue-item-failed.md) |
23
+ | Kill Process Failed | Low | `Kill Process` faulted with "Encountered errors while trying to kill a process" — process not found, access denied (insufficient privileges or protected process), or errors across several matched processes. | [kill-process-failed.md](./playbooks/kill-process-failed.md) |
24
+ | For Each Row Failed | Low | `For Each Row` faulted: the DataTable is null/uninitialized, the iterator (`CurrentRow`) variable name is invalid, or an activity inside the loop body threw on a particular row. | [foreach-row-failed.md](./playbooks/foreach-row-failed.md) |
@@ -0,0 +1,142 @@
1
+ ---
2
+ confidence: medium
3
+ ---
4
+
5
+ # Read Range — File In Use By Another Process
6
+
7
+ ## Context
8
+
9
+ A `UiPath.Excel.Activities` activity that opens a workbook (Read Range and the rest of the read/write family, plus the surrounding `Excel Application Scope` / `Use Excel File` scope) fails because another process is holding an exclusive lock on the workbook file. The activity cannot acquire the file and faults before any sheet or range parsing happens.
10
+
11
+ What this looks like:
12
+ - Activity fails with `System.IO.IOException: The process cannot access the file '<path>' because it is being used by another process.` The error wording is the .NET IO message — the activity passes it through with minimal wrapping.
13
+ - Under Excel COM (Excel Application Scope or `Use Excel File` falling back to COM), the surface may also be `System.Runtime.InteropServices.COMException` with HRESULT `0x800A03EC` and Excel's own message about the file being locked for editing. Same root cause, different wrapper.
14
+ - The path in the error is the workbook the activity was configured to open.
15
+ - May be intermittent (the locker releases the file between job attempts and retries succeed) or persistent (a stuck process holds the lock indefinitely).
16
+ - No sheet name, range address, or cell value appears in the error — failure happens at file acquisition, before parsing.
17
+
18
+ What can cause it (cause-branches — pick the right one from evidence):
19
+
20
+ 1. **User opened the workbook in Excel UI** — A human is editing the workbook in Microsoft Excel on the same host (or, for a network share, on any host that has the file open). Excel takes an exclusive write lock by default. Common on developer workstations and shared automation hosts.
21
+ 2. **Orphan `EXCEL.EXE` from a prior job** — A previous job left an `EXCEL.EXE` process running (typically because an `Excel Application Scope` was bypassed with `Continue On Error`, the workflow threw inside the scope without proper cleanup, or the executor was killed mid-run). The orphan still owns the file lock under the Robot's session. Symptom: file is locked but no human is using it; `EXCEL.EXE` appears in `tasklist` with no visible UI.
22
+ 3. **Network-share lock from a different host** — Workbook lives on a UNC path or mapped network drive, and another machine (a developer's workstation, a different Robot host, a SharePoint sync agent, an indexer) is holding the lock. Local host shows no `EXCEL.EXE`; lock is held elsewhere.
23
+ 4. **Concurrent Robot jobs racing on the same workbook** — Two or more jobs scheduled against the same workbook ran simultaneously; the first one's `Excel Application Scope` / `Use Excel File` is still open when the second one tries to acquire. Common pattern: triggers fire on overlapping schedules, or a queue dispatcher started multiple performers without per-workbook serialization.
24
+ 5. **Antivirus / EDR / indexer holding the file** — Defender, a third-party AV, Windows Search Indexer, OneDrive / SharePoint sync client, or a backup agent transiently opens the workbook for scanning. Lock is brief (seconds) but races with the activity's open call. Intermittent failures without any visible Excel instance are the fingerprint.
25
+ 6. **Hidden Excel instance owned by a different user session** — Excel was launched under a different Windows session (e.g., an admin RDP'd in earlier and left Excel running; a service account left an instance open under fast user switching). Task Manager shows `EXCEL.EXE` under "Users" → another session, not the current one.
26
+
27
+ What to look for:
28
+ - **The exact path in the error** — confirms the workbook the activity tried to open. Don't assume it matches the configured property — variable expressions may have resolved differently.
29
+ - **`EXCEL.EXE` presence on the host at failure time** — strongest single signal. If present under the Robot user → branch 2 or 4. If present under a human user → branch 1. If absent locally but the file is on a UNC → branch 3 or 5.
30
+ - **Lock owner across all sessions** — `handle.exe -a <path>` (Sysinternals) names the exact process and PID holding the file. Authoritative when available.
31
+ - **Pattern across recent runs** — every run fails immediately → branch 2 or 4 (persistent holder). Intermittent, no pattern → branch 5 (transient scanner). Fails only during business hours → branch 1 (human editor).
32
+ - **Workflow source** — look for `Continue On Error: True` on the surrounding `Excel Application Scope`, or a `Try Catch` that swallows scope exceptions. Either makes branch 2 (orphans) likely.
33
+ - **Trigger / schedule configuration** — overlapping schedules or unbounded queue performers point at branch 4.
34
+
35
+ ## Investigation
36
+
37
+ Go in this order — cheaper checks first.
38
+
39
+ 1. **Confirm the activity and the path.** From the workflow source (and from `uip or jobs get <job-key> --output json` → `Info`), capture: the activity class (Read Range / Write Range / etc.), the scope it runs inside (`Excel Application Scope` vs. `Use Excel File`), the configured workbook path expression, and the resolved path from the error string. Mismatch between expected and resolved path is itself a finding (different scope cause, not this playbook).
40
+
41
+ 2. **Get the failing job and host.** `uip or jobs get <job-key> --output json` to capture `HostMachineName`, `RobotName`, `StartTime`, `EndTime`. The host is where the lock check has to run.
42
+
43
+ 3. **Check recent jobs on the same host / workbook.** `uip or jobs list --folder-path '<folder>' --process-name '<process>' --limit 20 --output json`:
44
+ - All recent runs on this host fail with the same IO exception → persistent holder (branches 2, 3, or a stuck branch 1). Skip to step 5.
45
+ - Mixed pass/fail with no pattern → likely branch 5 (transient scanner). Continue to step 4 but expect a clean snapshot.
46
+ - Failures clustered in business hours, passes outside → branch 1.
47
+ - Two or more jobs against the same workbook with overlapping `StartTime` / `EndTime` windows → branch 4.
48
+
49
+ 4. **Pattern: jobs that ran or scheduled around the failure window.** `uip or jobs list --folder-path '<folder>' --created-after <EndTime-10min> --created-before <EndTime+1min> --output json`. Look for sibling jobs that touch the same workbook — those are branch-4 candidates.
50
+
51
+ 5. **Host-side process snapshot.** On the host (or have the user run it the next time the failure occurs):
52
+ ```powershell
53
+ Get-Process EXCEL -ErrorAction SilentlyContinue |
54
+ Select-Object Id, SessionId, UserName, StartTime, MainWindowTitle
55
+ ```
56
+ - No `EXCEL.EXE` rows → branch 3 (lock is remote) or branch 5 (transient, already gone). Go to step 6.
57
+ - One or more `EXCEL.EXE` under the Robot user (same `SessionId` as the failing job's session, no `MainWindowTitle`) → **branch 2** (orphan).
58
+ - One or more `EXCEL.EXE` under a human user / different `SessionId` → **branch 1** (user editing) or **branch 6** (other session).
59
+ - Multiple `EXCEL.EXE` under the Robot user across overlapping `StartTime`s → branch 4 (concurrent jobs).
60
+
61
+ 6. **Exact lock owner (most authoritative).** If Sysinternals `handle.exe` is available on the host:
62
+ ```powershell
63
+ handle.exe -a '<workbook-path>'
64
+ ```
65
+ Names the exact PID and process holding the lock — including non-Excel processes (AV scanner, backup agent, OneDrive). Cross-reference the PID against `Get-Process` from step 5.
66
+ - Holder is `EXCEL.EXE` → confirmed branch 1, 2, or 6 per step 5.
67
+ - Holder is a scanner / sync / backup process → **branch 5**.
68
+ - Holder is on a different machine (network share) → handle.exe will not name it; go to step 7.
69
+
70
+ 7. **Network-share lock investigation (branch 3).** If the workbook is on a UNC path and the local host shows no holder:
71
+ - On the file server (if accessible): `Get-SmbOpenFile | Where-Object { $_.Path -like '*<workbook>*' }` (Windows file server) names the client machine and user holding the file.
72
+ - On a Linux/Samba server: `smbstatus --locks` or check the share's lock file.
73
+ - If the share is SharePoint via OneDrive sync: the local host's OneDrive client may be syncing the file; check `tasklist | findstr OneDrive` and the OneDrive activity log.
74
+
75
+ 8. **Cross-check workflow source for orphan-prone patterns (branch 2 confirmation).** Open the source:
76
+ - Is the failing scope `Excel Application Scope` with `Continue On Error: True`? That swallows scope-internal exceptions and may leave `EXCEL.EXE` running.
77
+ - Is there a `Try Catch` wrapping the scope where the `Catch` does not re-throw or close the scope?
78
+ - Is `Visible: True` set on the scope? Visible Excel instances are more likely to be left stranded after an executor crash.
79
+ - These together raise branch-2 confidence even after a one-off kill — the next run will produce a new orphan unless the workflow is fixed.
80
+
81
+ The root cause is **which process holds the lock and why**. A confirmed finding names the holder (process name, PID, owning user / session / host) and one of the cause-branches.
82
+
83
+ ## Resolution
84
+
85
+ Map the branch identified in Investigation to the fix:
86
+
87
+ - **Branch 1 — User has the workbook open in Excel UI:**
88
+ - On the host, close Excel (the human user closes the document, or coordinate a maintenance window).
89
+ - Prevention: do not edit production workbooks on automation hosts; move source-of-truth data files off shared automation hosts; for shared workbooks, use SharePoint / OneDrive with the `o365-activities` cloud surface instead of the desktop file.
90
+
91
+ - **Branch 2 — Orphan `EXCEL.EXE` under the Robot user:**
92
+ - One-off kill (host, as the Robot user or admin):
93
+ ```powershell
94
+ Get-Process EXCEL | Where-Object { $_.SessionId -eq <robot-session-id> } | Stop-Process -Force
95
+ ```
96
+ Confirm the file is no longer locked (`handle.exe -a <path>` returns no holder) before re-running.
97
+ - Permanent fix: address the workflow pattern that produced the orphan:
98
+ - Remove `Continue On Error: True` from `Excel Application Scope`. Let the exception propagate so cleanup runs.
99
+ - In any `Try Catch` wrapping the scope, the `Catch` must dispose the scope or re-throw; do not silently suppress.
100
+ - Prefer `Use Excel File` over `Excel Application Scope` when the workbook does not require Excel-COM-only features — its disposal semantics are more robust.
101
+ - Set `Visible: False` on `Excel Application Scope` unless you are debugging interactively. Visible instances are harder to clean up after an abrupt executor exit.
102
+ - For chronic orphans on a host, add a startup task or a pre-job activity that kills stale `EXCEL.EXE` owned by the Robot user before the workflow begins.
103
+
104
+ - **Branch 3 — Network-share lock from a different host:**
105
+ - Identify the locking host / user via `Get-SmbOpenFile` (Windows file server) or `smbstatus` (Samba). Coordinate with that user to close the file.
106
+ - As a tactical unlock on Windows file server: `Close-SmbOpenFile -FileId <id>` (administrator on the file server). Note this terminates the remote handle without giving the user a chance to save — confirm intent first.
107
+ - Prevention: move the workbook off a shared network path, or fence access to it with a check-out workflow (queue item per workbook, lock asset, or sentinel file). For SharePoint document libraries, switch to the `o365-activities` surface so file acquisition goes through Graph instead of an SMB lock.
108
+
109
+ - **Branch 4 — Concurrent Robot jobs on the same workbook:**
110
+ - Serialize the jobs. Options:
111
+ - Switch the process to single-instance via a per-workbook lock asset (`uip or assets create lock-<workbook> ...`) acquired at job start and released at end. Workflow checks the asset and waits or fails fast.
112
+ - Use a queue with a single performer (concurrency 1) so two jobs cannot run together.
113
+ - Stagger triggers so schedules do not overlap.
114
+ - Verify by inspecting the triggers / schedule: `uip or triggers list --folder-path '<folder>' --output json` and confirm no two triggers fire the same process within the workbook's expected runtime window.
115
+
116
+ - **Branch 5 — Antivirus / EDR / indexer / sync client:**
117
+ - Identify the holder via `handle.exe -a <path>` at failure time (the holder is transient — must capture during the lock window).
118
+ - Allowlist the workbook's directory in the AV/EDR product (Defender: add an exclusion for the folder; vendor-specific elsewhere).
119
+ - Stop Windows Search from indexing the automation data folder: Indexing Options → Modify → uncheck the folder.
120
+ - For OneDrive / SharePoint sync clients on automation hosts: either un-sync the folder (preferred — automation hosts should not run sync clients) or use Files-On-Demand and ensure files are downloaded before the job runs.
121
+ - Add a retry-on-`IOException` wrapper as a defensive measure (Retry Scope with 3 attempts, 5-second back-off) — masks transient scanner races without papering over a real holder.
122
+
123
+ - **Branch 6 — Hidden Excel instance under a different user session:**
124
+ - Identify the session: `quser` on the host shows all active and disconnected sessions; the `Get-Process EXCEL` output from investigation step 5 names the session ID.
125
+ - If the session is a disconnected RDP from an admin: log it off (`logoff <session-id>`) after confirming with the session owner. The disconnected session's Excel goes with it.
126
+ - Prevention: dedicate automation hosts to the Robot; humans should not RDP in for ad-hoc work, and when they must, they should sign out (not disconnect) when done.
127
+
128
+ ## Prevention (cross-branch)
129
+
130
+ - Do not store production workbooks on hosts where humans actively edit Excel. Either move the workbook off the automation host, or move the editing workflow off it.
131
+ - Prefer `Use Excel File` over `Excel Application Scope` for new workflows. Disposal is more robust; OpenXML provider sidesteps Excel COM entirely when the workbook does not require COM-only features.
132
+ - Never set `Continue On Error: True` on an Excel scope. If the scope fails, fail the workflow — orphan `EXCEL.EXE` is worse than a single failed run.
133
+ - Set `Visible: False` on `Excel Application Scope` in production. Reserve `Visible: True` for interactive debugging.
134
+ - For workbooks that multiple processes legitimately need to touch, serialize via a per-workbook lock asset, single-performer queue, or sentinel file. Do not rely on Excel's own lock to coordinate — its error surface is too noisy.
135
+ - Allowlist the automation data folder in AV/EDR; exclude it from Windows Search indexing; do not run OneDrive / SharePoint sync clients on automation hosts.
136
+ - For long-running automation hosts, add a pre-job cleanup step that terminates stale `EXCEL.EXE` owned by the Robot user before the workflow begins. Cheap, idempotent, and prevents branch-2 chains from cascading across runs.
137
+
138
+ ## Related
139
+
140
+ - Other Excel Read Range failure fingerprints (sheet not found, file not found, null-reference on formatted files) are separate playbooks — see [`../summary.md`](../summary.md).
141
+ - If the executor was killed mid-Excel-scope (and the orphan is the consequence rather than the cause), inspect the surrounding job's exit code via `uip or jobs get <key> --output json` — an executor-termination exit code on the parent job points at job-level investigation, not Excel.
142
+ - For shared / cloud Excel workbooks accessed via Microsoft Graph rather than the local filesystem, see [`o365-activities/overview.md`](../../o365-activities/overview.md).
@@ -0,0 +1,140 @@
1
+ ---
2
+ confidence: medium
3
+ ---
4
+
5
+ # Read Range — Workbook File Or Directory Not Found
6
+
7
+ ## Context
8
+
9
+ A `UiPath.Excel.Activities` Read Range (or any activity that opens a workbook) fails because the configured `WorkbookPath` does not resolve to an existing file on the host at runtime. The failure happens at the scope's open step, before any sheet or range parsing. The fingerprint is one of the .NET filesystem-resolution exceptions surfacing through the activity.
10
+
11
+ What this looks like:
12
+ - Activity fails with one of:
13
+ - `System.IO.FileNotFoundException: Could not find file '<path>'.` — the parent directory exists but the file does not.
14
+ - `System.IO.DirectoryNotFoundException: Could not find a part of the path '<path>'.` — one or more segments of the parent path do not exist.
15
+ - On UNC paths, an inner `System.IO.IOException` with `The network path was not found` or `The network name cannot be found` may surface instead — same root condition, network layer.
16
+ - The path echoed in the error is the resolved path the runtime attempted to open. Capture it verbatim — it is the authoritative input.
17
+ - Affects every activity that opens a workbook: `Use Excel File`, `Excel Application Scope`, `Read Range`, `Write Range`, `Create Workbook` (when targeting a directory that doesn't exist), and so on.
18
+ - The error fires before sheet/range parsing — sheet name and range are irrelevant.
19
+
20
+ What can cause it (cause-branches — pick the right one from evidence):
21
+
22
+ 1. **File moved or deleted upstream** — the workbook existed when the workflow was authored but has been deleted, archived, or moved by a human or another process. Symptom: parent directory still exists (`FileNotFoundException`, not `DirectoryNotFoundException`); the file is simply gone.
23
+ 2. **UNC share unreachable** — workbook lives on a UNC path (`\\server\share\...`) and the share is not reachable from the Robot host at runtime. Causes: network outage, DNS failure, share permissions changed (Robot user no longer has read), server offline, VPN required but not connected. Symptom: error wording mentions network path / network name, OR the path resolves but the parent directory enumeration fails.
24
+ 3. **Relative path resolved against wrong CWD** — workflow uses a relative path (e.g., `Data\sales.xlsx`) or a path expression that depends on the runtime working directory. Studio runs from the project directory; Robot may run from a different CWD (typically `%LocalAppData%\UiPath\Packages\<process-name>\<version>\`). Symptom: error path shows an unexpected prefix (NOT the user's project folder), or shows just the relative segment.
25
+ 4. **Drive letter not mapped under the Robot's session** — workbook path uses a mapped drive letter (e.g., `Z:\Data\sales.xlsx`) that exists in an interactive user session but not in the Robot's unattended session. Mapped drives are per-session on Windows; the Robot service's session sees only its own drive mappings. Symptom: `DirectoryNotFoundException` on the drive root; the same path works when an admin RDPs in and runs it manually.
26
+ 5. **OneDrive / SharePoint placeholder (Files-On-Demand)** — workbook lives in a folder synced by OneDrive or SharePoint client with Files-On-Demand enabled. The file appears in Explorer (placeholder icon) but its content has not been downloaded locally. The Robot user's session may lack the OneDrive client (it runs only under the interactive user), so the placeholder cannot be materialized. Symptom: file appears present when checked via Explorer under an interactive admin, but `Test-Path` from the Robot user's session returns False, OR returns True but file size is 0 / pinned.
27
+ 6. **Extension or filename casing mismatch** — workflow references `Sales.xlsx` but the actual file is `Sales.xls`, `Sales.xlsm`, or `sales.xlsx`. Local NTFS is case-insensitive, so casing alone doesn't trigger this on a local path — but a SMB-mounted Linux share or a SharePoint document library can preserve case-sensitivity. Symptom: path appears to match but `FileNotFoundException` fires; explorer shows the file with different casing or extension.
28
+
29
+ What to look for:
30
+ - **The resolved path echoed in the exception** — the authoritative input. Don't trust the design-time expression alone; the runtime value may differ (especially for dynamic path expressions or relative paths).
31
+ - **`FileNotFoundException` vs `DirectoryNotFoundException`** — file missing vs. directory missing (branch 3, 4, or 2 mid-path).
32
+ - **UNC vs local path** — `\\server\share\...` points at branch 2; `C:\` at branches 1, 5, or 6; mapped drive letter (`Z:\`, `M:\`, etc.) at branch 4.
33
+ - **Pattern across recent runs** — every run fails identically → persistent (branches 1, 2, 4, 6). Intermittent → branch 2 transient or branch 5 stale-sync.
34
+ - **Whose session can see the file** — branches 4 and 5 are session-scoped. If an admin RDPs in and can see the file but the Robot job can't, those branches are likely.
35
+
36
+ ## Investigation
37
+
38
+ Go in this order — cheaper checks first.
39
+
40
+ 1. **Confirm the activity, configured `WorkbookPath`, and resolved path.** From workflow source: the activity (`Read Range` / `Use Excel File` / etc.) and the `WorkbookPath` expression — literal string, dynamic expression, or variable. From `uip or jobs get <job-key> --output json` → `Info`: the exception class (`FileNotFoundException` / `DirectoryNotFoundException` / wrapped `IOException`) and the resolved path echoed in the error. The resolved path is the authoritative runtime value.
41
+
42
+ 2. **Classify the path shape.** Categorize the resolved path:
43
+ - Absolute local (`C:\...`, `D:\...`) → branches 1, 5, or 6.
44
+ - UNC (`\\server\share\...`) → branch 2 (or 6 if the share is case-sensitive).
45
+ - Mapped drive letter (`Z:\`, `M:\`, etc. — any letter besides standard `C:` / `D:`) → branch 4.
46
+ - Relative or no-drive prefix (`Data\sales.xlsx`, `sales.xlsx`) → branch 3.
47
+
48
+ 3. **Identify which exception fired.** If `DirectoryNotFoundException` and the missing segment is the drive root → branch 4. If `DirectoryNotFoundException` and a middle segment is missing → branch 1 (parent deleted) or branch 2 (UNC unreachable). If `FileNotFoundException` (parent OK, file missing) → branch 1, 5, or 6 (continue).
49
+
50
+ 4. **Recent-jobs pattern.** `uip or jobs list --folder-path '<folder>' --process-name '<process>' --limit 10 --output json`:
51
+ - Every recent run fails with the same path → persistent. Continue with the branch identified above.
52
+ - Mixed pass / fail with no pattern → likely branch 2 (transient UNC) or branch 5 (OneDrive sync race).
53
+ - Failures clustered after a specific date → branch 1 (file deleted then) or branch 6 (file renamed then).
54
+ - Some Robot hosts succeed, others fail → branch 4 (per-host drive mappings) or branch 2 (per-host network reachability).
55
+
56
+ 5. **Workflow-source check for branch 3.** If the path shape is relative:
57
+ - Locate the `WorkbookPath` expression in the workflow source.
58
+ - Determine whether it depends on `Environment.CurrentDirectory`, `Directory.GetCurrentDirectory()`, `Path.GetFullPath(...)`, or a project-relative reference.
59
+ - The Robot's CWD when running an unattended job is typically the per-package directory under `%LocalAppData%\UiPath\Packages\` (or the system equivalent), NOT the project folder. Any relative path resolves against that root.
60
+
61
+ 6. **Host-side verification when CLI evidence is insufficient.** For branches 4 and 5 specifically, the Robot host's filesystem state at the moment of the failure is the authoritative evidence. Ask the user to run (on the Robot host, in the Robot user's session if possible):
62
+ ```powershell
63
+ # Confirm the resolved path
64
+ $path = '<resolved-path-from-error>'
65
+ "Test-Path: $(Test-Path $path)"
66
+ "Item exists: $((Get-Item $path -ErrorAction SilentlyContinue) -ne $null)"
67
+ if (Test-Path (Split-Path $path -Parent)) {
68
+ "Parent directory exists: True"
69
+ Get-ChildItem (Split-Path $path -Parent) | Select-Object Name, Length, Attributes
70
+ } else {
71
+ "Parent directory exists: False"
72
+ }
73
+ # For mapped drives (branch 4):
74
+ net use
75
+ # For OneDrive placeholders (branch 5):
76
+ Get-Item $path -ErrorAction SilentlyContinue | Select-Object Attributes
77
+ # 'Offline' or 'ReparsePoint' attributes indicate a Files-On-Demand placeholder.
78
+ ```
79
+
80
+ 7. **Branch-specific signals from host evidence (when step 6 runs):**
81
+ - `Test-Path` returns False and parent directory contains files but not this one → **branch 1** (file deleted) or **branch 6** (renamed). Compare directory listing against expected name; if a different-cased / different-extension file is present → branch 6.
82
+ - `Test-Path` returns False, parent directory does not exist, drive root does not exist → **branch 4** (drive not mapped).
83
+ - `Test-Path` returns False for the same path that an interactive user CAN see in Explorer → **branch 4** (per-session drives) or **branch 5** (placeholder).
84
+ - `Get-Item` shows `Attributes` containing `Offline` or `ReparsePoint` → **branch 5** (OneDrive placeholder).
85
+ - UNC root listing fails with `The network path was not found` → **branch 2**.
86
+
87
+ The root cause is **why the path does not resolve** — not "the file is missing" generically. A confirmed finding names the configured path, the resolved path, and one of the cause-branches with evidence.
88
+
89
+ ## Resolution
90
+
91
+ Map the branch identified in Investigation to the fix:
92
+
93
+ - **Branch 1 — File moved or deleted:**
94
+ - Confirm where the file went (moved to a new location, archived to a different folder, or genuinely deleted). Restore from backup or version history if deletion was unintentional (SharePoint / OneDrive: Version History; local filesystem: shadow copies, backup tape).
95
+ - If the file moved deliberately, update the `WorkbookPath` to the new location.
96
+ - Prevention: do not store production workbooks in folders that humans regularly reorganize. Use a dedicated automation-data directory with restricted write access (or a SharePoint library with a documented "do not move" convention).
97
+
98
+ - **Branch 2 — UNC share unreachable:**
99
+ - Verify network reachability: `Test-NetConnection <server> -Port 445` from the Robot host.
100
+ - Check share permissions on the file server: the Robot user (or its group) must have at least Read on the share AND on the underlying NTFS.
101
+ - For transient outages, add a Retry Scope around the workflow's open step with exponential back-off (3 attempts, 30s / 60s / 120s).
102
+ - Prevention: do not put automation-critical workbooks on shares with unreliable connectivity. Either move to a more reliable share or migrate to SharePoint with the `o365-activities` cloud surface (uses Microsoft Graph, sidesteps SMB entirely).
103
+
104
+ - **Branch 3 — Relative path resolved against wrong CWD:**
105
+ - **Best fix:** convert the relative path to an absolute path. Use a known anchor:
106
+ - An Orchestrator asset that holds the data folder path: `assetData & "\sales.xlsx"`.
107
+ - `Environment.GetEnvironmentVariable("UIPATH_DATA_DIR")` — a machine-scope env var that points to the data root.
108
+ - `Path.Combine(Environment.SpecialFolder.LocalApplicationData, "MyAutomation", "sales.xlsx")` for per-user data.
109
+ - **If you must keep a relative path,** anchor it explicitly with `Path.GetFullPath(Path.Combine(Directory.GetParent(Reflection.Assembly.GetEntryAssembly().Location).FullName, "Data", "sales.xlsx"))` — but absolute paths are more readable and less fragile.
110
+ - Prevention: ban relative `WorkbookPath` values in workflow review. Always anchor to an explicit base.
111
+
112
+ - **Branch 4 — Drive letter not mapped under Robot session:**
113
+ - **Best fix:** use the UNC path directly (`\\server\share\subpath\sales.xlsx`) instead of the drive letter. UNC paths do not depend on per-session drive mappings.
114
+ - **If the drive letter is load-bearing** (e.g., a third-party tool also referenced by drive letter), persist the mapping for the Robot user: run `net use Z: \\server\share /persistent:yes /user:<robot-user>` once while logged in as the Robot user. Verify with `net use` afterwards.
115
+ - **Or use the Windows GPO "Drive Maps" startup script** scoped to the Robot user.
116
+ - Prevention: standardize on UNC paths for unattended Robot workflows. Drive letters are user-session abstractions and lead to "works on my machine" failures.
117
+
118
+ - **Branch 5 — OneDrive / SharePoint placeholder:**
119
+ - **Best fix:** stop syncing the workbook locally; use the cloud surface. Switch the workflow to the `o365-activities` package: `Read Range` (Files / OneDrive) reads via Microsoft Graph against the cloud copy directly, bypassing the local placeholder problem entirely.
120
+ - **If local sync is required:** mark the file as "Always keep on this device" via Explorer right-click, OR disable Files-On-Demand for the automation data folder (`attrib -p +s <path>`).
121
+ - **For the underlying issue** (Robot session lacks the OneDrive client): run the OneDrive client under the Robot user's session, OR (preferred) move the workflow off the desktop OneDrive sync model entirely to the cloud surface.
122
+ - Prevention: do not place automation-consumed workbooks in OneDrive/SharePoint sync folders on Robot hosts. Either put them on a non-synced filesystem path or consume them via Graph from the cloud.
123
+
124
+ - **Branch 6 — Extension or filename casing mismatch:**
125
+ - Update the `WorkbookPath` to match the actual filename verbatim, including extension and casing.
126
+ - On case-sensitive shares (Linux Samba, SharePoint document library accessed via WebDAV), the workflow MUST use exact-case names. Adopt a convention with the workbook publisher.
127
+ - Prevention: when the path is sourced from external data (queue item, asset, CSV), normalize the case at validation time and confirm the file exists before reading. Workbook publishers should not rename files without coordinating with downstream consumers.
128
+
129
+ ## Prevention (cross-branch)
130
+
131
+ - Validate `WorkbookPath` at job start via `File.Exists(path)` (or an explicit pre-check activity). Fail fast with a clear message naming the resolved path AND its parent-directory listing.
132
+ - Anchor every path. Avoid relative paths in unattended workflows; prefer absolute paths sourced from a single, documented anchor (asset, env var, or constant).
133
+ - Prefer UNC over drive letters for shared workbooks.
134
+ - Do not couple automation data to per-user OneDrive/SharePoint sync state on Robot hosts. Either keep automation data on plain filesystem paths or consume via the cloud `o365-activities` surface.
135
+ - Treat path layout as a contract between the workbook publisher and the workflow. Document the expected location and naming; renames are breaking changes.
136
+
137
+ ## Related
138
+
139
+ - Other Excel Read Range failure fingerprints (file-locked, sheet-not-found, null-reference on formatted files) are separate playbooks — see [`../summary.md`](../summary.md).
140
+ - For shared / cloud Excel workbooks accessed via Microsoft Graph rather than the local filesystem, see [`o365-activities/overview.md`](../../o365-activities/overview.md).
@@ -0,0 +1,119 @@
1
+ ---
2
+ confidence: low
3
+ ---
4
+
5
+ # Read Range — NullReferenceException / TargetInvocationException From Inside The Activity
6
+
7
+ ## Context
8
+
9
+ A `UiPath.Excel.Activities` Read Range (or any activity that parses workbook content) fails with a generic .NET runtime exception thrown from inside the activity's parsing code — not from file acquisition or sheet resolution. The workbook opens (no `IOException`, `FileNotFoundException`, or `BusinessException`), but somewhere during cell / range / formula / formatting parsing the activity hits a condition it cannot handle, and the .NET runtime surfaces a wrapper exception with little or no cell-level pointer.
10
+
11
+ > **Confidence: low.** Unlike the file-locked, sheet-not-found, and file-not-found playbooks, the fingerprint here does not distinguish cause-branches by error wording alone. All five branches below can produce the same `NullReferenceException` or `TargetInvocationException` text. Diagnosis usually requires opening the workbook manually and inspecting it visually — the agent should investigate via Orchestrator evidence to rule out the easy cases, then hand the user a list of host-side / workbook-side checks rather than guessing a branch.
12
+
13
+ What this looks like:
14
+ - Activity fails with one of:
15
+ - `System.NullReferenceException: Object reference not set to an instance of an object.` — most common, surfaces from cell / range / named-range / formula parsing.
16
+ - `System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.` — a wrapper around an inner exception that the activity's reflection-based dispatch caught and re-threw. The `InnerException` (visible in `or jobs get` Info if the stack is included) is the load-bearing detail.
17
+ - Provider-specific wrappers: `UiPath.Excel.ExcelException` or `DocumentFormat.OpenXml.OpenXmlPackageException` for OpenXML provider failures; `System.Runtime.InteropServices.COMException` for Excel COM provider failures.
18
+ - The exception's stack trace originates inside `UiPath.Excel.Activities.*` or `DocumentFormat.OpenXml.*` — NOT inside `System.IO.*` (that points at file-not-found / file-locked) and NOT inside `UiPath.Excel.WorkbookActivities.ReadRangeImpl.ResolveSheet` (that points at sheet-not-found).
19
+ - The error has no cell address, no sheet name, no range expression — it's a generic runtime exception. The agent cannot pinpoint cause from the error string alone.
20
+ - The workbook opens successfully on a developer's machine via interactive Excel; the problem surfaces only under the workflow's parsing path.
21
+
22
+ What can cause it (cause-branches — none distinguishable by error wording alone):
23
+
24
+ 1. **Sensitivity label (Microsoft Purview / Azure Information Protection)** — the workbook is labeled (Confidential, Highly Confidential, etc.) and the label policy blocks programmatic access for the Robot user. The interactive user has the label permission and can open the file; the Robot service, running under a different identity, does not. Symptom: NRE / TIE on open or first read; an interactive admin RDPing in CAN open the file and see content; if the Robot user opens an Excel instance manually, the workbook either refuses to open or opens with a banner requesting authentication.
25
+ 2. **Workbook structural corruption** — the XLSX file (a ZIP container) was edited by another tool that left structurally invalid XML, broken relationships, or truncated parts. Common sources: a python script that wrote the workbook with `openpyxl` and a bug; a Power Automate flow that saved partial output; a network copy that was interrupted; a manual ZIP edit. Symptom: NRE or `OpenXmlPackageException`; Excel itself may open the file with a "Repaired" notice and a list of issues.
26
+ 3. **Broken named range or formula reference** — the workbook contains a defined name (named range) that points at a deleted sheet or out-of-range cell, OR a formula references `#REF!` or a non-existent range. When the activity walks the workbook's defined names or evaluates formulas, the parser hits a null / unresolvable reference. Symptom: NRE during read; opening the workbook in Excel and pressing `Ctrl+F3` (Name Manager) reveals defined names with `#REF!` in their formula.
27
+ 4. **Unsupported OpenXML feature** — the workbook contains an Excel feature only the COM provider supports (legacy XLS-format pages, certain macro objects, embedded OLE objects, specific chart types, dynamic arrays in older OpenXML versions). The default OpenXML provider in `Use Excel File` cannot parse it and fails with NRE or TIE. Symptom: works under `Excel Application Scope` (or `Use Excel File` with `ReadFormatting: True` forcing COM); fails under default `Use Excel File`.
28
+ 5. **Heavy conditional formatting / scale-related parser limit** — the workbook has thousands of conditional formatting rules, very large defined-range pivot caches, or millions of cells with formatting metadata. The parser hits a memory or recursion limit during the read. Symptom: NRE late in parsing (after open succeeded); workbook is unusually large (several hundred MB or millions of populated cells); opening it manually in Excel is also slow.
29
+
30
+ What to look for:
31
+ - **The exception class and stack origin** — `NullReferenceException` vs. `TargetInvocationException` (and its inner exception if available). Stack origin inside `OpenXml.*` points at branch 4 or 2. Stack origin inside the activity's name-resolution code points at branch 3.
32
+ - **Workbook size on disk** — branch 5 candidates are usually large (> 100 MB) or have very high populated-cell counts.
33
+ - **Recent provenance of the workbook** — was it just downloaded? Was it generated by a script or Power Automate? Was it edited by hand? Branch 2 (corruption) clusters around freshly-written files.
34
+ - **Whether the same workflow worked on a different host with Excel installed** — branch 4 (unsupported OpenXML feature) is the canonical "works on dev box, fails on Robot" pattern from the sheet-not-found playbook's branch 2, but for parsing features rather than case sensitivity.
35
+ - **Whether the workbook has visible sensitivity / classification banners** — when an interactive user opens the workbook, do they see a Purview / AIP banner? Branch 1 fingerprint.
36
+ - **`Get Workbook Sheets` behavior** — if it succeeds and returns sheet names but `Read Range` fails, the failure is mid-parse (likely branches 3, 4, or 5). If it fails too, the failure is at open / first-read (likely branches 1 or 2).
37
+
38
+ ## Investigation
39
+
40
+ This is a low-confidence playbook — the agent's job is to rule out the easier branches via Orchestrator evidence, then hand the user a list of host-side / workbook-side checks. Do NOT guess a specific branch without strong evidence.
41
+
42
+ 1. **Confirm the activity and the workbook.** From `or jobs get`: the exception class, the resolved workbook path, and the `Info` field's full stack trace if available. From workflow source: the activity (Read Range / Read Cell / etc.) and the scope (`Use Excel File` vs. `Excel Application Scope`). Capture the configured `SheetName`, `Range`, and any non-default properties (`ReadFormatting`, `EditPassword`, password expressions).
43
+
44
+ 2. **Categorize the exception.** Stack origin and inner exception narrow the suspect branches:
45
+ - `OpenXmlPackageException` / stack inside `DocumentFormat.OpenXml.*` → branch 2 (structural corruption) or branch 4 (unsupported OpenXML feature).
46
+ - `COMException` / stack inside `Microsoft.Office.Interop.Excel.*` → likely branch 4 (COM-side parsing issue) or branch 5 (COM hitting memory limit).
47
+ - Plain `NullReferenceException` with stack inside `UiPath.Excel.Activities.*` → could be any branch; need more evidence.
48
+ - `TargetInvocationException` with an inner exception → unwrap and re-categorize on the inner.
49
+
50
+ 3. **Recent-jobs pattern.** `uip or jobs list --process-name '<process>' --limit 20 --output json`:
51
+ - All recent runs against the same workbook fail with the same exception → persistent (branches 1, 4, 5 candidates).
52
+ - Only the latest run fails after a workbook update → branch 2 (corruption from a recent write) or branch 3 (someone deleted the named range's referent recently).
53
+ - Some Robot hosts succeed, others fail → branch 1 (label permissions per Robot identity) or branch 4 (COM-installed vs. headless OpenXML).
54
+
55
+ 4. **Workflow-source check for branch 3.** If the failing activity references named ranges (e.g., `Range: "MyDataRange"`) or formulas that depend on cross-sheet references, branch 3 is plausible. Note the named range and ask the user to verify it via Excel's Name Manager (`Ctrl+F3`).
56
+
57
+ 5. **Provider check for branch 4.** If the scope is `Use Excel File` with no `ReadFormatting` / `EditPassword` / macro-related properties, the runtime uses OpenXML on a host without Excel installed. Ask the user to try the same workflow under `Excel Application Scope` on a host with Excel — if it succeeds there, branch 4 is confirmed.
58
+
59
+ 6. **Hand the user a workbook-inspection checklist.** Once Orchestrator evidence is exhausted and the branch is not clearly identified, give the user the manual checks needed to confirm the cause. Examples:
60
+
61
+ ```powershell
62
+ # Size and modification time on the host
63
+ Get-Item '<workbook-path>' | Select-Object FullName, Length, LastWriteTime, Attributes
64
+ ```
65
+
66
+ Then ask the user to do the following in Excel on a workstation with the workbook open:
67
+ - **Branch 1 check:** Look for a sensitivity / classification banner at the top of the workbook (Confidential, Highly Confidential, label-specific text).
68
+ - **Branch 2 check:** Open the workbook in Excel and look for a "Repaired" dialog or recovery log noting any issues with the file.
69
+ - **Branch 3 check:** Press `Ctrl+F3` (Formulas → Name Manager). List any named ranges whose `Refers to` column shows `#REF!`, `#NAME?`, or `#VALUE!`.
70
+ - **Branch 4 check:** File → Info → Inspect Workbook → Check for Issues → Check Compatibility. Note any "features not supported by earlier versions" — these are often features OpenXML cannot parse.
71
+ - **Branch 5 check:** File → Info → workbook size; count of sheets; count of populated cells (Ctrl+End on each sheet). If the workbook is > 100 MB or has more than ~1M populated cells, branch 5 is plausible.
72
+
73
+ 7. **If the workbook is regenerated by another process before this workflow reads it** (branch 2 cluster pattern): coordinate with the upstream owner. Have them save / write the workbook through Excel itself (rather than a third-party library) to produce structurally clean output.
74
+
75
+ The root cause is usually identifiable via Excel inspection more than via Orchestrator. A confirmed finding names the specific issue found in the workbook (a `#REF!` named range; a sensitivity label; an unsupported feature flagged by Compatibility Checker; a file size indicating scale) — not just "the workbook is broken."
76
+
77
+ ## Resolution
78
+
79
+ Map the branch identified via Investigation + workbook inspection to the fix:
80
+
81
+ - **Branch 1 — Sensitivity label blocks the Robot user:**
82
+ - The cleanest fix is to grant the Robot user permission for the label (Microsoft Purview → Information Protection → Labels → policy → add the Robot user / group).
83
+ - If label permissions cannot be granted, ask the workbook owner to remove the label or apply a less restrictive label.
84
+ - Long-term: do not classify workbooks consumed by automation with labels that exclude the Robot identity. Document an exemption for automation identities.
85
+
86
+ - **Branch 2 — Workbook structural corruption:**
87
+ - One-off recovery: open the workbook in Excel manually; let Excel's repair dialog clean up the structure; save as a new `.xlsx`. Update the workflow to point at the repaired file.
88
+ - Permanent fix: the upstream tool that wrote the broken file needs to be fixed. Common offenders: `openpyxl` writes without all required parts; manual ZIP edits; truncated network copies. Have the upstream owner write through Excel COM or a well-maintained library (e.g., latest `openpyxl` with `data_only=True` discipline; `ClosedXML`; Excel itself via VSTO).
89
+ - Prevention: validate workbook integrity at the boundary where the file enters the automation pipeline. A one-line Open Excel File scope as a smoke test rejects corrupt files before downstream processing.
90
+
91
+ - **Branch 3 — Broken named range / formula reference:**
92
+ - Open the workbook in Excel → `Ctrl+F3` → identify and either delete or fix every named range that shows `#REF!` in `Refers to`.
93
+ - For formulas with `#REF!` cells: fix the formula or delete the formula if the referenced data is no longer needed.
94
+ - Update the workflow's `Range` expression if it referenced a deleted named range.
95
+ - Prevention: do not delete sheets or cells that named ranges depend on without first updating the named ranges. The workbook publisher should audit Name Manager after structural changes.
96
+
97
+ - **Branch 4 — Unsupported OpenXML feature:**
98
+ - **Best fix:** simplify the workbook to use only OpenXML-supported features. Use Excel's `File → Info → Inspect Workbook → Check Compatibility` to identify the offending features; remove or replace them.
99
+ - **Or force the COM provider:** set `ReadFormatting: True` (or another COM-forcing property) on `Use Excel File`, requiring Excel installed on the Robot host. Equivalent to the case-mismatch fix in the sheet-not-found playbook.
100
+ - **Or migrate to legacy `Excel Application Scope`:** explicit COM-only path. Less portable, but rules out OpenXML feature gaps entirely.
101
+
102
+ - **Branch 5 — Heavy conditional formatting / parser scale limit:**
103
+ - Reduce the workbook's size: remove unused conditional formatting rules (Home → Conditional Formatting → Manage Rules → delete unused rules); compress or remove pivot caches; split large workbooks into per-month or per-region files.
104
+ - Raise the Robot host's memory (branch 5 often correlates with `MemoryException` if logs are detailed; sizing the host against the workbook is the fix).
105
+ - If the data fits, switch to the cloud surface (`o365-activities` package): Microsoft Graph reads only the data, not the formatting metadata, and is more memory-efficient for very large workbooks.
106
+
107
+ ## Prevention (cross-branch)
108
+
109
+ - Treat any workbook consumed by automation as a contract: agree on the file format (current `.xlsx`, no macros, no embedded OLE), the maximum size, and the source tool that writes it.
110
+ - Validate at the boundary: a one-line `Get Workbook Sheets` smoke test on the workbook at job start, with a clear failure message, catches branches 1 / 2 / 4 immediately and produces a much cleaner diagnosis than the generic NRE.
111
+ - Audit workbook size and Name Manager after structural changes — saves operators 30 minutes per support ticket.
112
+ - Do not classify automation-consumed workbooks with sensitivity labels that exclude the Robot identity.
113
+ - When choosing between `Use Excel File` (OpenXML default) and `Excel Application Scope` (COM only), be deliberate. OpenXML is more portable but supports fewer Excel features. COM is more capable but requires Excel installed and has higher orphan risk (see [`read-range-file-locked.md`](./read-range-file-locked.md)).
114
+
115
+ ## Related
116
+
117
+ - Other Excel Read Range failure fingerprints (file-locked, sheet-not-found, file-not-found) are separate playbooks — see [`../summary.md`](../summary.md).
118
+ - For shared / cloud Excel workbooks accessed via Microsoft Graph rather than the local filesystem, see [`o365-activities/overview.md`](../../o365-activities/overview.md). Graph reads sidestep most branches of this playbook (no OpenXML parsing on the Robot host; no local sensitivity-label evaluation).
119
+ - The Excel.Activities package's behavior across versions can shift — for stack-trace-specific branches (especially branch 4), check `UiPath.Excel.Activities` release notes for the version in use and consider upgrading.