N
n8n Store
Workflow Market
Client Onboarding Workflow

Client Onboarding Workflow

by jiteshdugarโ€ข0 views

Description

Categories

๐Ÿค– AI & Machine Learning

Nodes Used

n8n-nodes-base.ifn8n-nodes-base.coden8n-nodes-base.coden8n-nodes-base.gmailn8n-nodes-base.gmailn8n-nodes-base.slackn8n-nodes-base.trellon8n-nodes-base.webhookn8n-nodes-base.airtablen8n-nodes-base.airtable
PriceFree
Views0
Last Updated11/28/2025
workflow.json
{
  "id": "qdRaoqaoF1ayiYyc",
  "meta": {
    "instanceId": "e56288a9b12ad2dc7c19cc4170f20f7abcacaad5fb3972dd882c9ce4f34e7668",
    "templateCredsSetupCompleted": true
  },
  "name": "Client Onboarding Workflow",
  "tags": [],
  "nodes": [
    {
      "id": "b0da85ba-e7ab-42eb-9f72-6fd8ac7b7c04",
      "name": "Log Client",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        624,
        -96
      ],
      "parameters": {
        "columns": {
          "value": {
            "Name": "={{ $('Client Onboarding Webhook').item.json.body.name }}",
            "Plan": "={{ $('Client Onboarding Webhook').item.json.body.plan }}",
            "Email": "={{ $('Client Onboarding Webhook').item.json.body.email }}",
            "Status": "Onboarding Started",
            "Company": "={{ $('Client Onboarding Webhook').item.json.body.company }}",
            "Timestamp": "={{ $now}}"
          },
          "schema": [
            {
              "id": "Timestamp",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Timestamp",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Company",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Company",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Plan",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Plan",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Phone",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Phone",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1AMKLyi8jT_6jkusylMVR8VPaDAK7mih0O9Sg9B_CGFs/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1AMKLyi8jT_6jkusylMVR8VPaDAK7mih0O9Sg9B_CGFs",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1AMKLyi8jT_6jkusylMVR8VPaDAK7mih0O9Sg9B_CGFs/edit?usp=drivesdk",
          "cachedResultName": "master client database sheet"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "aFQXpCszpua9MQeO",
          "name": "Google Sheets account - Akshita"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "adbee833-3cc8-47e3-90c6-b991ca4858ea",
      "name": "Assign Tier Logic",
      "type": "n8n-nodes-base.code",
      "position": [
        832,
        -96
      ],
      "parameters": {
        "jsCode": "const items = $input.all();\n\nreturn items.map(item => {\n  const plan = item.json.Plan || 'free';\n  \n  let tier, priority;\n  switch(plan.toLowerCase()) {\n    case 'enterprise':\n      tier = 'Premium Onboarding';\n      priority = 'High';\n      break;\n    case 'pro':\n      tier = 'Standard Onboarding';\n      priority = 'Medium';\n      break;\n    default:\n      tier = 'Basic Onboarding';\n      priority = 'Low';\n  }\n  \n  return {\n    json: {\n      // Keep the original data structure (capitalized from Google Sheets)\n      Name: item.json.Name,\n      Email: item.json.Email,\n      Company: item.json.Company,\n      Plan: item.json.Plan,\n      Phone: item.json.Phone,\n      Status: item.json.Status,\n      Timestamp: item.json.Timestamp,\n      // Add new fields only\n      tier,\n      priority,\n      onboarding_id: `ONB-${Date.now()}`,\n      welcome_template: tier === 'Premium Onboarding' ? 'enterprise_welcome' : \n                        tier === 'Standard Onboarding' ? 'pro_welcome' : 'basic_welcome'\n    }\n  };\n});"
      },
      "typeVersion": 2
    },
    {
      "id": "aab04da1-8f8e-413e-bf27-7e8c7ceac7ec",
      "name": "Send Welcome Email",
      "type": "n8n-nodes-base.gmail",
      "position": [
        2048,
        -96
      ],
      "webhookId": "085204ab-de63-4fbd-b654-c31ceb2d5cd4",
      "parameters": {
        "sendTo": "={{ $('Assign Tier Logic').item.json.Email }}",
        "message": "=Hi {{ $('Assign Tier Logic').item.json.Name }},\n\nWelcome to [Company Name]! ๐ŸŽŠ\n\nWe're thrilled to have {{ $('Assign Tier Logic').item.json.Company }} join our community. Your {{ $('Assign Tier Logic').item.json.Plan }} plan is now active and ready to use.\n\n๐Ÿ“ŽAttached: Your personalized Welcome Pack with all the details you need to get started.\n\nWhat's Next?\n1. Log into your account using the credentials we've sent separately\n2. Complete your profile setup  \n3. Book your welcome call with our team\n4. Explore our getting started guide\n\nNeed Help?\nOur support team is here for you:\n- Email: [email protected]\n- Priority: {{ $('Assign Tier Logic').item.json.priority }} ({{ $('Assign Tier Logic').item.json.tier }})\n- Your Onboarding ID: {{ $('Assign Tier Logic').item.json.onboarding_id }}\n\nLooking forward to helping you succeed!\n\nBest regards,\nThe [Company Name] Team\n\n---\nThis email was sent as part of your automated onboarding process.",
        "options": {
          "attachmentsUi": {
            "attachmentsBinary": [
              {}
            ]
          }
        },
        "subject": "=Welcome to [Company Name] - Your {{ $('Assign Tier Logic').item.json.Plan }} Plan is Ready! ๐ŸŽ‰",
        "emailType": "text"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "6XrYdrG9HaDZyzGH",
          "name": "Gmail account - Akshita"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "e706ee53-10c7-407e-bdff-422b2f77a22d",
      "name": "Archive Data",
      "type": "n8n-nodes-base.airtable",
      "position": [
        2272,
        -96
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "id",
          "value": "app0C2XHO77J6kgNB"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblDgzEEY4qQV1ejU",
          "cachedResultUrl": "https://airtable.com/app0C2XHO77J6kgNB/tblDgzEEY4qQV1ejU",
          "cachedResultName": "Table 1"
        },
        "columns": {
          "value": {
            "Name": "={{ $('Assign Tier Logic').item.json.Name }}",
            "Plan": "={{ $('Assign Tier Logic').item.json.Plan }}",
            "Tier": "={{ $('Assign Tier Logic').item.json.tier }}",
            "Email": "={{ $('Assign Tier Logic').item.json.Email }}",
            "Status": "=Completed",
            "Company": "={{ $('Assign Tier Logic').item.json.Company }}",
            "Priority": "={{ $('Assign Tier Logic').item.json.priority }}",
            "Onboarding ID": "={{ $('Assign Tier Logic').item.json.onboarding_id }}",
            "Onboarding Date": "={{ $now }}"
          },
          "schema": [
            {
              "id": "Name",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Company",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Company",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Plan",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Plan",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Onboarding Date",
              "type": "dateTime",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Onboarding Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Tier",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Tier",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Onboarding ID",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Onboarding ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Priority",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Priority",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {
          "typecast": true
        },
        "operation": "create",
        "authentication": "airtableOAuth2Api"
      },
      "credentials": {
        "airtableOAuth2Api": {
          "id": "IrwfmJqrnEHXXp8J",
          "name": "Airtable - Akshita"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "57212a0d-860c-4439-8bf8-0a36c00d1572",
      "name": "Schedule Weekly Summary",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        640,
        336
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "cronExpression",
              "expression": "0 9 * * 1"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "7f6efa67-3ac2-45d4-bb58-0759a8843fec",
      "name": "Weekly Report - Data Processing",
      "type": "n8n-nodes-base.code",
      "position": [
        992,
        336
      ],
      "parameters": {
        "jsCode": "// Get all input items\nconst items = $input.all();\n\n// Calculate date one week ago in IST\nconst oneWeekAgo = new Date();\noneWeekAgo.setDate(oneWeekAgo.getDate() - 7);\noneWeekAgo.setHours(0, 0, 0, 0); // Set to start of day for accurate comparison\n\n// Filter recent clients based on Onboarding Date\nconst recentClients = items\n  .map(item => item.json) // Extract the json object from each item\n  .filter(row => {\n    const rowDate = new Date(row[\"Onboarding Date\"]); // Use Onboarding Date field\n    return rowDate >= oneWeekAgo && !isNaN(rowDate); // Ensure valid date\n  });\n\n// Process statistics\nconst totalClients = recentClients.length;\nconst planBreakdown = recentClients.reduce((acc, client) => {\n  const plan = client.Plan; // Use Plan property\n  acc[plan] = (acc[plan] || 0) + 1;\n  return acc;\n}, {});\n\nconst tierBreakdown = recentClients.reduce((acc, client) => {\n  const tier = client.Tier; // Use Tier property\n  acc[tier] = (acc[tier] || 0) + 1;\n  return acc;\n}, {});\n\nconst earliestOnboarding = recentClients.length > 0\n  ? recentClients.reduce((earliest, client) => {\n      const clientDate = new Date(client[\"Onboarding Date\"]);\n      return !earliest || clientDate < earliest ? clientDate : earliest;\n    }, null)\n  : null;\n\nconst report = {\n  week_ending: new Date().toLocaleDateString('en-IN', { timeZone: 'Asia/Kolkata' }), // e.g., \"25/09/2025\"\n  total_new_clients: totalClients,\n  plan_breakdown: planBreakdown,\n  tier_breakdown: tierBreakdown,\n  earliest_onboarding: earliestOnboarding ? earliestOnboarding.toISOString().split('T')[0] : \"N/A\",\n  client_list: recentClients.map(client => ({\n    name: client.Name,\n    email: client.Email,\n    company: client.Company,\n    plan: client.Plan,\n    onboarding_date: client[\"Onboarding Date\"],\n    tier: client.Tier,\n    onboarding_id: client[\"Onboarding ID\"],\n    priority: client.Priority\n  }))\n};\n\n// Return the report as a single JSON object\nreturn [{ json: report }];"
      },
      "typeVersion": 2
    },
    {
      "id": "2a26989a-a526-4593-8058-aa33c4db937f",
      "name": "Weekly Report - Data Collection",
      "type": "n8n-nodes-base.airtable",
      "position": [
        816,
        336
      ],
      "parameters": {
        "id": "recp3YDYpr3f3IrU3",
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "app0C2XHO77J6kgNB",
          "cachedResultUrl": "https://airtable.com/app0C2XHO77J6kgNB",
          "cachedResultName": "Client Base"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblDgzEEY4qQV1ejU",
          "cachedResultUrl": "https://airtable.com/app0C2XHO77J6kgNB/tblDgzEEY4qQV1ejU",
          "cachedResultName": "onboarding list"
        },
        "options": {},
        "authentication": "airtableOAuth2Api"
      },
      "credentials": {
        "airtableOAuth2Api": {
          "id": "IrwfmJqrnEHXXp8J",
          "name": "Airtable - Akshita"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "a028e0e8-25de-4b7e-b4b7-7af41ea918fd",
      "name": "Client Onboarding Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -16,
        32
      ],
      "webhookId": "36feb476-2cd6-40d5-ba75-263f3f9dcf12",
      "parameters": {
        "path": "/client-onboarding",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 2.1
    },
    {
      "id": "d45149ac-24f8-455c-a3e9-c27d9e9033a0",
      "name": "Email Validation",
      "type": "n8n-nodes-verifiemail.verifiEmail",
      "position": [
        192,
        32
      ],
      "parameters": {
        "email": "={{ $json.body.email }}"
      },
      "credentials": {
        "verifiEmailApi": {
          "id": "Hnczc7sz8SvYDR0g",
          "name": "VerifiEmail account 2"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "0bd3ad3c-9864-4b36-9bb5-bea1da3fe66f",
      "name": "Email Validity Check",
      "type": "n8n-nodes-base.if",
      "position": [
        416,
        32
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "0c18e9d3-4716-4e77-84db-a124b5a4e24d",
              "operator": {
                "type": "boolean",
                "operation": "equals"
              },
              "leftValue": "={{ $json.valid }}",
              "rightValue": true
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "884dd44e-4891-4101-bdb7-461dcc133f8a",
      "name": "Generate Welcome PDF",
      "type": "n8n-nodes-htmlcsstopdf.htmlcsstopdf",
      "position": [
        1392,
        -96
      ],
      "parameters": {
        "html_content": "=<html>   <head>     <style>       body { font-family: Arial, sans-serif; margin: 20px; }       h1 { color: #333; }       .details { margin: 10px 0; }     </style>   </head>   <body>     <img src=\"https://yourcompany.com/logo.png\" alt=\"Company Logo\" style=\"max-width: 200px;\">     <h1>Welcome, {{ $json.name.split(' ')[0] }}!</h1>     <div class=\"details\">       <p><strong>Client:</strong> {{ $json.name }}</p>       <p><strong>Company:</strong> {{ $('Assign Tier Logic').item.json.Company }}</p>       <p><strong>Email:</strong> {{ $json.email }}</p>       <p><strong>Plan:</strong> {{ $('Assign Tier Logic').item.json.Plan }}</p>       <p><strong>Priority:</strong> {{ $json.desc.match(/Priority: (\\w+)/)[1] }}</p>       <p><strong>Onboarding ID:</strong> {{ $json.desc.match(/Onboarding ID: (\\w+)/)[1] }}</p>       <h3>Next Steps:</h3>       <pre>{{ $json.desc.match(/Next Steps:[\\s\\S]*$/m)[0].replace(/^\\s*- \\[ \\]/gm, 'โ€ข') }}</pre>     </div>   </body> </html>"
      },
      "credentials": {
        "htmlcsstopdfApi": {
          "id": "i5YZc3zx5V2RWZsk",
          "name": "HtmlcsstopdfApi account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "c6c0e5b5-3172-4b9f-a69b-fb3a7a2f7d19",
      "name": "Send Slack Notification",
      "type": "n8n-nodes-base.slack",
      "position": [
        1680,
        -96
      ],
      "webhookId": "15a29cd0-24d9-4c06-afde-4994b5d40c8e",
      "parameters": {
        "text": "=๐ŸŽ‰ *New Client Onboarded!*\n\n๐Ÿ‘ค *Client:* {{ $('Assign Tier Logic').item.json.Name }}\n๐Ÿข *Company:* {{ $('Assign Tier Logic').item.json.Company }}\n๐Ÿ“ง *Email:* {{ $('Assign Tier Logic').item.json.Email }}\n๐Ÿ’ผ *Plan:* {{ $('Assign Tier Logic').item.json.Plan }}\n๐ŸŽฏ *Tier:* {{ $('Assign Tier Logic').item.json.tier }}\n๐Ÿ†” *ID:* {{ $('Assign Tier Logic').item.json.onboarding_id }}\n\nโœ… Welcome Pack generated and sent\n๐Ÿ“‹ Trello card created\n๐Ÿ“Š Data logged to sheets\n\n*Priority:* {{ $('Assign Tier Logic').item.json.priority }}",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "list",
          "value": "C09D9V2A78A",
          "cachedResultName": "new-channel"
        },
        "otherOptions": {
          "unfurl_media": false
        },
        "authentication": "oAuth2"
      },
      "credentials": {
        "slackOAuth2Api": {
          "id": "iEf25ruXA6CT1PJH",
          "name": "Slack account 3 - Akshita"
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "222a7b72-8cb6-4dc9-9d21-8398f253ce9d",
      "name": "Create Trello Task Card",
      "type": "n8n-nodes-base.trello",
      "position": [
        1136,
        -96
      ],
      "parameters": {
        "name": "=Onboard  {{ $json.Name }}- {{ $json.Plan }} Plan",
        "listId": "68d4187a255389342797eac8",
        "description": "=Client: {{ $json.Name }}\nCompany: {{ $json.Company }}\nEmail: {{ $json.Email }}\nPlan: {{ $json.Plan }}\nPriority: {{ $json.priority }}\nOnboarding ID: {{ $json.onboarding_id }}\n\nNext Steps:\n- [ ] Welcome call scheduled\n- [ ] Account setup verified  \n- [ ] Training session booked",
        "additionalFields": {
          "due": "={{ $now.plus(3, 'days') }}"
        }
      },
      "credentials": {
        "trelloApi": {
          "id": "x0WqyNJgvmlBrREW",
          "name": "Trello account - Akshita"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "4ddbdf58-799a-45f9-ba22-6444faa3691b",
      "name": "Download PDF File",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1872,
        96
      ],
      "parameters": {
        "url": "={{ $('Generate Welcome PDF').item.json.pdf_url }}",
        "options": {
          "response": {
            "response": {
              "responseFormat": "file"
            }
          }
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "26c5bb27-a4b0-4a7d-970e-9ecd8478d317",
      "name": "Send Weekly Report Email",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1168,
        336
      ],
      "webhookId": "602ea1b9-7f46-4d1c-b0f8-6e6e6544fa37",
      "parameters": {
        "sendTo": "[email protected]",
        "message": "=Weekly Onboarding Summary ({{ $json.week_ending }}):\n\n1. Total New Clients: {{ $json.total_new_clients }}\n2. Plan Breakdown: {{ Object.entries($json.plan_breakdown).map(([k, v]) => `${k}: ${v}`).join(', ') }}\n3. Tier Breakdown: {{ Object.entries($json.tier_breakdown).map(([k, v]) => `${k}: ${v}`).join(', ') }}\n4. Earliest Onboarding: {{ $json.earliest_onboarding }}\n5. Client List{{ $json.client_list.map(c => `- ${c.name} (${c.plan}, ${c.company})`).join('\\n') }}",
        "options": {},
        "subject": "=Weekly Onboarding Report - {{ $json.week_ending }}",
        "emailType": "text"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "6XrYdrG9HaDZyzGH",
          "name": "Gmail account - Akshita"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "222bd0c0-04d9-42c7-b94f-002df0711f4c",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -64,
        -544
      ],
      "parameters": {
        "color": 7,
        "width": 384,
        "height": 368,
        "content": "## ๐Ÿ“Œ MAIN OVERVIEW \n\nThis workflow automates:\n1. **Client onboarding** with **email validation**\n2. **Tier assignment** (Basic/Pro/Premium)\n3. Task creation in **Trello** for **CSM** team\n4. Personalized **Welcome PDF generation**\n5. **Notifications** via **Slack + Email**\n6. Weekly summary reports to management\n\n**Whoโ€™s it for?** Agencies, SaaS startups, **B2B** companies.\n**Requirements**: Google Sheets, Trello, Slack, Gmail, Airtable credentials."
      },
      "typeVersion": 1
    },
    {
      "id": "00f3ea8b-c7d9-4d56-bef2-0633e6cafae4",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -64,
        -144
      ],
      "parameters": {
        "color": 7,
        "width": 384,
        "height": 336,
        "content": "## EMAIL VALIDATION\n\n1. Capture client details from **form submission (Webhook)**.\n2. **Validate email authenticity** to avoid fake signups.\n3. Only proceed with valid entries โ†’ invalid entries are dropped."
      },
      "typeVersion": 1
    },
    {
      "id": "6ca96f9c-cccd-47ba-b4ec-eef79b7e3d26",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        592,
        -288
      ],
      "parameters": {
        "color": 7,
        "width": 416,
        "height": 352,
        "content": "## CLIENT LOGGING & TIER ASSIGNMENT \n\n1. **Log client** details in **Google Sheets** for record-keeping.\n2. Assign **tier (Basic/Pro)** automatically using logic function (e.g., plan selected or budget)."
      },
      "typeVersion": 1
    },
    {
      "id": "14baceb6-f61f-45b5-a6fa-1b952dd9054c",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1088,
        -272
      ],
      "parameters": {
        "color": 7,
        "width": 464,
        "height": 336,
        "content": "## TASK CREATION & ONBOARDING PDF\n\n1. Auto-create **Trello task card** for onboarding tasks.\n2. Generate **personalized Welcome Pack PDF** (includes client name, plan details, support contacts).\n3. Store PDF link for further use."
      },
      "typeVersion": 1
    },
    {
      "id": "45e3b3ad-6525-4ac5-b3da-d04348d5a75b",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1632,
        -240
      ],
      "parameters": {
        "color": 7,
        "width": 560,
        "height": 304,
        "content": "## TEAM & CLIENT COMMUNICATION \n\n1. Send **Slack notification** to internal team about **new client onboarding**.\n2. Send personalized email with **attached PDF** to client."
      },
      "typeVersion": 1
    },
    {
      "id": "b2433eb7-7030-4f3a-acd0-7413f6d47858",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2240,
        -256
      ],
      "parameters": {
        "color": 7,
        "width": 224,
        "height": 320,
        "content": "## DATA STORAGE \n\nArchive all onboarding details (client info, assigned tier, PDF link, onboarding status) in **Airtable**."
      },
      "typeVersion": 1
    },
    {
      "id": "80044205-e54c-41e2-ab64-93d7efee1a45",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        608,
        160
      ],
      "parameters": {
        "color": 7,
        "width": 752,
        "height": 368,
        "content": "## WEEKLY REPORTING \n\n1. Schedule a **weekly trigger**.\n2. Collect onboarding data from **Airtable/Sheets**.\n3. Process stats (number of onboarded clients, tier distribution).\n4. Send **weekly report** via **email** to management."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "8de3a88f-7eb6-4955-b0bb-9ff37f1d5bf1",
  "connections": {
    "Log Client": {
      "main": [
        [
          {
            "node": "Assign Tier Logic",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Email Validation": {
      "main": [
        [
          {
            "node": "Email Validity Check",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Assign Tier Logic": {
      "main": [
        [
          {
            "node": "Create Trello Task Card",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download PDF File": {
      "main": [
        [
          {
            "node": "Send Welcome Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Welcome Email": {
      "main": [
        [
          {
            "node": "Archive Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Email Validity Check": {
      "main": [
        [
          {
            "node": "Log Client",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Welcome PDF": {
      "main": [
        [
          {
            "node": "Send Slack Notification",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Trello Task Card": {
      "main": [
        [
          {
            "node": "Generate Welcome PDF",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Weekly Summary": {
      "main": [
        [
          {
            "node": "Weekly Report - Data Collection",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Slack Notification": {
      "main": [
        [
          {
            "node": "Download PDF File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Client Onboarding Webhook": {
      "main": [
        [
          {
            "node": "Email Validation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Weekly Report - Data Collection": {
      "main": [
        [
          {
            "node": "Weekly Report - Data Processing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Weekly Report - Data Processing": {
      "main": [
        [
          {
            "node": "Send Weekly Report Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

็›ธๅ…ณๅทฅไฝœๆต