68dd7ff803
- Documents 6 sub-workflows (3 deployed, 3 pending) - Lists all Execute Workflow nodes and target IDs - Provides deployment steps for TODO placeholders - Includes rollback instructions using backup files - Architecture diagram shows workflow relationships - Input/output contracts for new sub-workflows - Testing checklist for post-deployment verification
6.6 KiB
6.6 KiB
Sub-workflow Deployment Guide
Overview
Phase 10.1 (Aggressive Workflow Modularization) reduced the main workflow from 192 nodes to 168 nodes by extracting domain-specific functionality into sub-workflows.
Final State:
- Main workflow: 168 nodes (reduced by 24 nodes, -12.5%)
- Total sub-workflows: 6 (3 pre-existing + 3 new)
Sub-workflows
| File | Purpose | Nodes | Status |
|---|---|---|---|
| n8n-update.json | Container update operations | 34 | Deployed (ID: 7AvTzLtKXM2hZTio92_mC) |
| n8n-actions.json | Container start/stop/restart | 11 | Deployed (ID: fYSZS5PkH0VSEaT5) |
| n8n-logs.json | Container log retrieval | 9 | Deployed (ID: oE7aO2GhbksXDEIw) |
| n8n-batch-ui.json | Batch selection UI | 16 | TODO: Deploy |
| n8n-status.json | Container list/status | 11 | TODO: Deploy |
| n8n-confirmation.json | Confirmation dialogs | 16 | TODO: Deploy |
Deployment Steps
Step 1: Deploy n8n-batch-ui.json
- In n8n, go to Settings > Import from File
- Import
n8n-batch-ui.json - Note the assigned workflow ID (e.g.,
abc123xyz) - In
n8n-workflow.json, search forTODO_DEPLOY_BATCH_UI_WORKFLOW - Replace with the actual workflow ID:
"value": "abc123xyz" - There is 1 occurrence to replace
Step 2: Deploy n8n-status.json
- Import
n8n-status.jsonto n8n - Note the assigned workflow ID
- In
n8n-workflow.json, search forTODO_DEPLOY_STATUS_WORKFLOW - Replace all occurrences with the actual workflow ID
- There are 4 occurrences to replace:
- Execute Container Status
- Execute Select Status
- Execute Paginate Status
- Execute Batch Cancel Status
Step 3: Deploy n8n-confirmation.json
- Import
n8n-confirmation.jsonto n8n - Note the assigned workflow ID
- In
n8n-workflow.json, search forTODO_DEPLOY_CONFIRMATION_WORKFLOW - Replace with the actual workflow ID
- There is 1 occurrence to replace
Step 4: Re-import Main Workflow
- Import the updated
n8n-workflow.jsonto n8n - Activate the workflow
Execute Workflow Node Mapping
| Node Name | Target Sub-workflow | Workflow ID |
|---|---|---|
| Execute Text Update | n8n-update.json | 7AvTzLtKXM2hZTio92_mC |
| Execute Callback Update | n8n-update.json | 7AvTzLtKXM2hZTio92_mC |
| Execute Batch Update | n8n-update.json | 7AvTzLtKXM2hZTio92_mC |
| Execute Container Action | n8n-actions.json | fYSZS5PkH0VSEaT5 |
| Execute Inline Action | n8n-actions.json | fYSZS5PkH0VSEaT5 |
| Execute Batch Action Sub-workflow | n8n-actions.json | fYSZS5PkH0VSEaT5 |
| Execute Text Logs | n8n-logs.json | oE7aO2GhbksXDEIw |
| Execute Inline Logs | n8n-logs.json | oE7aO2GhbksXDEIw |
| Execute Batch UI | n8n-batch-ui.json | TODO_DEPLOY_BATCH_UI_WORKFLOW |
| Execute Container Status | n8n-status.json | TODO_DEPLOY_STATUS_WORKFLOW |
| Execute Select Status | n8n-status.json | TODO_DEPLOY_STATUS_WORKFLOW |
| Execute Paginate Status | n8n-status.json | TODO_DEPLOY_STATUS_WORKFLOW |
| Execute Batch Cancel Status | n8n-status.json | TODO_DEPLOY_STATUS_WORKFLOW |
| Execute Confirmation | n8n-confirmation.json | TODO_DEPLOY_CONFIRMATION_WORKFLOW |
Rollback
If issues are encountered, backup files are available:
# Restore to before batch UI extraction
cp n8n-workflow.json.backup-batch n8n-workflow.json
# Restore to before status extraction
cp n8n-workflow.json.backup-status n8n-workflow.json
# Restore to before confirmation extraction
cp n8n-workflow.json.backup-confirm n8n-workflow.json
Then re-import the restored n8n-workflow.json to n8n.
Architecture
n8n-workflow.json (168 nodes - orchestrator)
├── Telegram Trigger (1)
├── Auth + Error Handling
├── Keyword Routing (switch/if nodes)
│
├── Update Operations
│ ├── Execute Text Update ──────────┐
│ ├── Execute Callback Update ──────┼── n8n-update.json (34 nodes)
│ └── Execute Batch Update ─────────┘
│
├── Action Operations
│ ├── Execute Container Action ─────┐
│ ├── Execute Inline Action ────────┼── n8n-actions.json (11 nodes)
│ └── Execute Batch Action ─────────┘
│
├── Log Operations
│ ├── Execute Text Logs ────────────┐
│ └── Execute Inline Logs ──────────┴── n8n-logs.json (9 nodes)
│
├── Batch UI
│ └── Execute Batch UI ─────────────── n8n-batch-ui.json (16 nodes)
│ ├── Returns: keyboard/confirmation/execute/cancel/limit
│ └── Main routes response based on action
│
├── Container Status
│ ├── Execute Container Status ─────┐
│ ├── Execute Select Status ────────┼── n8n-status.json (11 nodes)
│ ├── Execute Paginate Status ──────┤ Returns: list/status/paginate
│ └── Execute Batch Cancel Status ──┘
│
└── Confirmation Dialogs
└── Execute Confirmation ─────────── n8n-confirmation.json (16 nodes)
├── Returns: show_stop/show_update/confirm_*/cancel/expired
└── Calls n8n-actions.json for confirmed stop actions
Sub-workflow Input/Output Contracts
n8n-batch-ui.json
Input:
chatId,messageId,queryIdcallbackData,action,batchPageselectedCsv,toggleName
Output:
action: keyboard | confirmation | execute | cancel | limit_reached
n8n-status.json
Input:
chatId,messageId,queryIdaction,containerId,containerNamepage,searchTerm
Output:
action: list | status | paginate | status_direct
n8n-confirmation.json
Input:
chatId,messageId,queryIdaction,containerId,containerNameconfirmAction,confirmationTokenexpired,responseMode
Output:
action: show_stop | show_update | confirm_stop_result | confirm_update | cancel | expired
Testing Checklist
After deployment, verify:
/list- Shows container list/status <container>- Shows container details/stop <container>- Shows confirmation dialog- Confirm stop - Executes stop action
- Cancel stop - Returns to status view
/update <container>- Shows confirmation dialog- Confirm update - Executes update flow
/stop(no args) - Shows batch selection UI- Select multiple containers - Batch selection works
- Execute batch - All selected containers processed
/logs <container>- Shows container logs