Google Calendar¶
The Google Calendar modules enable you to monitor, create, retrieve, update, or delete events and calendars in your Google Calendar.
Getting Started with Google Calendar¶
Prerequisites
- A Google account
In order to use Google Calendar with Ibexa Connect, it is necessary to have a Google account. If you do not have one, you can create a Google account at accounts.google.com.
Note
The module dialog fields that are displayed in bold (in the Ibexa Connect scenario, not in this documentation article) are mandatory!
Connecting Google Calendar to Ibexa Connect¶
To connect your Google Calendar account to Ibexa Connect follow the general instructions for Connecting to services.
After you click the Continue button, Ibexa Connect will redirect you to the Google Calendar website where you will be prompted to grant Ibexa Connect access to your account.
Confirm the dialog by clicking the Allow button.
Calendar¶
List Calendars¶
Retrieve calendars of the authenticated user.
Minimum access role |
Select the minimum access role for the user in the returned entries.
|
Show hidden calendars |
Enable this option to return also hidden entries. |
Limit |
Set the maximum number of calendars Ibexa Connect will return during one execution cycle. |
Get a Calendar¶
Returns details of the specified calendar.
Calendar ID | Select or map the ID of the calendar you want to retrieve details about. |
Create a Calendar¶
Creates a new calendar in your Google account.
Calendar name | Enter a name for the new calendar. |
Update a Calendar¶
Updates a calendar title of the specified calendar.
Calendar ID | Select or map the ID of the calendar you want to rename. |
Calendar name | Enter a new title for the calendar. |
Delete a Calendar¶
Deletes an existing calendar.
Calendar ID | Select or map the ID of the calendar you want to rename. |
Clear a Calendar¶
Clears a primary calendar. This operation deletes all events associated with the primary calendar of an account.
Event¶
Watch Events¶
Retrieves details of an event when the event is created, updated, deleted, started, or ended in the selected calendar.
Calendar | Select the calendar you want to watch for events. |
Watch events | Select the change in date that triggers the module. |
Show deleted events | Enable this option to include deleted events (with status equals "canceled ") in the result. |
Query | Filter the result by events that match the search term in any field, except for extended properties. |
Limit | Set the maximum number of events Ibexa Connect will return during one execution cycle. |
Search Events¶
Searches for events in the selected calendar.
Calendar ID |
Select the calendar you want to watch for events. |
Start date |
Enter the start date of the date range you want to filter results by. The list of supported date and time formats. |
End date |
Enter the end date of the date range you want to filter results by. The list of supported date and time formats. |
Single events |
Enable this option to expand recurring events into instances and only return single one-off events and instances of recurring events, but not the underlying recurring events themselves. |
Query |
Enter the search term to find events that match these terms in any field, except for extended properties. |
Order by |
Select the order of the events returned in the result.
|
Limit |
Set the maximum number of events Ibexa Connect will return during one execution cycle. |
Get an Event¶
Retrieves event details.
Calendar ID | Select or map the ID of the calendar that contains the event you want to retrieve details about. |
Event ID | Select or map the ID of the event you want to retrieve details about. |
Create an Event¶
Creates a new event.
Create an event |
Select whether you want to quickly add the event or specify more details of the event. |
||||
Calendar ID |
Select or map the ID of the calendar you want to create an event for. |
||||
Color |
Select the hex code of the color you want to use for the event. The color in the brackets is the background color. |
||||
Event name |
Enter text describing the event to be created. E.g. For the Quick add (selected in the Create an Event field). If no date/time is provided in this field, the quick adding event is created starting from the current time for an hour. |
||||
All day event |
Enable this option if the event is an all day event. |
||||
Start date |
Enter the date, in the format "yyyy-mm-dd", if this is an all-day event. The list of supported date and time formats. |
||||
End date |
Enter the date, in the format "yyyy-mm-dd", if this is an all-day event. The list of supported date and time formats. |
||||
Description |
Enter a description of the event. Supports HTML. |
||||
Location |
Specify the geographic location of the event as free-form text. |
||||
Use the default reminder settings for this event |
Enable this option to apply default calendar reminders to this event. |
||||
Reminders |
Set the event reminders.
|
||||
Attendees |
Add attendees of the event.
|
||||
Show me as |
Select your status. |
||||
Visibility |
Set the visibility of the event.
|
||||
Send notifications about the event creation |
Select whether to send notifications about the creation of a new event. Note that some emails might still be sent. |
||||
The None option should only be used for migration use cases. |
Guests can modify the event
Enable this option to allow attendees other than the organizer to modify the event.
Recurrence
Specify the recurrence.
A list of RRULE, EXRULE, RDATE, and EXDATE lines for a recurring event, as specified in RFC5545. Note that DTSTART and DTEND lines are not allowed in this field; event start and end times are specified in the start
and end
fields. This field is omitted for single events or instances of recurring events.
Update an Event¶
Updates an existing event.
Calendar ID | Select or map the ID of the calendar that contains the event you want to update. |
Event ID | Select or map the ID of the event you want to update. |
Please find the descriptions of the fields in the Create an Event section above.
Delete an Event¶
Deletes a specified event.
Calendar ID | Select or map the ID of the calendar that contains the event you want to delete. |
Event ID | Select or map the ID of the event you want to delete. |
Send notifications about the event deletion | Guests who should receive notifications about the deletion of the event. |
Access Control Rule¶
List Access Control Rules¶
Returns the rules in the access control list for the calendar.
Calendar ID | Select or map the ID of the calendar you want to retrieve ACLs for. |
Limit | Set the maximum number of ACLs Ibexa Connect will return during one execution cycle. |
Get an Access Control Rule¶
Retrieves an access control rule details.
Calendar ID | Select or map the ID of the calendar that contains the access control rule you want to retrieve. |
Access control rule ID | Select or map the ID of the access control rule you want to retrieve. |
Create an Access Control Rule¶
Creates an access control rule.
Calendar ID |
Select or map the ID of the calendar you want to create an access control rule at. |
Role |
Select the role assigned to the scope.
|
Type |
Select the type of scope.
The permissions granted to the |
Value |
Enter the email address of a user or a group, or the name of a domain, depending on the scope type. |
Update an Access Control Rule¶
Updates an existing access control rule.
Calendar ID |
Select or map the ID of the calendar that contains the access control rule you want to update. |
Access control rule ID |
Select or map the ID of the access control rule you want to update. |
Role |
Select the role assigned to the scope.
|
Send notifications |
Enable this option to send notifications about the calendar sharing change. Note that there are no notifications on access removal. |
Delete an Access Control Rule¶
Deletes an existing access control rule.
Calendar ID | Select or map the ID of the calendar that contains the access control rule you want to delete. |
Access control rule ID | Select or map the ID of the access control rule you want to delete. |
Other¶
Make an API Call¶
Allows you to perform a custom API call.
URL |
Enter a path relative to For example For the list of available endpoints, refer to the Google Calendar API Documentation. |
Method |
Select the HTTP method you want to use:
|
Headers |
Enter the desired request headers. You don't have to add authorization headers; we already did that for you. |
Query string |
Enter the request query string. |
Body |
Enter the body content for your API call. |
Example of Use - List Calendars¶
The following API call returns calendars on your calendar list in your Google account:
URL:
/v3/users/me/calendarList
Method:
GET
The result can be found in the module's Output under Bundle > Body > items. In our example, 3 calendars were returned:
Get Free/Busy Information¶
Retrieves free/busy information for a set of calendars.
Minimum time | Enter the start of the interval for the query. The list of supported date and time formats. |
Maximum time | Enter the end of the interval for the query. The list of supported date and time formats. |
Calendars | Specify the list of calendars and/or groups you want to query. |
Common Problems¶
Trigger a specified amount of time before an event¶
It is possible to trigger a scenario a specified amount of time before an event with the help of standard Google Calendar email reminders and the Webhooks > Custom mailhook module.
-
Use the Google Calendar > Update an event module to add an email reminder to your event:
-
Create a new scenario starting with the Webhooks > Custom mailhook module. Copy the mailhook's email address. Save the scenario and execute it.
-
In Gmail, redirect the Google Calendar email reminders to the mailhook's email address:
-
Open your Gmail settings.
-
Open the Forwarding and POP/IMAP tab.
-
Click Add a forwarding address:
-
Paste the copied mailhook's email address, press "Next", confirm by pressing "Proceed" in the popup window and close the dialog by pressing "OK".
-
In Ibexa Connect, switch to the new scenario which should finish its execution by receiving the confirmation email.
-
Click the bubble above the module to inspect the module's output.
-
Expand the
Text
item and search for the Confirmation code: -
Copy the Confirmation code.
-
In Gmail, paste the Confirmation code in the edit box and click Verify:
-
Open the Filters and Blocked Addresses tab.
-
Click Create a new filter:
-
Set up a filter for all emails coming from
[email protected]
and click Create filter: -
Tick the "Forward it to:" checkbox and choose the mailhook's email address from the list:
-
Click Create filter
-
-
In Ibexa Connect, you may add Text parser > Match pattern module after the Webhooks > Custom mailhook module to parse the email's HTML code to obtain any information you need. You may, for example, configure a module like this to obtain the event's ID:
Pattern:
<meta itemprop="eventId/googleCalendar" content="(?<evenitID>.*?)"/>
Text: The
HTML content
item outputted from the Webhooks > Custom mailhook module:
Where are the Iterate attachments and Iterate attendees modules?¶
Both modules are deprecated. To iterate desired values, please use the Flow Control > Iterator module.
Change Log¶
last update: 2020-07-10
New Modules:
Calendar:
-
List Calendars
-
Get a Calendar
-
Update a Calendar
-
Delete a Calendar
-
Clear a Calendar
-
Get Free/Busy Information
Access Control Rule:
-
List Access Control Rules
-
Get an Access Control Rule
-
Create an Access Control Rule
-
Update an Access Control Rule
-
Delete an Access Control Rule
-
Get Free/Busy Information
Events:
- Search Events
Updated Modules:
Events:
-
Create an Event
-
Option to add an Event Quickly
-
Option to add an Event in Detail
-
Deprecated Modules:
Events:
- Watch Events (instant)
Iterators:
-
Iterate Attendees
-
Iterate Attachments