{
  "id": "bL9FtCyxzMAAFjDD",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "AI Daily Email Summary - Auto-Delivered to Slack, WhatsApp & Docs",
  "tags": [],
  "nodes": [
    {
      "id": "2e1cbca9-e97f-4406-910a-283662a946f4",
      "name": "Template Overview",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -9584,
        1440
      ],
      "parameters": {
        "width": 500,
        "height": 956,
        "content": "## \ud83d\udce7 AI Daily Email Summarizer\n\n### Who it's for\nIndividuals and busy professionals who receive a high volume of emails and need a concise, prioritized daily summary.\n\n### What it does\nAutomatically fetches daily primary emails, scrubs sensitive PII (passwords, OTPs, API keys), and generates a prioritized overview using Google Gemini 2.5 Flash.\n\n### How it works\n1. **Fetch:** Pulls non-promotional emails from the last 24 hours.\n2. **Scrub:** Uses Regex to hide sensitive data before processing.\n3. **Summarize:** Gemini groups emails by priority (Action Required, Meetings, FYIs).\n4. **Deliver:** Routes the summary to Google Docs, Gmail, Slack, and/or WhatsApp.\n\n### How to set up\n1. Connect credentials for Gmail, Google Docs, Slack, WhatsApp, and Gemini API. *(Note: Only 1 Gmail credential is required for both reading and sending).* \n2. Update placeholder IDs in the **\u2699\ufe0f Set Configuration** node.\n3. *(Optional)* Update the fallback email in the 'Gmail: Send Error Alert' node.\n4. Toggle preferred delivery channels to `true`.\n5. Click **Test Workflow**.\n\n### Requirements\n- **n8n Version:** 1.0+\n- **Gemini Model:** Gemini 2.5 Flash *(Switch to 1.5-flash if 2.5 is unavailable/rate-limited)*\n- **Credentials:** Gmail, Google Docs, Slack, WhatsApp, Gemini API.\n\n### How to customize\n- **Summarization Scope:** Edit labels in the Gmail node.\n- **Filtering:** Toggle subject/sender filters in the Config node.\n- **AI Tone:** Modify the prompt in the 'Build LLM Prompt' node.\n\n### \ud83d\udce6 Version Info\n- **Gemini Model:** gemini-2.5-flash"
      },
      "typeVersion": 1
    },
    {
      "id": "e07090b0-03a7-42a0-855d-aa59d3df2a66",
      "name": "Zone 1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -9072,
        1440
      ],
      "parameters": {
        "color": 6,
        "width": 460,
        "height": 576,
        "content": "## 1. \u2699\ufe0f Trigger & Configuration\nThis zone initializes the workflow and holds your personal settings.\n\n**Config Checklist:**\n- `targetEmail`: Where to send alerts.\n- `slackUserId`: Your unique Slack ID.\n- `whatsappNumber`: Phone with country code (no +).\n- `receiveOverviewIn...`: Toggle channels ON/OFF.\n\n**Required Credentials:**\n- Gmail OAuth2\n- Google Gemini API\n- Google Docs OAuth2\n- Slack OAuth2\n- WhatsApp Business API"
      },
      "typeVersion": 1
    },
    {
      "id": "42429671-325a-4e79-9fff-b25c96815f4c",
      "name": "Zone 2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -8592,
        1440
      ],
      "parameters": {
        "color": 4,
        "width": 680,
        "height": 576,
        "content": "## 2. \ud83d\udce5 Ingestion & Sanitization\nFetches and cleans data before it leaves your secure environment.\n\n**What happens here:**\n- **Fetch:** Gmail pulls the last 24h of primary mail.\n- **PII Scrubbing:** Regex automatically hides:\n  - OTPs and 2FA Codes\n  - Passwords/Secrets\n  - Credit Card Numbers\n  - Bank Account/IFSC Details\n  - API Keys & Bearer Tokens\n- **Security Check:** Flagging 'High Risk' login alerts."
      },
      "typeVersion": 1
    },
    {
      "id": "8e3b267e-b765-44a0-9238-8f629a63ecdc",
      "name": "Zone 3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -7888,
        1440
      ],
      "parameters": {
        "color": 5,
        "width": 780,
        "height": 572,
        "content": "## 3. \ud83e\udde0 AI Processing\nConverts a wall of text into a high-level executive summary.\n\n**AI Logic:**\n- **Empty Check:** Bypasses LLM if inbox is empty to save tokens.\n- **Prompting:** Instructs Gemini to group by:\n  - \ud83d\udd34 Action Required\n  - \ud83d\udcc5 Meetings & Events\n  - \ud83d\udccc Important Updates\n- **Constraint:** AI is strictly forbidden from guessing hidden PII values."
      },
      "typeVersion": 1
    },
    {
      "id": "dce1f417-3200-4379-a156-0cfb194896c9",
      "name": "Zone 4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -7088,
        1440
      ],
      "parameters": {
        "color": 2,
        "width": 780,
        "height": 984,
        "content": "## 4. \ud83d\udce4 Multi-Channel Delivery\nRoutes the summary to your preferred devices.\n\n- **Google Docs:** Creates a permanent daily log.\n- **Gmail:** Sends a professional email report.\n- **Slack:** Instant DM for quick reading.\n- **WhatsApp:** Mobile-friendly notification."
      },
      "typeVersion": 1
    },
    {
      "id": "ad44706a-9632-4dc2-bf55-0bf8f9570569",
      "name": "Annotation: Scrubbing",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -8384,
        1984
      ],
      "parameters": {
        "color": 4,
        "width": 300,
        "content": "### \ud83d\udee0\ufe0f PII Scrubbing Logic\nThis code uses regular expressions to detect sensitive patterns (API keys, OTPs, Card numbers) and replaces them with [HIDDEN] tags before the AI sees them."
      },
      "typeVersion": 1
    },
    {
      "id": "94dc911e-7f08-49d7-a9ac-42fd01738ed8",
      "name": "Annotation: Formatting",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -7408,
        1904
      ],
      "parameters": {
        "color": 5,
        "width": 300,
        "content": "### \u270d\ufe0f AI Formatting\nCombines the Gemini output with dynamic date strings and formats the text specifically for WhatsApp and Slack (using markdown/emojis)."
      },
      "typeVersion": 1
    },
    {
      "id": "26dbbb70-583f-42d9-a9b1-ecd6d93e14a2",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -9008,
        1824
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "hours",
              "hoursInterval": 24
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "da902a8e-17a4-4266-abdc-9c8b3058c344",
      "name": "\u2699\ufe0f Set Configuration",
      "type": "n8n-nodes-base.set",
      "position": [
        -8816,
        1824
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "f-sub",
              "name": "filterBySubject",
              "type": "boolean",
              "value": false
            },
            {
              "id": "f-sub-v",
              "name": "filterSubjectText",
              "type": "string",
              "value": ""
            },
            {
              "id": "f-send",
              "name": "filterBySender",
              "type": "boolean",
              "value": false
            },
            {
              "id": "f-send-v",
              "name": "filterSenderEmail",
              "type": "string",
              "value": ""
            },
            {
              "id": "s-mail",
              "name": "receiveOverviewInMail",
              "type": "boolean",
              "value": false
            },
            {
              "id": "s-mail-v",
              "name": "targetEmail",
              "type": "string",
              "value": "PASTE_TARGET_EMAIL_HERE"
            },
            {
              "id": "s-slack",
              "name": "receiveOverviewInSlack",
              "type": "boolean",
              "value": false
            },
            {
              "id": "s-slack-v",
              "name": "slackUserId",
              "type": "string",
              "value": "PASTE_SLACK_USER_ID"
            },
            {
              "id": "s-wa",
              "name": "receiveOverviewInWhatsapp",
              "type": "boolean",
              "value": false
            },
            {
              "id": "s-wa-v",
              "name": "whatsappNumber",
              "type": "string",
              "value": "PASTE_WHATSAPP_NUMBER_HERE"
            },
            {
              "id": "s-doc",
              "name": "receiveOverviewInDoc",
              "type": "boolean",
              "value": false
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "dfd8ff16-8732-4d84-8cfa-2cbf12d42fdf",
      "name": "Gmail: Fetch Primary Emails",
      "type": "n8n-nodes-base.gmail",
      "position": [
        -8512,
        1824
      ],
      "parameters": {
        "limit": 50,
        "filters": {
          "q": "={{ ($json.filterBySubject && $json.filterSubjectText ? `Subject: ${$json.filterSubjectText} ` : \"\") + ($json.filterBySender && $json.filterSenderEmail ? `from: ${$json.filterSenderEmail}` : \"\") }}",
          "labelIds": [
            "INBOX",
            "IMPORTANT",
            "CATEGORY_PERSONAL"
          ],
          "receivedAfter": "={{ $now.minus({ hours: $node[\"Schedule Trigger\"].parameter?.rule?.interval?.[0]?.hoursInterval || 24 }).toFormat(\"yyyy-MM-dd'T'HH:mm:ss\") }}",
          "receivedBefore": "={{ $now.toFormat(\"yyyy-MM-dd'T'HH:mm:ss\") }}"
        },
        "operation": "getAll"
      },
      "typeVersion": 2.1
    },
    {
      "id": "52892598-7e0d-4f48-a1f3-48e866fb07d1",
      "name": "Sanitize & Parse Emails",
      "type": "n8n-nodes-base.code",
      "position": [
        -8304,
        1824
      ],
      "parameters": {
        "jsCode": "const emails = $input.all();\n\nfunction sanitize(text) {\n  if (!text) return '';\ntext = text.replace(/\\b(otp|code|pin|verify|verification|token|passcode)\\b[\\s\\S]{0,40}?\\b(\\d{4,8})\\b/gi, '$1: [CODE HIDDEN]');\n  text = text.replace(/(password|passwd|pwd|pass|secret|pin)[\\s\\S]{0,30}?[:\\-=]\\s*\\S+/gi, '$1: [PASSWORD HIDDEN]');\n  text = text.replace(/\\b(?:\\d[ -]?){13,19}\\b/g, '[CARD NUMBER HIDDEN]');\n  text = text.replace(/(token|api[_\\s]?key|secret[_\\s]?key|access[_\\s]?key|auth[_\\s]?key|bearer)[\\s\\S]{0,30}?[:\\-=]\\s*\\S+/gi, '$1: [KEY HIDDEN]');\n  return text.trim();\n}\n\nconst emailList = emails.map((item, index) => {\n  const email = item.json;\n  return {\n    index: index + 1,\n    subject: sanitize(email.Subject || '(No Subject)'),\n    from: email.From || '(Unknown)',\n    snippet: sanitize(email.snippet || '')\n  };\n});\n\nreturn [{ json: { totalEmails: emailList.length, emailSummaryText: emailList.map(e => `From: ${e.from}\\nSub: ${e.subject}\\nSnippet: ${e.snippet}`).join('\\n\\n') } }];"
      },
      "typeVersion": 2
    },
    {
      "id": "7783fab2-1e79-4dd8-b1a9-27f1ccb1d4e6",
      "name": "Inbox Has Emails?",
      "type": "n8n-nodes-base.if",
      "position": [
        -8080,
        1824
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 3,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "check",
              "operator": {
                "type": "number",
                "operation": "gt"
              },
              "leftValue": "={{ $json.totalEmails }}",
              "rightValue": 0
            }
          ]
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "f3d80364-6407-4e5e-b742-b049efec9924",
      "name": "Build LLM Prompt",
      "type": "n8n-nodes-base.code",
      "position": [
        -7792,
        1712
      ],
      "parameters": {
        "jsCode": "return { json: { systemPrompt: \"Summarize emails professionally. Group by: Action Items, Meetings, and Updates. Do not guess redacted data. formatted text summary\", userPrompt: `Today is ${$now.toFormat('dd MMM yyyy')}. Emails:\\n${$input.first().json.emailSummaryText}` } };"
      },
      "typeVersion": 2
    },
    {
      "id": "e0567a9f-01ba-40f5-88ba-eaefb1a5113f",
      "name": "Generate AI Summary",
      "type": "@n8n/n8n-nodes-langchain.googleGemini",
      "position": [
        -7568,
        1712
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "models/gemini-2.5-flash",
          "cachedResultName": "models/gemini-2.5-flash"
        },
        "options": {
          "systemMessage": "={{ $json.systemPrompt }}"
        },
        "messages": {
          "values": [
            {
              "content": "={{ $json.userPrompt }}"
            }
          ]
        },
        "builtInTools": {}
      },
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "af37a8e6-f10b-407d-b3b6-d284a4bf22e2",
      "name": "Format Populated Summary",
      "type": "n8n-nodes-base.code",
      "position": [
        -7280,
        1712
      ],
      "parameters": {
        "jsCode": "const summary = $input.first().json.content?.parts?.[0]?.text || $input.first().json.text || 'No summary generated.';\nreturn { json: { summary, docTitle: `Emails Overview - ${new Date().toDateString()}`, whatsappMessage: `\ud83d\udce7 *Daily Overview*\\n\\n${summary}` } };"
      },
      "typeVersion": 2
    },
    {
      "id": "19adb28a-1ed3-4bbc-adf9-5292883fb23a",
      "name": "Enable Google Docs?",
      "type": "n8n-nodes-base.if",
      "position": [
        -6960,
        1632
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 3,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "doc",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ $('\u2699\ufe0f Set Configuration').item.json.receiveOverviewInDoc }}"
            }
          ]
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "9fef83fd-683f-4e40-8653-6b2cff06bdc3",
      "name": "Google Docs: Create New Doc",
      "type": "n8n-nodes-base.googleDocs",
      "position": [
        -6752,
        1616
      ],
      "parameters": {
        "title": "={{ $json.docTitle }}",
        "folderId": "default"
      },
      "typeVersion": 2
    },
    {
      "id": "4a6d2f16-f934-4d77-9110-4b093d54060b",
      "name": "Google Docs: Append Summary",
      "type": "n8n-nodes-base.googleDocs",
      "position": [
        -6528,
        1616
      ],
      "parameters": {
        "actionsUi": {
          "actionFields": [
            {
              "text": "={{ $('Format Populated Summary').item?.json?.summary }}",
              "action": "insert"
            }
          ]
        },
        "operation": "update",
        "documentURL": "={{ $json.id }}"
      },
      "typeVersion": 2
    },
    {
      "id": "f8361741-bcd4-451f-bfaf-bd74428265b5",
      "name": "Enable Gmail Alert?",
      "type": "n8n-nodes-base.if",
      "position": [
        -6960,
        1824
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 3,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "mail",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ $('\u2699\ufe0f Set Configuration').item.json.receiveOverviewInMail }}"
            }
          ]
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "3ef83791-85c3-4847-bd1b-135ce9feb6f7",
      "name": "Gmail: Send Overview Alert",
      "type": "n8n-nodes-base.gmail",
      "position": [
        -6752,
        1824
      ],
      "parameters": {
        "sendTo": "={{ $('\u2699\ufe0f Set Configuration').item.json.targetEmail }}",
        "message": "={{ $json.summary }}\\n\\n {{ $('\u2699\ufe0f Set Configuration').first().json.receiveOverviewInDoc ? \"Log :\" + $('Google Docs: Create New Doc').first()?.json?.webViewLink : \"\" }}",
        "options": {},
        "subject": "={{ $json.docTitle }}"
      },
      "typeVersion": 2.2
    },
    {
      "id": "6f70e74e-a701-40ca-ab19-fda8e2b38263",
      "name": "Enable Slack Alert?",
      "type": "n8n-nodes-base.if",
      "position": [
        -6960,
        2016
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 3,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "slack",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ $('\u2699\ufe0f Set Configuration').item.json.receiveOverviewInSlack }}"
            }
          ]
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "a68b324f-29d8-4944-9603-52c6f2a77056",
      "name": "Slack: Post Overview Alert",
      "type": "n8n-nodes-base.slack",
      "position": [
        -6752,
        2016
      ],
      "parameters": {
        "text": "={{ $json.summary }}\\n {{ $('\u2699\ufe0f Set Configuration').first().json.receiveOverviewInDoc ? \"Log :\" + $('Google Docs: Create New Doc').first()?.json?.webViewLink : \"\" }}",
        "user": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('\u2699\ufe0f Set Configuration').item.json.slackUserId }}"
        },
        "select": "user",
        "otherOptions": {},
        "authentication": "oAuth2"
      },
      "typeVersion": 2.4
    },
    {
      "id": "7a55fdc3-8958-425b-892d-9b7e477e25ac",
      "name": "Enable WhatsApp Alert?",
      "type": "n8n-nodes-base.if",
      "position": [
        -6960,
        2224
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 3,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "wa",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ $('\u2699\ufe0f Set Configuration').item.json.receiveOverviewInWhatsapp }}"
            }
          ]
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "eb6b16b1-7234-4f85-ba44-9a6ff23bf50a",
      "name": "WhatsApp: Send Overview Alert",
      "type": "n8n-nodes-base.whatsApp",
      "position": [
        -6752,
        2224
      ],
      "parameters": {
        "textBody": "={{ $json.whatsappMessage }}\n{{ $('\u2699\ufe0f Set Configuration').first().json.receiveOverviewInDoc ? 'Log: ' + $('Google Docs: Create New Doc').first()?.json?.webViewLink : '' }}",
        "operation": "send",
        "additionalFields": {},
        "recipientPhoneNumber": "={{ $('\u2699\ufe0f Set Configuration').item.json.whatsappNumber}}"
      },
      "typeVersion": 1.1
    },
    {
      "id": "3a536c2e-31f3-47eb-9eb3-b4b3b5e38dac",
      "name": "Error Trigger",
      "type": "n8n-nodes-base.errorTrigger",
      "position": [
        -8848,
        2224
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "ea55a75d-1373-4959-86a3-ea113a378614",
      "name": "Gmail: Send Error Alert",
      "type": "n8n-nodes-base.gmail",
      "position": [
        -8608,
        2224
      ],
      "parameters": {
        "sendTo": "={{ $('\u2699\ufe0f Set Configuration').item.json?.targetEmail || 'PASTE_FALLBACK_EMAIL_HERE' }}",
        "message": "Node: {{ $json.node.name }}\\nError: {{ $json.execution.error.message }}",
        "options": {},
        "subject": "Workflow Error: Daily Email Summarizer"
      },
      "typeVersion": 2.2
    },
    {
      "id": "01fa0dc9-8c28-4f57-ae62-12da81f7220c",
      "name": "Zone 5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -8896,
        2048
      ],
      "parameters": {
        "width": 460,
        "height": 352,
        "content": "## 5. \u26a0\ufe0f Error Handling\nMonitoring execution health.\n\n- **Error Trigger:** Catches node failures globally.\n- **Gmail Alert:** Sends crash report to the config email (or hardcoded fallback email if config fails)."
      },
      "typeVersion": 1
    },
    {
      "id": "c1a14660-f23a-4fa8-a13a-35c6660ae566",
      "name": "Format Empty Summary",
      "type": "n8n-nodes-base.code",
      "position": [
        -7792,
        1872
      ],
      "parameters": {
        "jsCode": "const today = new Date().toLocaleDateString(undefined, {\n  weekday: 'long',\n  year: 'numeric',\n  month: 'long',\n  day: 'numeric'\n});\n\nconst emptyMessage = \"Inbox Zero! No primary emails requiring your attention today.\";\n\nreturn {\n  json: {\n    summary: emptyMessage,\n    today,\n    docTitle: `Emails Overview - ${today}`,\n    whatsappMessage: `\ud83d\udce7 *Daily Emails Overview*\\n\ud83d\udcc5 ${today}\\n\\n${emptyMessage}`\n  }\n};"
      },
      "typeVersion": 2
    }
  ],
  "active": false,
  "settings": {
    "binaryMode": "separate",
    "availableInMCP": false,
    "executionOrder": "v1"
  },
  "versionId": "fa7b34d2-50a5-401f-bd51-c934093e6b21",
  "connections": {
    "Error Trigger": {
      "main": [
        [
          {
            "node": "Gmail: Send Error Alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Build LLM Prompt": {
      "main": [
        [
          {
            "node": "Generate AI Summary",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "\u2699\ufe0f Set Configuration",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Inbox Has Emails?": {
      "main": [
        [
          {
            "node": "Build LLM Prompt",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Format Empty Summary",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Enable Gmail Alert?": {
      "main": [
        [
          {
            "node": "Gmail: Send Overview Alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Enable Google Docs?": {
      "main": [
        [
          {
            "node": "Google Docs: Create New Doc",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Enable Slack Alert?": {
      "main": [
        [
          {
            "node": "Slack: Post Overview Alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate AI Summary": {
      "main": [
        [
          {
            "node": "Format Populated Summary",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Empty Summary": {
      "main": [
        [
          {
            "node": "Enable Google Docs?",
            "type": "main",
            "index": 0
          },
          {
            "node": "Enable Gmail Alert?",
            "type": "main",
            "index": 0
          },
          {
            "node": "Enable Slack Alert?",
            "type": "main",
            "index": 0
          },
          {
            "node": "Enable WhatsApp Alert?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Enable WhatsApp Alert?": {
      "main": [
        [
          {
            "node": "WhatsApp: Send Overview Alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Sanitize & Parse Emails": {
      "main": [
        [
          {
            "node": "Inbox Has Emails?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Populated Summary": {
      "main": [
        [
          {
            "node": "Enable Google Docs?",
            "type": "main",
            "index": 0
          },
          {
            "node": "Enable Gmail Alert?",
            "type": "main",
            "index": 0
          },
          {
            "node": "Enable Slack Alert?",
            "type": "main",
            "index": 0
          },
          {
            "node": "Enable WhatsApp Alert?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\u2699\ufe0f Set Configuration": {
      "main": [
        [
          {
            "node": "Gmail: Fetch Primary Emails",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Gmail: Fetch Primary Emails": {
      "main": [
        [
          {
            "node": "Sanitize & Parse Emails",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Docs: Create New Doc": {
      "main": [
        [
          {
            "node": "Google Docs: Append Summary",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}