Skip to content

Get Event Details (Google Calendar) v1.0.0 Help

Adds the details of the defined event from the selected Google calendar to its output.

How can I use this Step?

Use this Step to add the details of the defined event from the selected Google calendar to its output to be used further in the Flow. First, you select an authorization connected to a Google account with permission to access the calendar. Then you define the IDs of the calendar and the event. When this Step is reached during execution, the details of the defined event are added to the output, and the Flow proceeds down the next exit. An option to select the Flow behavior in case the event is not found is available.

Prerequisites

In order to use any Step from the Google Calendar toolkit, you must do the following:

  1. Create a new or use an existing Google Cloud Project in your Google Cloud Console. To create a new project, follow these instructions.
  2. Create an authorization by connecting your OneReach.ai account with the Google Cloud Project. Step-by-step instructions on how to do this can be found in the collapsible group of the respective authorization type modal window.
  3. Get permission for the authorized email accounts to make changes and manage sharing in the defined calendar.

Authorization

To set up an authorization, do the following:

  1. Select the authorization type in the dropdown.
  2. Select one of the two options:
  • Click the select authorization in current step option to select an authorization from the respective dropdown in this Step. Use this option when you need to:
  • Select the inherit from previous step option to choose the authorization that was used in the last executed Step of the Google Drive/Calendar toolkits in the Flow. Use this option when you have already created an authorization of the selected authorization type and used it previously in the Flow.

Authorization type

The Google Drive and Google Calendar toolkits support two authorization types:

The OAuth 2.0 authorization is used to authenticate as an end user and access user data in your app. It requires your app to request and receive consent from the user.

The service account authorization is used to authenticate as a robot service account or to access resources on behalf of Google Workspace or Cloud Identity users through domain-wide delegation. A service account is a special kind of account used by an application, rather than a person. Read more here.

Create a new authorization

To create a new authorization, do the following:

  1. Select the authorization type in the respective dropdown.
  2. Click the select authorization in current step button.
  3. Click the Gear button, then Add, or select to Create new authorization in the dropdown.
  4. A modal window for creating a new authorization will pop up. Follow the instructions in the modal's collapsible. When finished, the created authorization name will be added to the list in the dropdown.
  5. Select respective authorization name in the select authorization in current step dropdown.

Select authorization in current step

The select authorization in current step dropdown lists every authorization added to your OneReach.ai account.

  • To choose an authorization, select its name in the dropdown.

The gear button contains options to add a new or delete an existing authorization, as well as to refresh the list of added authorizations.

Click edit to update the fields of a service account authorization. An OAuth 2.0 authorization can be reauthorized.

Warning! If the user created an external app in their OAuth Consent Screen, the created authorization needs to be reauthorized in any Flow once approximately every 7 days.

Inherit from previous step

When a Step from the Google Drive/Calendar toolkit is added to the Flow, the user is expected to manually choose the authorization type and then an authorization from the respective dropdowns. If another Step from these toolkits is added to the Flow and their selected authorization types match, the option to inherit from previous step is chosen by default. When selected, it continues to use the same authorization as was defined in the previous Step of the Google Drive/Calendar toolkit without the need to select it manually.

Warning! If the inherit from previous step option is selected, but there is no Step with the matching authorization type in the Flow, the Step results in an error.

Calendar and event

This section is designated to defining the Google calendar and the event whose details would be added to the output of the Step. To set up this section, do the following:

  1. Define the calendar:
  2. Define the event ID belonging to the calendar.

Warning! If the authorized user in the authorization section doesn't own the defined calendar, the calendar owner should provide the following permissions depending on the authorization type:

TypeEmailPermission
OAuth 2.0Authorized emailMake changes and manage sharing
Service accountClient emailMake changes and manage sharing
Service accountImpersonate emailMake changes to events

This can be done in the share with specific people or groups section of the defined calendar's setting and sharing. See how to share a calendar here.

Calendar ID

The calendar ID is a unique identifier of a Google Calendar. To find it in the Google Calendar UI, do the following:

  1. Open your Google calendar, then click Main menu.
  2. Hover over the calendar name of the requested calendar, then click the ellipsis > settings and sharing.
  3. Open the integrate calendar section and copy the calendar ID.

Alternatively, the calendar ID can be provided via the calendarId merge field value of another Step from the Google Calendar toolkit.

Inherit calendar from previous step

When a Step from the Google Calendar toolkit is added to the Flow, the user is expected to provide the calendar ID manually. If another Step from the same toolkit is added to the Flow, the option to inherit calendar from previous step is selected by default. When selected, it continues to use the same calendar ID as was defined in the previous Step of the same toolkit without the need to select it manually.

Event ID

The event ID is a unique identifier of an event in a Google Calendar. It can be provided via the respective eventId merge field value of another Step from the toolkit.

Conflict handling

By default, in case event is not found, the Flow will proceed down the not found exit. Select the next or error option in the dropdown to take the Flow down the respective exit.

Note: the not found exit is removed from the Flow tree if a different exit is selected.

