{
  "name": "Automate interview scheduling and data cleanup with Cal.com and Google Sheets",
  "nodes": [
    {
      "id": "da1d59c5-9f44-41b2-9239-9656a5524bc8",
      "name": "When clicking ‘Execute workflow’",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        60,
        60
      ]
    },
    {
      "id": "be3c688c-ca01-42b8-8fd6-6b715a187683",
      "name": "HTTP Request1",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        560,
        60
      ]
    },
    {
      "id": "ba372028-e10d-46c8-bac9-eb3400e5c2f4",
      "name": "Edit Fields1",
      "type": "n8n-nodes-base.set",
      "position": [
        960,
        60
      ]
    },
    {
      "id": "b9c03922-faf8-4c5c-87ba-cd44b8919aaa",
      "name": "Google Sheets1",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1440,
        60
      ]
    },
    {
      "id": "06ea5046-9679-47d3-876c-d9963a5bd47c",
      "name": "Split Out",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        1660,
        60
      ]
    },
    {
      "id": "8d2456b4-8074-4b95-9f2d-9beca4f47f3a",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        220,
        -260
      ],
      "parameters": {
        "width": null,
        "height": null,
        "content": "## 📅 Cal.com Calendar Setup\nThis section fetches all bookings from your Cal.com event.\n\n- Pulls booking data via Cal.com API\n- Extracts attendee name, email, and interview time\n\n🔐 Be sure to insert yo"
      }
    },
    {
      "id": "73f5783e-f0e4-40e8-88e2-067bc86880b3",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        940,
        -280
      ],
      "parameters": {
        "width": 420,
        "height": 280,
        "content": "## 🔁 Link to Resume Screening Template\nThis workflow can be connected to the resume evaluation system.\n\n- Automatically assigns interview schedules\n- Matches bookings to existing applicants in your sh"
      }
    },
    {
      "id": "4c2e0432-6b9c-4142-a17f-cb65cd31697e",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1820,
        -220
      ],
      "parameters": {
        "width": 460,
        "height": 220,
        "content": "## 🧹 Data Cleanup Logic\nThis section ensures only valid candidates remain in the sheet.\n\n- Compares booking emails with accepted applicants\n- Deletes rows with missing or unmatched data (e.g. no summa"
      }
    },
    {
      "id": "f61ef94a-6f49-4495-aa2c-9d4e8e3c02fd",
      "name": "Iterate over emails",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        1900,
        60
      ]
    },
    {
      "id": "e896a142-0045-4b18-bb84-23381fda6343",
      "name": "Check for unmatched Emails",
      "type": "n8n-nodes-base.if",
      "position": [
        2120,
        160
      ]
    },
    {
      "id": "231eee7f-33cc-4879-ab32-701543a83ec2",
      "name": "Deleting",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2340,
        140
      ]
    },
    {
      "id": "7fa5068c-5b7c-4bb5-bd0c-a41560221141",
      "name": "Adding Time & Date for interview",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1200,
        60
      ]
    },
    {
      "id": "a30e3a25-b55e-41bd-bd25-ac6821bdec32",
      "name": "Converting to time",
      "type": "n8n-nodes-base.code",
      "position": [
        760,
        60
      ]
    },
    {
      "id": "365dad27-686d-4f38-9bbd-6beeb83573ca",
      "name": "Fetching Booking Information",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        340,
        60
      ]
    }
  ],
  "connections": {
    "Deleting": {
      "main": [
        [
          {
            "node": "Iterate over emails",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out": {
      "main": [
        [
          {
            "node": "Iterate over emails",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields1": {
      "main": [
        [
          {
            "node": "Adding Time & Date for interview",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request1": {
      "main": [
        [
          {
            "node": "Converting to time",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets1": {
      "main": [
        [
          {
            "node": "Split Out",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Converting to time": {
      "main": [
        [
          {
            "node": "Edit Fields1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Iterate over emails": {
      "main": [
        [],
        [
          {
            "node": "Check for unmatched Emails",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check for unmatched Emails": {
      "main": [
        [
          {
            "node": "Deleting",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Iterate over emails",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetching Booking Information": {
      "main": [
        [
          {
            "node": "HTTP Request1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Adding Time & Date for interview": {
      "main": [
        [
          {
            "node": "Google Sheets1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Execute workflow’": {
      "main": [
        [
          {
            "node": "Fetching Booking Information",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}