{
    "name": "Integration Webhooks, Google Calendar",
    "flow": [
        {
            "id": 2,
            "module": "gateway:CustomWebHook",
            "version": 1,
            "parameters": {
                "hook": 198703,
                "maxResults": 1
            },
            "mapper": {},
            "metadata": {
                "designer": {
                    "x": 0,
                    "y": 150
                },
                "restore": {
                    "parameters": {
                        "hook": {
                            "data": {
                                "editable": "true"
                            },
                            "label": "My gateway-webhook webhook"
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "hook",
                        "type": "hook:gateway-webhook",
                        "label": "Webhook",
                        "required": true
                    },
                    {
                        "name": "maxResults",
                        "type": "number",
                        "label": "Maximum number of results"
                    }
                ]
            }
        },
        {
            "id": 10,
            "module": "builtin:BasicRouter",
            "version": 1,
            "mapper": null,
            "metadata": {
                "designer": {
                    "x": 300,
                    "y": 150
                }
            },
            "routes": [
                {
                    "flow": [
                        {
                            "id": 3,
                            "module": "google-calendar:searchEvents",
                            "version": 5,
                            "parameters": {
                                "__IMTCONN__": 857017
                            },
                            "filter": {
                                "name": "",
                                "conditions": [
                                    [
                                        {
                                            "a": "{{2.action}}",
                                            "b": "get_date",
                                            "o": "text:equal"
                                        }
                                    ]
                                ]
                            },
                            "mapper": {
                                "limit": "20",
                                "timeMax": "{{addDays(now; 8)}}",
                                "timeMin": "{{now}}",
                                "calendar": "chaparroeugenio8@gmail.com",
                                "eventTypes": [
                                    "default",
                                    "focusTime",
                                    "outOfOffice",
                                    "workingLocation"
                                ],
                                "singleEvents": false
                            },
                            "metadata": {
                                "designer": {
                                    "x": 590,
                                    "y": -6
                                },
                                "restore": {
                                    "expect": {
                                        "orderBy": {
                                            "mode": "chose",
                                            "label": "Empty"
                                        },
                                        "calendar": {
                                            "mode": "chose",
                                            "label": "chaparroeugenio8@gmail.com (Primary Calendar)"
                                        },
                                        "eventTypes": {
                                            "mode": "chose"
                                        }
                                    },
                                    "parameters": {
                                        "__IMTCONN__": {
                                            "data": {
                                                "scoped": "true",
                                                "connection": "google"
                                            },
                                            "label": "My Google connection"
                                        }
                                    }
                                },
                                "parameters": [
                                    {
                                        "name": "__IMTCONN__",
                                        "type": "account:google",
                                        "label": "Connection",
                                        "required": true
                                    }
                                ],
                                "expect": [
                                    {
                                        "name": "calendar",
                                        "type": "select",
                                        "label": "Calendar ID",
                                        "required": true
                                    },
                                    {
                                        "name": "timeMin",
                                        "time": true,
                                        "type": "date",
                                        "label": "Start Date"
                                    },
                                    {
                                        "name": "timeMax",
                                        "time": true,
                                        "type": "date",
                                        "label": "End Date"
                                    },
                                    {
                                        "name": "updatedMin",
                                        "time": true,
                                        "type": "date",
                                        "label": "Updated from"
                                    },
                                    {
                                        "name": "singleEvents",
                                        "type": "boolean",
                                        "label": "Single Events",
                                        "required": true
                                    },
                                    {
                                        "name": "q",
                                        "type": "text",
                                        "label": "Query"
                                    },
                                    {
                                        "name": "eventTypes",
                                        "type": "select",
                                        "label": "Event Types",
                                        "multiple": true,
                                        "validate": {
                                            "enum": [
                                                "default",
                                                "fromGmail",
                                                "focusTime",
                                                "outOfOffice",
                                                "workingLocation"
                                            ]
                                        }
                                    },
                                    {
                                        "name": "orderBy",
                                        "type": "select",
                                        "label": "Order By",
                                        "validate": {
                                            "enum": [
                                                "startTime",
                                                "updated"
                                            ]
                                        }
                                    },
                                    {
                                        "name": "limit",
                                        "type": "uinteger",
                                        "label": "Limit"
                                    }
                                ]
                            }
                        },
                        {
                            "id": 5,
                            "module": "util:TextAggregator",
                            "version": 1,
                            "parameters": {
                                "rowSeparator": "other",
                                "otherRowSeparator": ",",
                                "feeder": 3
                            },
                            "mapper": {
                                "value": "{{addHours(3.start; 0)}}"
                            },
                            "metadata": {
                                "designer": {
                                    "x": 900,
                                    "y": 0
                                },
                                "restore": {
                                    "parameters": {
                                        "rowSeparator": {
                                            "label": "Other"
                                        }
                                    },
                                    "extra": {
                                        "feeder": {
                                            "label": "Google Calendar - Search Events [3]"
                                        }
                                    }
                                },
                                "parameters": [
                                    {
                                        "name": "rowSeparator",
                                        "type": "select",
                                        "label": "Row separator",
                                        "validate": {
                                            "enum": [
                                                "\n",
                                                "\t",
                                                "other"
                                            ]
                                        }
                                    },
                                    {
                                        "name": "otherRowSeparator",
                                        "type": "text",
                                        "label": "Separator"
                                    }
                                ],
                                "expect": [
                                    {
                                        "name": "value",
                                        "type": "text",
                                        "label": "Text"
                                    }
                                ],
                                "advanced": true
                            }
                        },
                        {
                            "id": 4,
                            "module": "gateway:WebhookRespond",
                            "version": 1,
                            "parameters": {},
                            "mapper": {
                                "body": "{{5.text}}",
                                "status": "200",
                                "headers": []
                            },
                            "metadata": {
                                "designer": {
                                    "x": 1200,
                                    "y": 0
                                },
                                "restore": {
                                    "expect": {
                                        "headers": {
                                            "mode": "chose"
                                        }
                                    }
                                },
                                "expect": [
                                    {
                                        "name": "status",
                                        "type": "uinteger",
                                        "label": "Status",
                                        "required": true,
                                        "validate": {
                                            "min": 100
                                        }
                                    },
                                    {
                                        "name": "body",
                                        "type": "any",
                                        "label": "Body"
                                    },
                                    {
                                        "name": "headers",
                                        "spec": [
                                            {
                                                "name": "key",
                                                "type": "text",
                                                "label": "Key",
                                                "required": true,
                                                "validate": {
                                                    "max": 256
                                                }
                                            },
                                            {
                                                "name": "value",
                                                "type": "text",
                                                "label": "Value",
                                                "required": true,
                                                "validate": {
                                                    "max": 4096
                                                }
                                            }
                                        ],
                                        "type": "array",
                                        "label": "Custom headers",
                                        "validate": {
                                            "maxItems": 16
                                        }
                                    }
                                ]
                            }
                        }
                    ]
                },
                {
                    "flow": [
                        {
                            "id": 12,
                            "module": "util:TextAggregator",
                            "version": 1,
                            "parameters": {
                                "rowSeparator": "other",
                                "otherRowSeparator": ",",
                                "feeder": 10
                            },
                            "mapper": {
                                "value": "{{addHours(2.date; -6)}}"
                            },
                            "metadata": {
                                "designer": {
                                    "x": 521,
                                    "y": 355
                                },
                                "restore": {
                                    "parameters": {
                                        "rowSeparator": {
                                            "label": "Other"
                                        }
                                    },
                                    "extra": {
                                        "feeder": {
                                            "label": "Router [10]"
                                        }
                                    }
                                },
                                "parameters": [
                                    {
                                        "name": "rowSeparator",
                                        "type": "select",
                                        "label": "Row separator",
                                        "validate": {
                                            "enum": [
                                                "\n",
                                                "\t",
                                                "other"
                                            ]
                                        }
                                    },
                                    {
                                        "name": "otherRowSeparator",
                                        "type": "text",
                                        "label": "Separator"
                                    }
                                ],
                                "expect": [
                                    {
                                        "name": "value",
                                        "type": "text",
                                        "label": "Text"
                                    }
                                ],
                                "advanced": true
                            }
                        },
                        {
                            "id": 7,
                            "module": "google-calendar:createAnEvent",
                            "version": 5,
                            "parameters": {
                                "__IMTCONN__": 857017
                            },
                            "filter": {
                                "name": "",
                                "conditions": [
                                    [
                                        {
                                            "a": "{{2.action}}",
                                            "b": "new_date",
                                            "o": "text:equal"
                                        }
                                    ]
                                ]
                            },
                            "mapper": {
                                "select": "detail",
                                "calendar": "chaparroeugenio8@gmail.com",
                                "summary": "{{2.email}}",
                                "allDayEvent": false,
                                "start": "{{12.text}}",
                                "duration": "01:00",
                                "attendees": [
                                    {
                                        "displayName": "{{2.email}}",
                                        "email": "{{2.email}}"
                                    }
                                ],
                                "transparency": "opaque",
                                "visibility": "default",
                                "guestPermissions": {
                                    "guestsCanModify": false,
                                    "guestsCanInviteOthers": true,
                                    "guestsCanSeeOtherGuests": true
                                },
                                "conferenceDate": false
                            },
                            "metadata": {
                                "designer": {
                                    "x": 782,
                                    "y": 557
                                },
                                "restore": {
                                    "parameters": {
                                        "__IMTCONN__": {
                                            "label": "My Google connection (chaparroeugenio8@gmail.com)",
                                            "data": {
                                                "scoped": "true",
                                                "connection": "google"
                                            }
                                        }
                                    },
                                    "expect": {
                                        "select": {
                                            "label": "In Detail"
                                        },
                                        "calendar": {
                                            "mode": "chose",
                                            "label": "chaparroeugenio8@gmail.com (Primary Calendar)"
                                        },
                                        "colorId": {
                                            "mode": "chose"
                                        },
                                        "allDayEvent": {
                                            "mode": "chose"
                                        },
                                        "overrides": {
                                            "mode": "chose"
                                        },
                                        "attendees": {
                                            "mode": "chose",
                                            "items": [
                                                null
                                            ]
                                        },
                                        "transparency": {
                                            "mode": "chose",
                                            "label": "Busy"
                                        },
                                        "visibility": {
                                            "mode": "chose",
                                            "label": "Default"
                                        },
                                        "sendUpdates": {
                                            "mode": "chose",
                                            "label": "Empty"
                                        },
                                        "recurrence": {
                                            "mode": "chose"
                                        },
                                        "conferenceDate": {
                                            "mode": "chose"
                                        },
                                        "attachments": {
                                            "mode": "chose"
                                        }
                                    }
                                },
                                "parameters": [
                                    {
                                        "name": "__IMTCONN__",
                                        "type": "account:google",
                                        "label": "Connection",
                                        "required": true
                                    }
                                ],
                                "expect": [
                                    {
                                        "name": "select",
                                        "type": "select",
                                        "label": "Create an Event",
                                        "required": true,
                                        "validate": {
                                            "enum": [
                                                "quick",
                                                "detail"
                                            ]
                                        }
                                    },
                                    {
                                        "name": "calendar",
                                        "type": "select",
                                        "label": "Calendar ID",
                                        "required": true
                                    },
                                    {
                                        "name": "colorId",
                                        "type": "select",
                                        "label": "Color"
                                    },
                                    {
                                        "name": "summary",
                                        "type": "text",
                                        "label": "Event Name",
                                        "required": true
                                    },
                                    {
                                        "name": "allDayEvent",
                                        "type": "boolean",
                                        "label": "All Day Event",
                                        "required": true
                                    },
                                    {
                                        "name": "start",
                                        "type": "date",
                                        "label": "Start Date",
                                        "required": true,
                                        "time": true
                                    },
                                    {
                                        "name": "end",
                                        "type": "date",
                                        "label": "End Date",
                                        "time": true
                                    },
                                    {
                                        "name": "duration",
                                        "type": "time",
                                        "label": "Duration"
                                    },
                                    {
                                        "name": "description",
                                        "type": "text",
                                        "label": "Description"
                                    },
                                    {
                                        "name": "location",
                                        "type": "text",
                                        "label": "Location"
                                    },
                                    {
                                        "name": "useDefault",
                                        "type": "boolean",
                                        "label": "Use the default reminder settings for this event"
                                    },
                                    {
                                        "name": "overrides",
                                        "type": "array",
                                        "label": "Reminders",
                                        "validate": {
                                            "maxItems": 5
                                        },
                                        "spec": [
                                            {
                                                "name": "method",
                                                "type": "select",
                                                "label": "Method",
                                                "options": [
                                                    {
                                                        "label": "Email",
                                                        "value": "email"
                                                    },
                                                    {
                                                        "label": "Pop-up",
                                                        "value": "popup"
                                                    }
                                                ],
                                                "required": true
                                            },
                                            {
                                                "name": "minutes",
                                                "type": "uinteger",
                                                "label": "Minutes",
                                                "required": true,
                                                "validate": {
                                                    "max": 40320
                                                }
                                            }
                                        ]
                                    },
                                    {
                                        "name": "attendees",
                                        "type": "array",
                                        "label": "Attendees",
                                        "spec": [
                                            {
                                                "name": "displayName",
                                                "type": "text",
                                                "label": "Name"
                                            },
                                            {
                                                "name": "email",
                                                "type": "email",
                                                "label": "Email",
                                                "required": true
                                            }
                                        ]
                                    },
                                    {
                                        "name": "transparency",
                                        "type": "select",
                                        "label": "Show me as",
                                        "required": true,
                                        "validate": {
                                            "enum": [
                                                "opaque",
                                                "transparent"
                                            ]
                                        }
                                    },
                                    {
                                        "name": "visibility",
                                        "type": "select",
                                        "label": "Visibility",
                                        "required": true,
                                        "validate": {
                                            "enum": [
                                                "default",
                                                "public",
                                                "private"
                                            ]
                                        }
                                    },
                                    {
                                        "name": "sendUpdates",
                                        "type": "select",
                                        "label": "Send notifications about the event creation",
                                        "validate": {
                                            "enum": [
                                                "all",
                                                "externalOnly",
                                                "none"
                                            ]
                                        }
                                    },
                                    {
                                        "name": "guestPermissions",
                                        "type": "collection",
                                        "label": "Guest Permissions",
                                        "spec": [
                                            {
                                                "name": "guestsCanModify",
                                                "type": "boolean",
                                                "label": "Modify event",
                                                "required": true
                                            },
                                            {
                                                "name": "guestsCanInviteOthers",
                                                "type": "boolean",
                                                "label": "Invite others",
                                                "required": true
                                            },
                                            {
                                                "name": "guestsCanSeeOtherGuests",
                                                "type": "boolean",
                                                "label": "See guest list",
                                                "required": true
                                            }
                                        ]
                                    },
                                    {
                                        "name": "recurrence",
                                        "type": "array",
                                        "label": "Recurrence",
                                        "spec": {
                                            "type": "text",
                                            "label": "Value",
                                            "name": "value"
                                        }
                                    },
                                    {
                                        "name": "conferenceDate",
                                        "type": "boolean",
                                        "label": "Add Google Meet Video Conferencing",
                                        "required": true
                                    },
                                    {
                                        "name": "attachments",
                                        "type": "array",
                                        "label": "Attachments",
                                        "spec": [
                                            {
                                                "name": "fileUrl",
                                                "type": "url",
                                                "label": "File URL",
                                                "required": true
                                            }
                                        ]
                                    }
                                ],
                                "advanced": true
                            }
                        }
                    ]
                }
            ]
        }
    ],
    "metadata": {
        "instant": true,
        "version": 1,
        "scenario": {
            "roundtrips": 1,
            "maxErrors": 3,
            "autoCommit": true,
            "autoCommitTriggerLast": true,
            "sequential": false,
            "slots": null,
            "confidential": false,
            "dataloss": false,
            "dlq": false,
            "freshVariables": false
        },
        "designer": {
            "orphans": []
        },
        "zone": "us2.make.com"
    }
}