Merge field settings

The output data of the Step will be stored under the name provided in the merge field name. It includes the defined calendar in calendarId and all the data about the specified event in event. See the list of possible properties:

KeyTypeDescription
calendarIdstringThe calendar ID of the calendar to which the specified event belongs.
eventobjectContains all the properties about the specified event returned by Google Calendar API.
idstringThe event ID of the specified event.
statusstringThe status of the specified event.
htmlLinkstringThe URL that opens the provided calendar on the start date of the specified event.
createdstringThe date and time of creation of the specified event in ISO 8601 format.
updatedstringThe date and time of last modification of the event in ISO 8601 format.
summarystringThe title of the specified event, if defined.
descriptionstringThe description of the specified event, if defined.
locationstringThe location of the specified event, if defined.
attendeesarrayAn array of objects, each containing the email and responseStatus properties of each guest, if defined.
emailstringThe defined email of the respective guest.
responseStatusstringThe status of the respective guest.
startobjectContains the defined start date, or start date/time and timezone of the specified event.
endobjectContains the defined end date, or end date/time and timezone of the specified event.
datestringThe start date and end date of an all day event in yyyy-mm-dd format.
dateTimestringThe start/end date and time of a specific time event in ISO 8601 format.
timeZonestringThe selected timezone of the specific time event in time offset format.
visibilitystringThe visibility of the specified event.

See below an example of the merge field object's structure:

json
{
  "calendarId": "c_oos5h8kvedslp0k8m2gaie553k@group.calendar.google.com",
  "event": {
    "kind": "calendar#event",
    "etag": "...",
    "id": "...",
    "status": "confirmed",
    "htmlLink": "https://www.google.com/calendar/event?eid=...",
    "created": "YYYY-MM-DDThh:mm:ss.000Z",
    "updated": "YYYY-MM-DDThh:mm:ss.209Z",
    "summary": "...",
    "description": "...",
    "creator": {
      "email": "...@example.com"
    },
    "organizer": {
      "email": "c_oos5h8kvedslp0k8m2gaie553k@group.calendar.google.com",
      "displayName": "My calendar",
      "self": true
    },
    "start": {
      "dateTime": "2022-10-05T14:00:00+03:00",
      "timeZone": "GMT+03:00"
    },
    "end": {
      "dateTime": "2022-10-05T19:00:00+03:00",
      "timeZone": "GMT+03:00"
    },
    "iCalUID": "...",
    "sequence": 0,
    "attendees": [{
      "email": "...@example.com",
      "responseStatus": "needsAction"
    }],
    "reminders": {
      "useDefault": true
    },
    "eventType": "default"
  }
}
{
  "calendarId": "c_oos5h8kvedslp0k8m2gaie553k@group.calendar.google.com",
  "event": {
    "kind": "calendar#event",
    "etag": "...",
    "id": "...",
    "status": "confirmed",
    "htmlLink": "https://www.google.com/calendar/event?eid=...",
    "created": "YYYY-MM-DDThh:mm:ss.000Z",
    "updated": "YYYY-MM-DDThh:mm:ss.209Z",
    "summary": "...",
    "description": "...",
    "creator": {
      "email": "...@example.com"
    },
    "organizer": {
      "email": "c_oos5h8kvedslp0k8m2gaie553k@group.calendar.google.com",
      "displayName": "My calendar",
      "self": true
    },
    "start": {
      "dateTime": "2022-10-05T14:00:00+03:00",
      "timeZone": "GMT+03:00"
    },
    "end": {
      "dateTime": "2022-10-05T19:00:00+03:00",
      "timeZone": "GMT+03:00"
    },
    "iCalUID": "...",
    "sequence": 0,
    "attendees": [{
      "email": "...@example.com",
      "responseStatus": "needsAction"
    }],
    "reminders": {
      "useDefault": true
    },
    "eventType": "default"
  }
}

In case event is not found, the merge field value depends on the exit:

  • next - {}
  • not found - null

Error handling

The handle error toggle is enabled by default and adds an error exit to the Step. The Flow proceeds down this exit if any error is encountered during the Step execution, e.g. if the authorization data or the calendar ID is invalid, or you don't have permission to manage the calendar.

If the handle error toggle is disabled, the Step does not handle errors. In this case, if any error occurs during the Step execution, the Flow fails immediately after exceeding the Flow timeout. To prevent the Flow from being suspended and continue handling errors, you can place the Handle Flow Error Step before the main logic of your Flow.

Reporting

After the Step completes, it generates a report that includes its execution status and other details. You can customize the report by adjusting the Step's log level and adding tags.

Log level

By default, the Step's log level matches that of the Flow. You can change the Step's log level by selecting an appropriate option from the Log level dropdown.

Tags

Tags provide a way to classify and search for sessions based on their attributes. To create a new tag, specify its category, label, and value. You can then use tags to filter and group the sessions in the report.

Services dependencies

  • studio v3.46.1
  • authorization Manager v1.3.6

Release notes

v1.0.0

  • Initial release