{ "kind": "open-flow-workflow", "version": 1, "name": "Zoom Meeting Creator", "content": { "modelVersion": 14, "document": { "bindings": {}, "graph": { "nodes": { "n_7214bec7e79be56a": { "name": "Enter meeting topic", "kind": "start", "inputDefs": [ { "jsonSchema": { "type": "string", "maxLength": 200, "minLength": 1, "description": "The meeting topic." }, "nullable": false, "handle": "topic" } ] }, "n_b9faab1f5111b91b": { "inputs": { "topic": { "kind": "sources", "sources": [ { "kind": "node", "nodeId": "n_7214bec7e79be56a", "output": "topic" } ] }, "userId": { "kind": "value", "value": "me" }, "type": { "kind": "value", "value": 2 } }, "name": "Create Zoom meeting", "kind": "task", "task": { "inputs": [ { "description": "The Zoom user ID or email address. Use me when the credential can act on the current app user.", "jsonSchema": { "type": "string", "pattern": "\\S", "minLength": 1, "description": "The Zoom user ID or email address. Use me when the credential can act on the current app user." }, "nullable": true, "handle": "userId", "value": null }, { "description": "The meeting topic.", "jsonSchema": { "type": "string", "maxLength": 200, "minLength": 1, "description": "The meeting topic." }, "nullable": true, "handle": "topic", "value": null }, { "description": "The Zoom meeting type: 1 instant, 2 scheduled, 3 recurring with no fixed time, 4 PMI, 8 recurring with fixed time, or 10 screen share only.", "jsonSchema": { "anyOf": [ { "const": 1, "description": "Instant meeting type." }, { "const": 2, "description": "Scheduled meeting type." }, { "const": 3, "description": "Recurring meeting with no fixed time type." }, { "const": 4, "description": "Personal Meeting ID meeting type." }, { "const": 8, "description": "Recurring meeting with fixed time type." }, { "const": 10, "description": "Screen share only meeting type." } ], "description": "The Zoom meeting type: 1 instant, 2 scheduled, 3 recurring with no fixed time, 4 PMI, 8 recurring with fixed time, or 10 screen share only." }, "nullable": true, "handle": "type", "value": null }, { "description": "A Zoom date-time value. Use UTC format such as 2026-05-18T09:00:00Z, or a local date-time with timezone.", "jsonSchema": { "type": "string", "minLength": 1, "description": "A Zoom date-time value. Use UTC format such as 2026-05-18T09:00:00Z, or a local date-time with timezone." }, "nullable": true, "handle": "startTime", "value": null }, { "description": "The scheduled meeting duration in minutes.", "jsonSchema": { "type": "integer", "minimum": 1, "maximum": 1440, "description": "The scheduled meeting duration in minutes." }, "nullable": true, "handle": "duration", "value": null }, { "description": "The meeting timezone, such as America/Los_Angeles, Asia/Tokyo, or UTC.", "jsonSchema": { "type": "string", "minLength": 1, "description": "The meeting timezone, such as America/Los_Angeles, Asia/Tokyo, or UTC." }, "nullable": true, "handle": "timezone", "value": null }, { "description": "The meeting agenda. Zoom allows up to 2,000 characters.", "jsonSchema": { "type": "string", "maxLength": 2000, "description": "The meeting agenda. Zoom allows up to 2,000 characters." }, "nullable": true, "handle": "agenda", "value": null }, { "description": "The passcode required to join the meeting.", "jsonSchema": { "type": "string", "minLength": 1, "description": "The passcode required to join the meeting." }, "nullable": true, "handle": "password", "value": null }, { "description": "The email address or user ID of the user to schedule for.", "jsonSchema": { "type": "string", "minLength": 1, "description": "The email address or user ID of the user to schedule for." }, "nullable": true, "handle": "scheduleFor", "value": null }, { "description": "Meeting settings supported by the first Zoom provider pass.", "jsonSchema": { "type": "object", "properties": { "hostVideo": { "type": "boolean", "description": "Whether to start the meeting with host video enabled." }, "participantVideo": { "type": "boolean", "description": "Whether to start the meeting with participant video enabled." }, "joinBeforeHost": { "type": "boolean", "description": "Whether participants can join before the host." }, "waitingRoom": { "type": "boolean", "description": "Whether Zoom Waiting Room is enabled." }, "muteUponEntry": { "type": "boolean", "description": "Whether participants are muted when they enter." }, "autoRecording": { "type": "string", "enum": [ "local", "cloud", "none" ], "description": "The automatic recording mode for the meeting." }, "audio": { "type": "string", "enum": [ "both", "telephony", "voip", "thirdParty" ], "description": "How participants join audio." }, "approvalType": { "type": "integer", "description": "The meeting registration approval type documented by Zoom." }, "registrationType": { "type": "integer", "description": "The registration type documented by Zoom." }, "enforceLogin": { "type": "boolean", "description": "Whether participants must authenticate before joining." } }, "additionalProperties": false, "description": "Meeting settings supported by the first Zoom provider pass." }, "nullable": true, "handle": "settings", "value": null }, { "description": "Recurrence settings for Zoom recurring meetings.", "jsonSchema": { "type": "object", "properties": { "type": { "type": "integer", "minimum": 1, "maximum": 3, "description": "The recurrence type: 1 daily, 2 weekly, or 3 monthly." }, "repeatInterval": { "type": "integer", "minimum": 1, "description": "The interval at which the meeting recurs." }, "weeklyDays": { "type": "string", "minLength": 1, "description": "The weekly days string documented by Zoom, such as 1 for Sunday or comma-separated values." }, "monthlyDay": { "type": "integer", "minimum": 1, "maximum": 31, "description": "The day of the month for monthly recurrence." }, "endTimes": { "type": "integer", "minimum": 1, "description": "The number of recurrences before the meeting stops." }, "endDateTime": { "type": "string", "minLength": 1, "description": "A Zoom date-time value. Use UTC format such as 2026-05-18T09:00:00Z, or a local date-time with timezone." } }, "required": [ "type" ], "additionalProperties": false, "description": "Recurrence settings for Zoom recurring meetings." }, "nullable": true, "handle": "recurrence", "value": null } ], "outputs": [ { "description": "A normalized Zoom meeting record.", "jsonSchema": { "type": "object", "properties": { "uuid": { "type": [ "string", "null" ], "description": "The unique meeting UUID returned by Zoom." }, "id": { "anyOf": [ { "anyOf": [ { "type": "integer", "description": "The numeric Zoom meeting ID." }, { "type": "string", "description": "The string Zoom meeting ID." } ], "description": "The Zoom meeting ID. Zoom may return large numeric IDs as numbers or strings." }, { "type": "null" } ], "description": "The Zoom meeting ID. Zoom may return large numeric IDs as numbers or strings." }, "hostId": { "type": [ "string", "null" ], "description": "The Zoom user ID of the host." }, "hostEmail": { "type": [ "string", "null" ], "description": "The host email address." }, "topic": { "type": [ "string", "null" ], "description": "The meeting topic." }, "type": { "type": [ "integer", "null" ], "description": "The Zoom meeting type numeric code." }, "status": { "type": [ "string", "null" ], "description": "The meeting status returned by Zoom." }, "startTime": { "type": [ "string", "null" ], "description": "The meeting start time returned by Zoom." }, "duration": { "type": [ "integer", "null" ], "description": "The scheduled meeting duration in minutes." }, "timezone": { "type": [ "string", "null" ], "description": "The meeting timezone." }, "agenda": { "type": [ "string", "null" ], "description": "The meeting agenda." }, "joinUrl": { "type": [ "string", "null" ], "description": "The participant join URL." }, "startUrl": { "type": [ "string", "null" ], "description": "The host start URL, when Zoom returns it." }, "password": { "type": [ "string", "null" ], "description": "The meeting passcode, when Zoom returns it." }, "createdAt": { "type": [ "string", "null" ], "description": "The timestamp when the meeting was created." }, "raw": { "type": "object", "properties": {}, "additionalProperties": true, "description": "The raw Zoom meeting object returned by the API." } }, "required": [ "uuid", "id", "hostId", "hostEmail", "topic", "type", "status", "startTime", "duration", "timezone", "agenda", "joinUrl", "startUrl", "password", "createdAt", "raw" ], "additionalProperties": false, "description": "A normalized Zoom meeting record." }, "nullable": false, "handle": "meeting" } ], "name": "Create Zoom meeting", "executor": { "kind": "connector", "action": "zoom.create_meeting" } } }, "n_659f962c8f4fb17f": { "name": "Created Zoom meeting", "kind": "outputs", "outputDefs": [ { "jsonSchema": { "type": "object", "properties": { "uuid": { "type": [ "string", "null" ], "description": "The unique meeting UUID returned by Zoom." }, "id": { "anyOf": [ { "anyOf": [ { "type": "integer", "description": "The numeric Zoom meeting ID." }, { "type": "string", "description": "The string Zoom meeting ID." } ], "description": "The Zoom meeting ID. Zoom may return large numeric IDs as numbers or strings." }, { "type": "null" } ], "description": "The Zoom meeting ID. Zoom may return large numeric IDs as numbers or strings." }, "hostId": { "type": [ "string", "null" ], "description": "The Zoom user ID of the host." }, "hostEmail": { "type": [ "string", "null" ], "description": "The host email address." }, "topic": { "type": [ "string", "null" ], "description": "The meeting topic." }, "type": { "type": [ "integer", "null" ], "description": "The Zoom meeting type numeric code." }, "status": { "type": [ "string", "null" ], "description": "The meeting status returned by Zoom." }, "startTime": { "type": [ "string", "null" ], "description": "The meeting start time returned by Zoom." }, "duration": { "type": [ "integer", "null" ], "description": "The scheduled meeting duration in minutes." }, "timezone": { "type": [ "string", "null" ], "description": "The meeting timezone." }, "agenda": { "type": [ "string", "null" ], "description": "The meeting agenda." }, "joinUrl": { "type": [ "string", "null" ], "description": "The participant join URL." }, "startUrl": { "type": [ "string", "null" ], "description": "The host start URL, when Zoom returns it." }, "password": { "type": [ "string", "null" ], "description": "The meeting passcode, when Zoom returns it." }, "createdAt": { "type": [ "string", "null" ], "description": "The timestamp when the meeting was created." }, "raw": { "type": "object", "properties": {}, "additionalProperties": true, "description": "The raw Zoom meeting object returned by the API." } }, "required": [ "uuid", "id", "hostId", "hostEmail", "topic", "type", "status", "startTime", "duration", "timezone", "agenda", "joinUrl", "startUrl", "password", "createdAt", "raw" ], "additionalProperties": false, "description": "A normalized Zoom meeting record." }, "nullable": false, "handle": "meeting" } ], "outputMappings": { "meeting": { "kind": "sources", "sources": [ { "kind": "node", "nodeId": "n_b9faab1f5111b91b", "output": "meeting" } ] } } } }, "edges": [ { "source": "n_7214bec7e79be56a", "target": "n_b9faab1f5111b91b" }, { "source": "n_b9faab1f5111b91b", "target": "n_659f962c8f4fb17f" } ] } }, "modules": {} }, "presentation": { "designer": { "version": 1, "flow": { "direction": "vertical" } } } }