## Index

- `https://developers.google.com/workspace/add-ons/reference/rpc/google.apps.script.type/calendar#google.apps.script.type.calendar.CalendarAddOnManifest` (message)
- `https://developers.google.com/workspace/add-ons/reference/rpc/google.apps.script.type/calendar#google.apps.script.type.calendar.CalendarAddOnManifest.EventAccess` (enum)
- `https://developers.google.com/workspace/add-ons/reference/rpc/google.apps.script.type/calendar#google.apps.script.type.calendar.CalendarExtensionPoint` (message)
- `https://developers.google.com/workspace/add-ons/reference/rpc/google.apps.script.type/calendar#google.apps.script.type.calendar.ConferenceSolution` (message)

## CalendarAddOnManifest

Properties customizing the appearance and execution of a Calendar add-on.

| Fields ||
|---|---|
| `homepageTrigger` | `https://developers.google.com/workspace/add-ons/reference/rpc/google.apps.script.type#google.apps.script.type.HomepageExtensionPoint` Optional. Defines an endpoint that is executed in contexts that don't match a declared contextual trigger. Any cards generated by this function will always be available to the user, but might be eclipsed by contextual content when this add-on declares more targeted triggers. If present, this overrides the configuration from `addOns.common.homepageTrigger`. |
| `conferenceSolution[]` | `https://developers.google.com/workspace/add-ons/reference/rpc/google.apps.script.type/calendar#google.apps.script.type.calendar.ConferenceSolution` Optional. Defines conference solutions provided by this add-on. |
| `createSettingsUrlFunction` | `string` An endpoint to execute that creates a URL to the add-on's settings page. |
| `eventOpenTrigger` | `https://developers.google.com/workspace/add-ons/reference/rpc/google.apps.script.type/calendar#google.apps.script.type.calendar.CalendarExtensionPoint` An endpoint that triggers when an event is opened to be viewed or edited. |
| `eventUpdateTrigger` | `https://developers.google.com/workspace/add-ons/reference/rpc/google.apps.script.type/calendar#google.apps.script.type.calendar.CalendarExtensionPoint` An endpoint that triggers when the open event is updated. |
| `calendarNotificationTrigger` | `https://developers.google.com/workspace/add-ons/reference/rpc/google.apps.script.type/calendar#google.apps.script.type.calendar.CalendarExtensionPoint` Optional. Triggers when an event is created or updated for a calendar that the user is subscribed to. Applies only to triggers created by [`HTTP endpoints`](https://developers.google.com/workspace/add-ons/guides/alternate-runtimes) using [`CalendarSubscriptionActionMarkup`](https://developers.google.com/workspace/add-ons/reference/rpc/apps.extensions.markup#apps.extensions.markup.CalendarClientActionMarkup.CalendarSubscriptionActionMarkup). To prevent recursive notification loops, when an add-on modifies a Google Calendar event using Calendar API with authentication credentials from the same Google Cloud project that hosts the add-on deployment, the platform suppresses modification notifications. Self-triggering your own project's Calendar API calls isn't supported. Not applicable to `Apps Script add-ons` and [`Apps Script installable triggers`](https://developers.google.com/apps-script/guides/triggers/installable). |
| `eventAttachmentTrigger` | `https://developers.google.com/workspace/add-ons/reference/rpc/google.apps.script.type#google.apps.script.type.MenuItemExtensionPoint` A configuration for a contextual trigger that fires when the user clicks on the add-on attachment provider in the Calendar dropdown menu. |
| `currentEventAccess` | `https://developers.google.com/workspace/add-ons/reference/rpc/google.apps.script.type/calendar#google.apps.script.type.calendar.CalendarAddOnManifest.EventAccess` Defines the level of data access when an event add-on is triggered. |

## EventAccess

An enum that defines the level of data access event triggers require.

| Enums ||
|---|---|
| `UNSPECIFIED` | Default value when nothing is set for eventAccess. |
| `METADATA` | Gives event triggers the permission to access the metadata of events, such as event ID and calendar ID. |
| `READ` | Gives event triggers access to all provided event fields including the metadata, attendees, and conference data. |
| `WRITE` | Gives event triggers access to the metadata of events and the ability to perform all actions, including adding attendees and setting conference data. |
| `READ_WRITE` | Gives event triggers access to all provided event fields including the metadata, attendees, and conference data and the ability to perform all actions. |

## CalendarExtensionPoint

Common format for declaring a calendar add-on's triggers.

| Fields ||
|---|---|
| `runFunction` | `string` Required. The endpoint to execute when this extension point is activated. |

## ConferenceSolution

Defines conference-related values.

| Fields ||
|---|---|
| `onCreateFunction` | `string` Required. The endpoint to call when conference data should be created. |
| `id` | `string` Required. IDs should be uniquely assigned across conference solutions within one add-on, otherwise the wrong conference solution might be used when the add-on is triggered. While you can change the display name of an add-on, the ID shouldn't be changed. |
| `name` | `string` Required. The display name of the conference solution. |
| `logoUrl` | `string` Required. The URL for the logo image of the conference solution. |