{
  "name": "Create a Calendly availability API endpoint for real-time scheduling data",
  "nodes": [
    {
      "id": "9f5a31b3-8662-4c93-b7e8-15f9612ef3e0",
      "name": "📋 WORKFLOW OVERVIEW",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -192,
        480
      ],
      "parameters": {
        "width": 440,
        "height": 496,
        "content": "## 🗓️ Calendly Availability Checker\n\n**What this workflow does:**\n1. 🔐 Authenticates with Calendly API\n2. 👤 Gets your user information\n3. 📋 Lists all your event types\n4. ⏰ Checks real-time availabilit"
      }
    },
    {
      "id": "884e26b4-9f13-4d49-bfa2-3e86f37b6b30",
      "name": "⚙️ SETUP GUIDE",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1200,
        480
      ],
      "parameters": {
        "width": 448,
        "height": 488,
        "content": "## ⚙️ Setup Instructions\n\n**Step 1: Calendly Credentials**\n1. Go to calendly.com/integrations\n2. Click \"API & Webhooks\"\n3. Create Personal Access Token\n   OR set up OAuth2 app\n4. In n8n, create creden"
      }
    },
    {
      "id": "dfb1be1c-9d70-420b-a6fc-491935039ebe",
      "name": "Webhook Trigger",
      "type": "n8n-nodes-base.webhook",
      "position": [
        320,
        528
      ]
    },
    {
      "id": "d4c04dcb-99d3-4a69-a459-99fe3e1735fa",
      "name": "🎯 TRIGGERS",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -192,
        1008
      ],
      "parameters": {
        "width": 436,
        "height": 316,
        "content": "## 🎯 Triggers\n\n**Webhook POST Body:**\n```json\n{\n  \"event_type_uri\": \"optional\",\n  \"days_ahead\": 7\n}\n```\n\nIf no event_type_uri provided,\nuses first active event type."
      }
    },
    {
      "id": "a443b254-4970-4e23-8bff-d1498a356b01",
      "name": "Set Configuration",
      "type": "n8n-nodes-base.set",
      "position": [
        560,
        528
      ]
    },
    {
      "id": "8bafde54-7d0f-43cc-b939-ea7dd7fe67dd",
      "name": "Get Current User",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        800,
        528
      ]
    },
    {
      "id": "9d75a542-8b3a-4094-a275-bb57130b706b",
      "name": "Extract User Info",
      "type": "n8n-nodes-base.set",
      "position": [
        560,
        752
      ]
    },
    {
      "id": "92a97501-5f67-4a4a-8ffc-9d506eee4532",
      "name": "Get Event Types",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        800,
        752
      ]
    },
    {
      "id": "222a18e8-f366-4e92-a950-9ea75387cdc9",
      "name": "Select Event Type",
      "type": "n8n-nodes-base.set",
      "position": [
        560,
        992
      ]
    },
    {
      "id": "9aab3b00-d855-4ea2-9389-e2b43c0c7d94",
      "name": "Get Available Times",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        800,
        992
      ]
    },
    {
      "id": "dabe7159-de5b-45a6-bdaa-eeffe493f3f0",
      "name": "Format Availability",
      "type": "n8n-nodes-base.set",
      "position": [
        560,
        1232
      ]
    },
    {
      "id": "f67a6696-b3b0-4ad2-a38c-f9040aaba04c",
      "name": "Respond with Availability",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        992,
        1232
      ]
    },
    {
      "id": "11b7d4fb-b6ce-479a-b8c7-bbfcb6b3dea9",
      "name": "📤 RESPONSE FORMAT",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1200,
        992
      ],
      "parameters": {
        "width": 452,
        "height": 372,
        "content": "## 📤 Response Format\n\n```json\n{\n  \"success\": true,\n  \"user\": { ... },\n  \"event_type\": { ... },\n  \"availability\": {\n    \"has_slots\": true,\n    \"total_slots\": 45,\n    \"next_available\": \"Mon, Dec 2, 10:0"
      }
    }
  ],
  "connections": {
    "Get Event Types": {
      "main": [
        [
          {
            "node": "Select Event Type",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook Trigger": {
      "main": [
        [
          {
            "node": "Set Configuration",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Current User": {
      "main": [
        [
          {
            "node": "Extract User Info",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract User Info": {
      "main": [
        [
          {
            "node": "Get Event Types",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Select Event Type": {
      "main": [
        [
          {
            "node": "Get Available Times",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Configuration": {
      "main": [
        [
          {
            "node": "Get Current User",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Availability": {
      "main": [
        [
          {
            "node": "Respond with Availability",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Available Times": {
      "main": [
        [
          {
            "node": "Format Availability",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}