Skip to main content

uipath-workflow-planning

Plan UiPath workflow implementation from canvas/SDD — MANDATORY before any UiPath codegen. Workflow-type agnostic. Run first, then route to uipath-automation, uipath-longrunning-workflow, uipath-bpmn-maestro, coded-workflow-builder, or other target skill. Triggers on "uipath-workflow-planning", "generate XAML from canvas", "build UiPath from canvas", "workflow plan", "solution flow", or when canvas/SDD is present.

Ir a la instalación

Datos de origen

Repositorio
DanielaRosenn/UiPathSkills
Última actividad en el origen
28 de marzo de 2026 a las 17:07
Idioma detectado de SKILL.md
inglés
Estrellas
2
Forks
1

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
name
uipath-workflow-planning
tags
["uipath-dev","planning","canvas","sdd"]
description
Plan UiPath workflow implementation from canvas/SDD — MANDATORY before any UiPath codegen. Workflow-type agnostic. Run first, then route to uipath-automation, uipath-longrunning-workflow, uipath-bpmn-maestro, coded-workflow-builder, or other target skill. Triggers on "uipath-workflow-planning", "generate XAML from canvas", "build UiPath from canvas", "workflow plan", "solution flow", or when canvas/SDD is present.
# UiPath Workflow Planning (Canvas to Code Bridge) **MANDATORY STEP** before generating **any** UiPath-related implementation (Studio XAML, coded automation, or Maestro-aligned specs). This skill extracts and validates requirements from canvas or SDD; it does **not** assume a specific project template — the downstream skill depends on the automation type. ## When to Use This skill is **AUTOMATICALLY TRIGGERED** before codegen skills such as: - `uipath-automation` - `uipath-longrunning-workflow` (Studio Long Running Automation / ProcessDiagram) - `coded-workflow-builder` - Any workflow where canvas/SDD defines arguments and flow (including inputs for `uipath-bpmn-maestro` when translating model to delivery) **NEVER** generate UiPath implementation without first completing this planning step when a canvas or structured SDD exists (or obtain an equivalent written execution plan from the user). ## Purpose Prevents the common error of generating workflows with incorrect or missing arguments by: 1. Extracting ALL data fields from canvas nodes 2. Mapping data flow between workflows 3. Identifying visibility rules (LIMITED vs FULL VIEW) 4. Validating argument types and sources 5. Creating a workflow execution plan ## Core Workflow ``` ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ 1. LOCATE │────>│ 2. EXTRACT │────>│ 3. MAP DATA │ │ Canvas File │ │ Node Details │ │ Flow │ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ ▼ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ 6. GENERATE │<────│ 5. CREATE │<────│ 4. IDENTIFY │ │ Code │ │ Execution Plan │ │ Visibility │ └─────────────────┘ └─────────────────┘ └─────────────────┘ ``` ## Step 1: Locate Canvas File **ALWAYS** search for canvas/flow documentation first: ``` project/ ├── docs/ │ ├── solution-flow.json # Primary canvas file │ ├── business-flow.json # Business process flow │ └── technical-flow.json # Technical implementation ├── canvas/ │ └── *.json # Alternative location └── *.canvas.json # Root level canvas ``` Search patterns: ```bash # Find canvas files **/solution-flow*.json **/*canvas*.json **/*flow*.json ``` ## Step 2: Extract Node Details For each node in the canvas, extract: ### Form/Approval Nodes (type: "form" or "human") ```json { "id": "n8", "label": "Sales Rep Form", "drillDown": { "type": "form", "title": "Sales Rep Approval Form (LIMITED VIEW)", "visibilityLevel": "LIMITED", "hiddenFields": ["profitabilityMargin", "managerChain"], "fields": [ {"name": "accountName", "label": "Customer Account", "source": "SF Connector", "editable": false}, {"name": "maxCapPercent", "label": "Maximum Cap %", "source": "Sales Rep Input", "editable": true} ], "inputArguments": [ {"name": "in_ProcessId", "type": "String", "source": "Queue Item (QuoteId)"}, {"name": "in_CustomerName", "type": "String", "source": "Queue Item"} ], "outputArguments": [ {"name": "out_ApprovalId", "type": "String"}, {"name": "out_MaxCapPercent", "type": "Decimal"} ] } } ``` ### API/Service Nodes (type: "api") ```json { "id": "n5", "label": "Bob HR API", "drillDown": { "type": "api", "method": "POST", "endpoint": "https://api.hibob.com/v1/people/search", "outputFields": ["bobEmployeeId", "name", "email", "title", "isCRO"] } } ``` ### DMN/Decision Nodes (type: "dmn") ```json { "id": "n7", "label": "Policy Check", "drillDown": { "type": "dmn", "inputs": [ {"name": "quoteTerm", "type": "number"}, {"name": "maxCapPercent", "type": "number"}, {"name": "cpiInclusion", "type": "boolean"}, {"name": "acv", "type": "number"} ], "outputs": [ {"name": "withinPolicy", "type": "boolean"}, {"name": "requiresFinance", "type": "boolean"} ] } } ``` #### DMN Output Guidelines **Simplified outputs**: Use boolean outputs for easier consumption: - `withinPolicy` (boolean): `true` if request meets policy, `false` otherwise - `requiresFinance` (boolean): `true` if Finance approval needed #### DMN Boolean Guidelines **CRITICAL**: Boolean values in DMN must use `true`/`false`, never `"Yes"`/`"No"`: | Context | Correct | Incorrect | |---------|---------|-----------| | DMN XML `<inputEntry>` | `<text>true</text>` | `<text>Yes</text>` | | DMN XML `<outputEntry>` | `<text>false</text>` | `<text>No</text>` | | Canvas JSON rules | `"withinPolicy": true` | `"withinPolicy": "true"` | | Form field defaults | `"Default: true"` | `"Default: Yes"` | ### Queue Nodes (type: "queue") ```json { "id": "n3", "label": "Queue: RenewalPriceCommitment", "drillDown": { "type": "queue", "dataUploaded": { "SpecificContent": { "quoteId": "{from SF}", "accountName": "{from SF}", "salesRepEmail": "{from SF}", "acv": "{from SF}" } } } } ``` ## Step 3: Map Data Flow Create a data flow matrix showing how data moves between nodes: | Data Field | Source Node | Target Nodes | Type | Notes | |------------|-------------|--------------|------|-------| | quoteId | n3 (Queue) | n8, n10, n13, n15, n17 | String | Reference ID | | accountName | n2 (SF) | All approval forms | String | Customer name | | profitabilityMargin | n2 (SF) | n10, n13, n15, n17 | Decimal | HIDDEN from n8 | | managerChainJSON | n5 (Bob API) | n10, n13, n15 | String | JSON array | | policyStatus | n7 (DMN) | n10, n13, n15, n17 | String | "WithinPolicy" or "OutOfPolicy" | | maxCapPercent | n8 (Sales Rep) | n7, n10, n13, n15, n17 | Decimal | User input | ## Step 4: Identify Visibility Rules ### Visibility Levels | Level | Description | Hidden Fields | |-------|-------------|---------------| | LIMITED | Sales Rep view | profitabilityMargin, managerChain, priorApprovals | | FULL | Manager/RevOps view | None - sees everything | | FULL + CHAIN EDITOR | RevOps only | None + can edit managerChain | | FULL + POLICY | Finance only | None + sees policyViolationReason | ### Per-Workflow Visibility Matrix | Workflow | Visibility | Sees Profitability | Sees Chain | Edits Chain | Sees Prior Approvals | |----------|------------|-------------------|------------|-------------|---------------------| | ApprovalFlow_SalesRep | LIMITED | NO | NO | NO | NO | | ApprovalFlow_RevOps | FULL + CHAIN EDITOR | YES | YES | YES | NO | | ApprovalFlow_Manager | FULL | YES | YES | NO | YES | | ApprovalFlow_CRO | FULL | YES | YES | NO | YES | | ApprovalFlow_Finance | FULL + POLICY | YES | YES | NO | YES | ## Step 5: Create Execution Plan Generate a structured execution plan. Name the **main entry workflow** and **project type** for the target automation (examples: `Main.xaml` for REFramework, `Main-Queue.xaml` for Long Running Automation, attended entry workflow, etc.). ```markdown ## Workflow Execution Plan ### Example — Long Running Automation (Studio) ### Main entry: Main-Queue.xaml Type: Long-Running ProcessDiagram (example) Entry: Queue trigger (example) ### Execution Sequence: 1. InitAllSettingsJSON.xaml - Input: None - Output: Config (Dictionary) 2. getTransaction.xaml - Input: Config - Output: TransactionItem (QueueItem) 3. GetManagerHierarchy.xaml (Services/) - Input: in_SalesRepEmail (from Queue), in_BobAPIUrl, in_BobAPICredentials - Output: out_ManagerChainJSON, out_CROEmail, out_CROName, out_ManagerCount 4. ApprovalFlow_SalesRep.xaml (Workflows/) - Visibility: LIMITED - Input: in_ProcessId, in_Title, in_CustomerName, in_QuoteId, in_ACV, in_TCV, in_QuoteTerm, in_Config - Output: out_ApprovalId, out_ResponseToken, out_MaxCapPercent, out_CpiInclusion, out_BusinessJustification 5. PolicyCheck.xaml (Services/) - Input: in_QuoteTerm (Int32), in_MaxCapPercent (Decimal), in_CpiInclusion (Boolean), in_ACV (Decimal) - Output: out_PolicyStatus, out_RequiresFinance, out_PolicyViolationReason 6. ApprovalFlow_RevOps.xaml (Workflows/) - Visibility: FULL + CHAIN EDITOR - Input: All from SalesRep + in_ProfitabilityMargin, in_ManagerChainJSON, in_PolicyStatus - Output: out_ApprovalId, out_ResponseToken, out_ModifiedManagerChainJSON, out_RevOpsComments ... (continue for all workflows) ``` ## Step 6: Argument Specification For each workflow, generate complete argument specifications: ```markdown ### ApprovalFlow_SalesRep.xaml #### Input Arguments | Name | Type | Source | Required | |------|------|--------|----------| | in_ProcessId | String | TransactionItem.Reference | Yes | | in_Title | String | "Sales Rep Approval - Renewal Price Commitment" | Yes | | in_NotificationChannel | String | Config("NotificationChannel") | Yes | | in_ApproverEmail | String | TransactionItem.SpecificContent("salesRepEmail") | Yes | | in_CustomerName | String | TransactionItem.SpecificContent("accountName") | Yes | | in_QuoteId | String | TransactionItem.SpecificContent("quoteId") | Yes | | in_ACV | String | TransactionItem.SpecificContent("acv") | Yes | | in_TCV | String | TransactionItem.SpecificContent("tcv") | Yes | | in_QuoteTerm | Int32 | CInt(TransactionItem.SpecificContent("quoteTerm")) | Yes | | in_CallBackURL | String | Config("CallbackWebhookURL") | Yes | | in_Config | Dictionary(String, Object) | Config | Yes | #### Output Arguments | Name | Type | Description | |------|------|-------------| | out_ApprovalId | String | HITL Platform approval ID | | out_ResponseToken | String | Token for webhook callback | | out_MaxCapPercent | Decimal | User-entered max cap percentage | | out_CpiInclusion | Boolean | User selection for CPI | | out_BusinessJustification | String | User-entered justification | | out_RenewalCommitmentTerm | Int32 | User-entered renewal term | ``` ## Output: Planning Document Generate a `workflow-plan.md` file in the project docs folder: ```markdown # Workflow Implementation Plan Generated: {timestamp} Canvas Source: project/docs/solution-flow.json ## 1. Data Flow Summary [Data flow matrix] ## 2. Visibility Rules [Visibility matrix] ## 3. Workflow Specifications ### 3.1 ApprovalFlow_SalesRep [Complete argument specification] ### 3.2 ApprovalFlow_RevOps [Complete argument specification] ... (all workflows) ## 4. Execution Sequence [Ordered list with dependencies] ## 5. Validation Checklist - [ ] All canvas fields mapped to arguments - [ ] Visibility rules applied correctly - [ ] Data types match canvas specification - [ ] Output arguments capture all user inputs - [ ] Prior approvals chain maintained ```
Ver en GitHub
Este SKILL.md es muy grande, por eso SkillsMP muestra aqui solo la primera seccion. Ver en GitHub