Skip to content

Update Event Details (Google Calendar) v1.0.0 Help

Updates the selected details of the defined event in the selected Google calendar.

How can I use this Step?

Use this Step to substitute the selected details of the defined event from the selected Google calendar with new values. 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, and define which event details to substitute. When this Step is reached during execution, the defined details of the event receive new values, 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 will be updated. 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.

Update details

Learn about the Google Calendar API limits here.

To update details of the event in the defined Google Calendar, do the following:

  1. Click add parameter button. A dropdown with the list of available parameters is added.
  2. Select the parameter name from the dropdown. Depending on the choice, its inputs are updated. The following parameters are available:
  3. Define the respective new values of the selected parameter.
  4. To add multiple parameters, click the add parameter button, then repeat steps 2-3.
  5. Optional: turn on the toggle to send email notifications to guests.

Options to reorder the parameters list using the drag handle or delete a parameter using the trash bin button are available.

Note: If the same parameter is added more than once, the last one defined is used to update event details.

Event's text inputs

The title and location inputs are limited to 1024 characters and will be truncated if exceeded both in the calendar and the Step's output.

The description input is limited to 8192 characters and supports HTML code. It also will be truncated if exceeded both in the calendar and the Step's output.

Note: To remove the previously added title, description or location, leave the respective input empty.

Guests

You can define guests individually by adding each email in the respective field. To add a list of emails via a merge field, define the list as an array of values, for example:

json
[
 "email1@example.com",
 "email2@example.com",
 "email3@example.com"
]
[
 "email1@example.com",
 "email2@example.com",
 "email3@example.com"
]

Note: The Step substitutes all the previously added guests with this input. To remove the previously added guests, leave the respective input empty.

Warning! If a user sends 10,000 invites to guests outside of their primary or secondary domain in a short period, their ability to send external invitations is throttled.

Event start and end

Warning! The event type of the event defined via event ID must match the selected option in this section, otherwise the Step will result in an error.

To set the event's new start and/or end, do the following:

  1. Select the event type. Its selection updates the other inputs of the event.
  2. Define the event's start or end date and/or time.

Event types

The Google Calendar supports the following event types:

  • An all day event covers the period of time defined by whole days in the calendar (e.g. a vacation, a business trip).
  • A specific time event is limited by the specific date and time inputs (e.g. a meeting, an appointment).

All day event

To update an all day event:

  • Set the event start or event end date, respectively.

Specific time event

To update a specific time event, do the following:

  1. Select the timezone.
  2. Set the event start or event end date and time.

Date, time and timezone settings

Date

The numeric formats yyyy-MM-dd or MM-dd-yyyy are suggested to specify dates. All the formats of the event start or end date values are explained in the link under the ? icon. The event start date must be earlier or the same as the event end date value.

Note: To update an all day event lasting more than 1 day, the difference between event start date and event end date inputs must be at least 2 days.

Warning! 12-03-2023 input is interpreted as Dec 3rd, 2023, while 16-03-2023 input is interpreted as Mar 16th, 2023.

Timezone

The timezone value can be changed in the dropdown or set to the timezone of the user's device via the pin button.

Time

The numeric formats HH:mm or hh:mm am/pm are suggested to specify time. All the formats of event start time and event end time values are explained in the link under the ? icon.

Visibility

The event visibility may possess one of the following statuses:

  • default - uses the default visibility for events on the calendar. This is the default value.
  • public - the event is public and event details are visible to all readers of the calendar.
  • private- the event is private and only event guests may view event details.
  • confidential - the event is private. This value is provided for compatibility reasons.

Read about visibility here.

Status

By default, all events in a Google Calendar created by its owner receive the confirmed status. The option to change the status to tentative or cancelled is available.

Read about statuses here.

Notification

By default, the event will be updated without sending personal notifications to the guests. To inform all guests about new event details via email, turn on the toggle to send email notifications to guests.

Warning! A user can send about 2,000 emails to external guests. Using this feature with users in your primary or secondary domain does not count toward this limit.

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.

Advanced settings

The Google Calendar API supports other optional event properties that can be used to update an event with additional parameters (e.g. adding an attachment or creating a Google Meet via a conference). You can specify these parameters as a JSON expression in the body request parameters field. See the list of parameters here.

For example, to add an attachment and a Google Meet to your event, you can use the following structure:

json
{
  "attachments": [{
    "fileUrl": "https://docs.google.com/document/.../edit",
    "title": " My document"
  }],
  "conferenceData": {
    "createRequest": {
      "requestId": "ft12343456fsg5"
    }
  }
}
{
  "attachments": [{
    "fileUrl": "https://docs.google.com/document/.../edit",
    "title": " My document"
  }],
  "conferenceData": {
    "createRequest": {
      "requestId": "ft12343456fsg5"
    }
  }
}

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 patchedEvent. See the list of possible properties:

KeyTypeDescription
calendarIdstringThe calendar ID of the calendar to which the specified event belongs.
patchedEventobjectContains 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",
  "patchedEvent": {
    "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",
  "patchedEvent": {
    "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