{ "kind": "open-flow-workflow", "version": 1, "name": "Calendar Event Creator", "content": { "modelVersion": 14, "document": { "bindings": {}, "graph": { "nodes": { "n_fff544c3af0036d5": { "name": "Create an event", "kind": "start", "inputDefs": [] }, "n_ed14e3ad2599bf57": { "inputs": { "calendarId": { "kind": "value", "value": "YOUR_CALENDAR_ID" }, "event": { "kind": "value", "value": { "summary": "New event", "start": { "dateTime": "2030-01-01T09:00:00Z", "timeZone": "UTC" }, "end": { "dateTime": "2030-01-01T10:00:00Z", "timeZone": "UTC" }, "reminders": { "useDefault": true } } } }, "name": "Create calendar event", "kind": "task", "task": { "inputs": [ { "description": "Google Calendar ID. Omit to use the primary calendar when supported.", "jsonSchema": { "type": "string", "minLength": 1, "description": "Google Calendar ID. Omit to use the primary calendar when supported." }, "nullable": true, "handle": "calendarId", "value": null }, { "description": "Event payload to create.", "jsonSchema": { "type": "object", "additionalProperties": false, "description": "Event payload to create.", "properties": { "summary": { "type": "string", "description": "Event title." }, "description": { "type": "string", "description": "Event description." }, "location": { "type": "string", "description": "Event location." }, "start": { "type": "object", "properties": { "date": { "type": "string", "minLength": 1, "description": "All-day event date in YYYY-MM-DD format." }, "dateTime": { "type": "string", "format": "date-time", "description": "Event timestamp in RFC 3339 format." }, "timeZone": { "type": "string", "minLength": 1, "description": "IANA time zone used to interpret the event time." } }, "additionalProperties": false, "description": "Event start time." }, "end": { "type": "object", "properties": { "date": { "type": "string", "minLength": 1, "description": "All-day event date in YYYY-MM-DD format." }, "dateTime": { "type": "string", "format": "date-time", "description": "Event timestamp in RFC 3339 format." }, "timeZone": { "type": "string", "minLength": 1, "description": "IANA time zone used to interpret the event time." } }, "additionalProperties": false, "description": "Event end time." }, "attendees": { "type": "array", "items": { "type": "object", "properties": { "email": { "type": "string", "minLength": 1, "description": "Attendee email address." }, "displayName": { "type": "string", "description": "Attendee display name." }, "optional": { "type": "boolean", "description": "Whether attendance is optional." }, "resource": { "type": "boolean", "description": "Whether the attendee represents a resource." }, "responseStatus": { "type": "string", "description": "Attendee response status, such as accepted or declined." }, "comment": { "type": "string", "description": "Additional attendee comment." }, "additionalGuests": { "type": "integer", "description": "Number of additional guests invited by this attendee." } }, "required": [ "email" ], "additionalProperties": false, "description": "Schema for attendeeSchema." }, "description": "Event attendees." }, "recurrence": { "type": "array", "items": { "type": "string", "minLength": 1, "description": "Schema for nonEmptyString." }, "description": "Event recurrence rules." }, "conferenceData": { "type": "object", "properties": { "conferenceId": { "type": "string", "description": "Conference identifier for the event." }, "notes": { "type": "string", "description": "Additional conference notes." }, "entryPoints": { "type": "array", "items": { "description": "An array item." }, "description": "Conference entry points returned by Google Calendar." }, "conferenceSolution": { "description": "Conference solution metadata." }, "createRequest": { "type": "object", "properties": { "requestId": { "type": "string", "minLength": 1, "description": "Client-generated request ID used to create conference details." }, "conferenceSolutionKey": { "description": "Conference solution payload accepted by Google Calendar." } }, "required": [ "requestId" ], "additionalProperties": true, "description": "Conference creation request details." } }, "additionalProperties": true, "description": "Conference data for the event." }, "reminders": { "type": "object", "properties": { "useDefault": { "type": "boolean", "description": "Whether to use the calendar's default reminders." }, "overrides": { "type": "array", "items": { "type": "object", "properties": { "method": { "type": "string", "minLength": 1, "description": "Reminder delivery method, such as email or popup." }, "minutes": { "type": "integer", "description": "Minutes before the event when the reminder triggers." } }, "required": [ "method", "minutes" ], "additionalProperties": false, "description": "Schema for reminderOverrideSchema." }, "description": "Reminder overrides for the event." } }, "additionalProperties": false, "description": "Reminder settings for the event." }, "colorId": { "type": "string", "description": "Google Calendar color ID for the event." }, "visibility": { "type": "string", "description": "Event visibility, such as default or private." }, "transparency": { "type": "string", "description": "Whether the event blocks time on the calendar." }, "status": { "type": "string", "description": "Event status, such as confirmed or cancelled." }, "extendedProperties": { "type": "object", "properties": { "private": { "type": "object", "additionalProperties": { "type": "string", "description": "A record value." }, "description": "Private extended properties keyed by name." }, "shared": { "type": "object", "additionalProperties": { "type": "string", "description": "A record value." }, "description": "Shared extended properties keyed by name." } }, "additionalProperties": false, "description": "Extended event properties." }, "attachments": { "type": "array", "items": { "type": "object", "properties": { "fileUrl": { "type": "string", "format": "uri", "description": "Attachment URL." }, "title": { "type": "string", "description": "Attachment title." }, "mimeType": { "type": "string", "description": "Attachment MIME type." }, "iconLink": { "type": "string", "description": "Icon URL for the attachment." } }, "required": [ "fileUrl" ], "additionalProperties": false, "description": "Schema for attachmentSchema." }, "description": "Attachments on the event." }, "source": { "type": "object", "properties": { "url": { "type": "string", "format": "uri", "description": "Source URL associated with the event." }, "title": { "type": "string", "description": "Human-readable title for the source." } }, "required": [ "url" ], "additionalProperties": true, "description": "Source metadata for the event." } }, "required": [ "start", "end" ] }, "nullable": false, "handle": "event" }, { "description": "Which guests receive notifications about this change.", "jsonSchema": { "type": "string", "enum": [ "all", "externalOnly", "none" ], "description": "Which guests receive notifications about this change." }, "nullable": true, "handle": "sendUpdates", "value": null } ], "outputs": [ { "description": "Event ID.", "jsonSchema": { "type": "string", "minLength": 1, "description": "Event ID." }, "nullable": false, "handle": "id" }, { "description": "Event status.", "jsonSchema": { "type": "string", "minLength": 1, "description": "Event status." }, "nullable": false, "handle": "status" }, { "description": "Event title.", "jsonSchema": { "type": "string", "description": "Event title." }, "nullable": true, "handle": "summary" }, { "description": "Event description.", "jsonSchema": { "type": "string", "description": "Event description." }, "nullable": true, "handle": "description" }, { "description": "Event location.", "jsonSchema": { "type": "string", "description": "Event location." }, "nullable": true, "handle": "location" }, { "description": "Google Calendar web URL for the event.", "jsonSchema": { "type": "string", "description": "Google Calendar web URL for the event." }, "nullable": true, "handle": "htmlLink" }, { "description": "Timestamp when the event was created.", "jsonSchema": { "type": "string", "description": "Timestamp when the event was created." }, "nullable": true, "handle": "created" }, { "description": "Timestamp when the event was last updated.", "jsonSchema": { "type": "string", "description": "Timestamp when the event was last updated." }, "nullable": true, "handle": "updated" }, { "description": "Event start time.", "jsonSchema": { "type": "object", "properties": { "date": { "type": "string", "minLength": 1, "description": "All-day event date in YYYY-MM-DD format." }, "dateTime": { "type": "string", "format": "date-time", "description": "Event timestamp in RFC 3339 format." }, "timeZone": { "type": "string", "minLength": 1, "description": "IANA time zone used to interpret the event time." } }, "additionalProperties": false, "description": "Event start time." }, "nullable": true, "handle": "start" }, { "description": "Event end time.", "jsonSchema": { "type": "object", "properties": { "date": { "type": "string", "minLength": 1, "description": "All-day event date in YYYY-MM-DD format." }, "dateTime": { "type": "string", "format": "date-time", "description": "Event timestamp in RFC 3339 format." }, "timeZone": { "type": "string", "minLength": 1, "description": "IANA time zone used to interpret the event time." } }, "additionalProperties": false, "description": "Event end time." }, "nullable": true, "handle": "end" }, { "description": "Event organizer.", "jsonSchema": { "type": "object", "properties": { "email": { "type": "string", "description": "Organizer or creator email address." }, "displayName": { "type": "string", "description": "Organizer or creator display name." }, "self": { "type": "boolean", "description": "Whether this person is the authenticated user." } }, "additionalProperties": true, "description": "Event organizer." }, "nullable": true, "handle": "organizer" }, { "description": "Event creator.", "jsonSchema": { "type": "object", "properties": { "email": { "type": "string", "description": "Organizer or creator email address." }, "displayName": { "type": "string", "description": "Organizer or creator display name." }, "self": { "type": "boolean", "description": "Whether this person is the authenticated user." } }, "additionalProperties": true, "description": "Event creator." }, "nullable": true, "handle": "creator" }, { "description": "Attendees returned for the event.", "jsonSchema": { "type": "array", "items": { "type": "object", "properties": { "email": { "type": "string", "minLength": 1, "description": "Attendee email address." }, "displayName": { "type": "string", "description": "Attendee display name." }, "optional": { "type": "boolean", "description": "Whether attendance is optional." }, "resource": { "type": "boolean", "description": "Whether the attendee represents a resource." }, "responseStatus": { "type": "string", "description": "Attendee response status, such as accepted or declined." }, "comment": { "type": "string", "description": "Additional attendee comment." }, "additionalGuests": { "type": "integer", "description": "Number of additional guests invited by this attendee." } }, "required": [ "email" ], "additionalProperties": false, "description": "Schema for attendeeSchema." }, "description": "Attendees returned for the event." }, "nullable": true, "handle": "attendees" }, { "description": "Recurrence rules for the event.", "jsonSchema": { "type": "array", "items": { "type": "string", "minLength": 1, "description": "Schema for nonEmptyString." }, "description": "Recurrence rules for the event." }, "nullable": true, "handle": "recurrence" }, { "description": "Recurring master event ID when this item is an instance.", "jsonSchema": { "type": "string", "description": "Recurring master event ID when this item is an instance." }, "nullable": true, "handle": "recurringEventId" }, { "description": "Original start time for a recurring event instance.", "jsonSchema": { "type": "object", "properties": { "date": { "type": "string", "minLength": 1, "description": "All-day event date in YYYY-MM-DD format." }, "dateTime": { "type": "string", "format": "date-time", "description": "Event timestamp in RFC 3339 format." }, "timeZone": { "type": "string", "minLength": 1, "description": "IANA time zone used to interpret the event time." } }, "additionalProperties": false, "description": "Original start time for a recurring event instance." }, "nullable": true, "handle": "originalStartTime" }, { "description": "Event type returned by Google Calendar.", "jsonSchema": { "type": "string", "description": "Event type returned by Google Calendar." }, "nullable": true, "handle": "eventType" }, { "description": "Conference data for the event.", "jsonSchema": { "type": "object", "properties": { "conferenceId": { "type": "string", "description": "Conference identifier for the event." }, "notes": { "type": "string", "description": "Additional conference notes." }, "entryPoints": { "type": "array", "items": { "description": "An array item." }, "description": "Conference entry points returned by Google Calendar." }, "conferenceSolution": { "description": "Conference solution metadata." }, "createRequest": { "type": "object", "properties": { "requestId": { "type": "string", "minLength": 1, "description": "Client-generated request ID used to create conference details." }, "conferenceSolutionKey": { "description": "Conference solution payload accepted by Google Calendar." } }, "required": [ "requestId" ], "additionalProperties": true, "description": "Conference creation request details." } }, "additionalProperties": true, "description": "Conference data for the event." }, "nullable": true, "handle": "conferenceData" }, { "description": "Extended event properties.", "jsonSchema": { "type": "object", "properties": { "private": { "type": "object", "additionalProperties": { "type": "string", "description": "A record value." }, "description": "Private extended properties keyed by name." }, "shared": { "type": "object", "additionalProperties": { "type": "string", "description": "A record value." }, "description": "Shared extended properties keyed by name." } }, "additionalProperties": false, "description": "Extended event properties." }, "nullable": true, "handle": "extendedProperties" }, { "description": "Attachments on the event.", "jsonSchema": { "type": "array", "items": { "type": "object", "properties": { "fileUrl": { "type": "string", "format": "uri", "description": "Attachment URL." }, "title": { "type": "string", "description": "Attachment title." }, "mimeType": { "type": "string", "description": "Attachment MIME type." }, "iconLink": { "type": "string", "description": "Icon URL for the attachment." } }, "required": [ "fileUrl" ], "additionalProperties": false, "description": "Schema for attachmentSchema." }, "description": "Attachments on the event." }, "nullable": true, "handle": "attachments" }, { "description": "Reminder settings for the event.", "jsonSchema": { "type": "object", "properties": { "useDefault": { "type": "boolean", "description": "Whether to use the calendar's default reminders." }, "overrides": { "type": "array", "items": { "type": "object", "properties": { "method": { "type": "string", "minLength": 1, "description": "Reminder delivery method, such as email or popup." }, "minutes": { "type": "integer", "description": "Minutes before the event when the reminder triggers." } }, "required": [ "method", "minutes" ], "additionalProperties": false, "description": "Schema for reminderOverrideSchema." }, "description": "Reminder overrides for the event." } }, "additionalProperties": false, "description": "Reminder settings for the event." }, "nullable": true, "handle": "reminders" }, { "description": "Source metadata for the event.", "jsonSchema": { "type": "object", "properties": { "url": { "type": "string", "format": "uri", "description": "Source URL associated with the event." }, "title": { "type": "string", "description": "Human-readable title for the source." } }, "required": [ "url" ], "additionalProperties": true, "description": "Source metadata for the event." }, "nullable": true, "handle": "source" } ], "name": "Create calendar event", "executor": { "kind": "connector", "action": "googlecalendar.create_event" } } }, "n_79f16c5f35bbaff1": { "name": "Created event", "kind": "outputs", "outputDefs": [ { "jsonSchema": { "type": "string", "minLength": 1, "description": "Event ID." }, "nullable": false, "handle": "id" }, { "jsonSchema": { "type": "string", "description": "Google Calendar web URL for the event." }, "nullable": true, "handle": "htmlLink" } ], "outputMappings": { "id": { "kind": "sources", "sources": [ { "kind": "node", "nodeId": "n_ed14e3ad2599bf57", "output": "id" } ] }, "htmlLink": { "kind": "sources", "sources": [ { "kind": "node", "nodeId": "n_ed14e3ad2599bf57", "output": "htmlLink" } ] } } } }, "edges": [ { "source": "n_fff544c3af0036d5", "target": "n_ed14e3ad2599bf57" }, { "source": "n_ed14e3ad2599bf57", "target": "n_79f16c5f35bbaff1" } ] } }, "modules": {} }, "presentation": { "designer": { "version": 1, "flow": { "direction": "vertical" } } } }