n8n-workflows/workflows/1_Google_Cal_to_Zoom_meeting.json
2025-05-14 11:58:29 +03:00

196 lines
4.5 KiB
JSON

{
"id": 1,
"name": "Google Cal to Zoom meeting",
"nodes": [
{
"name": "On clicking 'execute'",
"type": "n8n-nodes-base.manualTrigger",
"position": [
0,
330
],
"parameters": {},
"typeVersion": 1
},
{
"name": "Zoom",
"type": "n8n-nodes-base.zoom",
"position": [
380,
410
],
"parameters": {
"topic": "=Meeting with {{$node[\"IF Zoom meeting\"].json[\"summary\"]}}",
"authentication": "oAuth2",
"additionalFields": {
"duration": "={{(Date.parse($node[\"IF Zoom meeting\"].json[\"end\"][\"dateTime\"])-Date.parse($node[\"IF Zoom meeting\"].json[\"start\"][\"dateTime\"]))/(60*1000)}}",
"settings": {},
"timeZone": "={{$node[\"IF Zoom meeting\"].json[\"start\"][\"timeZone\"]}}",
"startTime": "={{$node[\"IF Zoom meeting\"].json[\"start\"][\"dateTime\"]}}"
}
},
"credentials": {
"zoomOAuth2Api": {
"id": "3",
"name": "Zoom account"
}
},
"typeVersion": 1
},
{
"name": "Date & Time",
"type": "n8n-nodes-base.dateTime",
"position": [
200,
230
],
"parameters": {
"value": "={{new Date().toISOString()}}",
"action": "calculate",
"options": {},
"duration": 12,
"timeUnit": "hours",
"dataPropertyName": "later"
},
"typeVersion": 1
},
{
"name": "Google Calendar",
"type": "n8n-nodes-base.googleCalendar",
"position": [
350,
230
],
"parameters": {
"options": {
"timeMax": "={{$node[\"Date & Time\"].json[\"later\"]}}",
"timeMin": "={{new Date(new Date().getTime() + (0 * 60 * 60 * 1000)).toISOString()}}",
"singleEvents": true
},
"calendar": "REPLACE_WITH_CALENDAR_ID",
"operation": "getAll"
},
"credentials": {
"googleCalendarOAuth2Api": {
"id": "1",
"name": "Google Calendar account"
}
},
"typeVersion": 1
},
{
"name": "IF Zoom meeting",
"type": "n8n-nodes-base.if",
"notes": "filters out:\n- existing Zoom meetings made by Calendly\n- in person zoom meetings\n- signal meetings\n- canceled Calendly meetings (\"transparent\")",
"position": [
180,
430
],
"parameters": {
"conditions": {
"string": [
{
"value1": "={{$node[\"Google Calendar\"].json[\"transparency\"]}}",
"value2": "transparent",
"operation": "notContains"
},
{
"value1": "={{$node[\"Google Calendar\"].json[\"summary\"]}}",
"value2": "=signal",
"operation": "notContains"
},
{
"value1": "{{$node[\"Google Calendar\"].json[\"summary\"]}}",
"value2": "minute meeting",
"operation": "notContains"
},
{
"value1": "={{$node[\"Google Calendar\"].json[\"summary\"]}}",
"value2": "in person",
"operation": "notContains"
}
],
"boolean": []
}
},
"typeVersion": 1
},
{
"name": "Cron Once a Day",
"type": "n8n-nodes-base.cron",
"position": [
0,
170
],
"parameters": {
"triggerTimes": {
"item": [
{
"hour": 7
}
]
}
},
"typeVersion": 1
}
],
"active": true,
"settings": {},
"connections": {
"Date & Time": {
"main": [
[
{
"node": "Google Calendar",
"type": "main",
"index": 0
}
]
]
},
"Cron Once a Day": {
"main": [
[
{
"node": "Date & Time",
"type": "main",
"index": 0
}
]
]
},
"Google Calendar": {
"main": [
[
{
"node": "IF Zoom meeting",
"type": "main",
"index": 0
}
]
]
},
"IF Zoom meeting": {
"main": [
[
{
"node": "Zoom",
"type": "main",
"index": 0
}
]
]
},
"On clicking 'execute'": {
"main": [
[
{
"node": "Date & Time",
"type": "main",
"index": 0
}
]
]
}
}
}