{
  "name": "Publish Zoom class recordings to Google Classroom automatically",
  "nodes": [
    {
      "id": "bfcfda11-8dd6-4773-bb90-79abcfcbcbee",
      "name": "Respond to Webhook",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        3488,
        1488
      ]
    },
    {
      "id": "590c4266-351a-4d4b-8c61-8df858241e2e",
      "name": "Zoom Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        2592,
        1584
      ]
    },
    {
      "id": "ac011896-4a1d-48ee-8c4f-deb10ddec617",
      "name": "Form Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        3456,
        2112
      ]
    },
    {
      "id": "0ef7ecf9-665c-4235-80ed-97e5ababb0b6",
      "name": "Set From Form",
      "type": "n8n-nodes-base.set",
      "position": [
        3680,
        2112
      ]
    },
    {
      "id": "f0004d1d-b996-4dad-bc1d-05b57313ae79",
      "name": "Set From Zoom",
      "type": "n8n-nodes-base.set",
      "position": [
        3856,
        1760
      ]
    },
    {
      "id": "90eea11d-eb82-47a7-bf66-0ae22608d6e7",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        4160,
        1776
      ]
    },
    {
      "id": "bab3dc91-17c7-4875-8b2b-184c66b17d28",
      "name": "Find Active Course by Name",
      "type": "n8n-nodes-base.code",
      "position": [
        5760,
        1760
      ]
    },
    {
      "id": "103ebc31-5e22-48eb-ad93-54786b8ddc6a",
      "name": "Find Topic",
      "type": "n8n-nodes-base.code",
      "position": [
        6224,
        1760
      ]
    },
    {
      "id": "f1ef74e6-ccd6-4921-9318-e8ad89ef3ba6",
      "name": "Get All Topics in Class",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        6000,
        1760
      ]
    },
    {
      "id": "2637f809-3dd0-491c-913e-0a69a78beb2d",
      "name": "Publish Materials to Topic",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        6688,
        1744
      ]
    },
    {
      "id": "2a05b165-49fa-4d8e-9c26-0b99a574d92a",
      "name": "If2",
      "type": "n8n-nodes-base.if",
      "position": [
        6448,
        1760
      ]
    },
    {
      "id": "90ba9e22-b3a0-42d4-bb37-f25d9fd6a6b8",
      "name": "Duration Filtering",
      "type": "n8n-nodes-base.code",
      "position": [
        3312,
        1776
      ]
    },
    {
      "id": "a8d6ca5a-568f-48f8-a405-5c6b3ea5e63f",
      "name": "Relevant Duration?",
      "type": "n8n-nodes-base.if",
      "position": [
        3536,
        1776
      ]
    },
    {
      "id": "610bc66b-d323-4613-8b41-91e1cb5729d9",
      "name": "Switch",
      "type": "n8n-nodes-base.switch",
      "position": [
        5200,
        1776
      ]
    },
    {
      "id": "45b12850-9d21-4b75-97bc-c3ca865d3e36",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        4320,
        1616
      ],
      "parameters": {
        "width": 1088,
        "height": 352,
        "content": "## Validate calls by name\nHere we check if call name has a match with a Class "
      }
    },
    {
      "id": "f480d680-e633-48bd-bee1-bc3b1367995d",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2976,
        1344
      ],
      "parameters": {
        "width": 720,
        "height": 320,
        "content": "## Zoom Webhook Validation\nIt's a Zoom's initial handshake."
      }
    },
    {
      "id": "9cdda68f-0a5f-4a22-bcc4-549e99672742",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3392,
        1984
      ],
      "parameters": {
        "width": 448,
        "height": 304,
        "content": "## Form Input\nCreate a separate form for manual uploads if something fails (e.g. you specified a Class Topic that doesn't exist or your call does not have a correct Class name)"
      }
    },
    {
      "id": "7db3dbd1-d7ac-4b40-ad37-1df27bb25335",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3216,
        1680
      ],
      "parameters": {
        "width": 528,
        "height": 272,
        "content": "## Check Call Duration\nSpecify the threshold in the previous node and filter out calls that do not match."
      }
    },
    {
      "id": "3108a43b-ba60-40b9-94ea-4d54076191d9",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        5456,
        1616
      ],
      "parameters": {
        "width": 1440,
        "height": 336,
        "content": "## Find Class & Upload Materials\nHere we get the course ID to upload our materials, search for specified topic and actually upload the call to Google Class"
      }
    },
    {
      "id": "2eb26920-543d-4039-8436-3dcc163cc202",
      "name": "Get All Classrooms",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        4400,
        1776
      ]
    },
    {
      "id": "0bfa7979-ccb2-4b8d-8ec4-3aa9f7707cb9",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1872,
        1280
      ],
      "parameters": {
        "width": 644,
        "height": 990,
        "content": "## Auto-publish Zoom recordings to Google Classroom\n\n### About\nThis flow is ideal for online schools that use Zoom to teach classes and Google Classroom for storing materials and homework.\n\nIt listens"
      }
    },
    {
      "id": "de335675-bbcb-43f8-89d9-7d74a24273bb",
      "name": "Set Data",
      "type": "n8n-nodes-base.set",
      "position": [
        3264,
        1488
      ]
    },
    {
      "id": "90a5a1a8-a776-4234-8dfb-774d41f7f872",
      "name": "Encryption",
      "type": "n8n-nodes-base.crypto",
      "position": [
        3040,
        1488
      ]
    },
    {
      "id": "3ee8e5fc-8664-4c64-8c77-13232cd1d68c",
      "name": "Webhook Validation?",
      "type": "n8n-nodes-base.if",
      "position": [
        2816,
        1584
      ]
    },
    {
      "id": "bef2e036-28b1-4835-bed1-46c66361108b",
      "name": "Return Active Classes' Names",
      "type": "n8n-nodes-base.code",
      "position": [
        4624,
        1776
      ]
    },
    {
      "id": "1093fdef-e146-4f53-94a4-921ced876aed",
      "name": "Check Classes",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        4848,
        1776
      ]
    },
    {
      "id": "7cda3564-3eb5-4157-a085-5449a9f89a8f",
      "name": "Topic Not Found",
      "type": "n8n-nodes-base.gmail",
      "position": [
        6688,
        1968
      ]
    },
    {
      "id": "8a5d7984-0086-4a4c-af8c-da89bb7251e5",
      "name": "Issue with Classes",
      "type": "n8n-nodes-base.gmail",
      "position": [
        5520,
        1968
      ]
    },
    {
      "id": "0a8df2f0-d0ca-48c0-a502-347684a9aafb",
      "name": "Generate Material Title",
      "type": "n8n-nodes-base.code",
      "position": [
        5520,
        1760
      ]
    },
    {
      "id": "75ddcc59-9d77-467e-8c79-36e37e2d1e85",
      "name": "Set Parameters",
      "type": "n8n-nodes-base.set",
      "position": [
        2992,
        1776
      ]
    }
  ],
  "connections": {
    "If2": {
      "main": [
        [
          {
            "node": "Publish Materials to Topic",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Topic Not Found",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge": {
      "main": [
        [
          {
            "node": "Get All Classrooms",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Switch": {
      "main": [
        [
          {
            "node": "Generate Material Title",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Issue with Classes",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Data": {
      "main": [
        [
          {
            "node": "Respond to Webhook",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Encryption": {
      "main": [
        [
          {
            "node": "Set Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Find Topic": {
      "main": [
        [
          {
            "node": "If2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Form Webhook": {
      "main": [
        [
          {
            "node": "Set From Form",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Zoom Webhook": {
      "main": [
        [
          {
            "node": "Webhook Validation?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Classes": {
      "main": [
        [
          {
            "node": "Switch",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set From Form": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Set From Zoom": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Parameters": {
      "main": [
        [
          {
            "node": "Duration Filtering",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Duration Filtering": {
      "main": [
        [
          {
            "node": "Relevant Duration?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get All Classrooms": {
      "main": [
        [
          {
            "node": "Return Active Classes' Names",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Relevant Duration?": {
      "main": [
        [
          {
            "node": "Set From Zoom",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook Validation?": {
      "main": [
        [
          {
            "node": "Encryption",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Set Parameters",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Material Title": {
      "main": [
        [
          {
            "node": "Find Active Course by Name",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get All Topics in Class": {
      "main": [
        [
          {
            "node": "Find Topic",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Find Active Course by Name": {
      "main": [
        [
          {
            "node": "Get All Topics in Class",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Return Active Classes' Names": {
      "main": [
        [
          {
            "node": "Check Classes",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}