Sub-workflows ও Modular Design

লেসন ২২ / ২৫

Sub-workflow কী?

বড় automation-কে ছোট ছোট re-usable workflow-এ ভাগ করা — এতে কোড DRY (Do Not Repeat Yourself) থাকে এবং maintain করা সহজ হয়।

Execute Workflow Node

Main Workflow:
[Lead Trigger]
      ↓
[Execute Workflow: "Send Welcome Email"]
  Input: { name: "করিম", email: "karim@gmail.com" }
      ↓
[Execute Workflow: "Add to CRM"]
  Input: { lead_data: $json }
      ↓
[Execute Workflow: "Notify Sales Team"]
  Input: { lead: $json, priority: "high" }

Reusable Sub-workflow উদাহরণ

Sub-workflow: "Send Formatted Telegram Alert"
─────────────────────────────────────────
Input: { title, message, emoji, chatId }

[Telegram — Message পাঠানো]
  Text: "{{ $json.emoji }} *{{ $json.title }}*\n\n{{ $json.message }}"

# এখন যেকোনো main workflow এটি call করতে পারবে

মডুলার Architecture

📁 Workflows
├── 🔧 Utilities (Sub-workflows)
│   ├── send-telegram-alert
│   ├── validate-phone-number
│   ├── format-currency-bdt
│   └── log-to-google-sheets
│
├── 📥 Triggers
│   ├── facebook-lead-handler
│   ├── woocommerce-order-handler
│   └── gmail-handler
│
└── 📊 Reports
    ├── daily-sales-report
    └── weekly-lead-summary

Global Variables ব্যবহার

# n8n Settings → Variables
TELEGRAM_ADMIN_CHAT = "-1001234567890"
GOOGLE_SHEET_LEADS  = "1BxiMVs0XRA5..."
COMPANY_NAME        = "TechShilpo"

# Workflow-এ:
{{ $vars.TELEGRAM_ADMIN_CHAT }}
{{ $vars.COMPANY_NAME }}