CalendarEventSeries

Represents a series of events (a recurring event).

### Methods

| Method | Return type | Brief description |
|---|---|---|
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#addEmailReminder(Integer)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` | Adds a new email reminder to the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#addGuest(String)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` | Adds a guest to the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#addPopupReminder(Integer)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` | Adds a new pop-up notification to the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#addSmsReminder(Integer)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` | Adds a new SMS reminder to the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#anyoneCanAddSelf()` | `Boolean` | Determines whether people can add themselves as guests to a Calendar event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#deleteEventSeries()` | `void` | Deletes the event series. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#deleteTag(String)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` | Deletes a key/value tag from the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#getAllTagKeys()` | `String[]` | Gets all keys for tags that have been set on the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#getColor()` | `String` | Returns the color of the calendar event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#getCreators()` | `String[]` | Gets the creators of an event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#getDateCreated()` | `Date` | Gets the date the event was created. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#getDescription()` | `String` | Gets the description of the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#getEmailReminders()` | `Integer[]` | Gets the minute values for all email reminders for the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#getEventType()` | `https://developers.google.com/apps-script/reference/calendar/event-type` | Gets the `https://developers.google.com/apps-script/reference/calendar/event-type` of this event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#getGuestByEmail(String)` | `https://developers.google.com/apps-script/reference/calendar/event-guest` | Gets a guest by email address. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#getGuestList()` | `https://developers.google.com/apps-script/reference/calendar/event-guest` | Gets the guests for the event, not including the event owner. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#getGuestList(Boolean)` | `https://developers.google.com/apps-script/reference/calendar/event-guest` | Gets the guests for the event, potentially including the event owners. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#getId()` | `String` | Gets the unique iCalUID of the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#getLastUpdated()` | `Date` | Gets the date the event was last updated. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#getLocation()` | `String` | Gets the location of the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#getMyStatus()` | `https://developers.google.com/apps-script/reference/calendar/guest-status` | Gets the event status (such as attending or invited) of the effective user. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#getOriginalCalendarId()` | `String` | Get the ID of the calendar where this event was originally created. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#getPopupReminders()` | `Integer[]` | Gets the minute values for all pop-up reminders for the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#getSmsReminders()` | `Integer[]` | Gets the minute values for all SMS reminders for the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#getTag(String)` | `String` | Gets a tag value of the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#getTitle()` | `String` | Gets the title of the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#getTransparency()` | `https://developers.google.com/apps-script/reference/calendar/event-transparency` | Gets the transparency of the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#getVisibility()` | `https://developers.google.com/apps-script/reference/calendar/visibility` | Gets the visibility of the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#guestsCanInviteOthers()` | `Boolean` | Determines whether guests can invite other guests. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#guestsCanModify()` | `Boolean` | Determines whether guests can modify the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#guestsCanSeeGuests()` | `Boolean` | Determines whether guests can see other guests. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#isOwnedByMe()` | `Boolean` | Determines whether you're the owner of the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#removeAllReminders()` | `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` | Removes all reminders from the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#removeGuest(String)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` | Removes a guest from the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#resetRemindersToDefault()` | `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` | Resets the reminders using the calendar's default settings. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#setAnyoneCanAddSelf(Boolean)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` | Sets whether non-guests can add themselves to the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#setColor(String)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` | Sets the color of the calendar event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#setDescription(String)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` | Sets the description of the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#setGuestsCanInviteOthers(Boolean)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` | Sets whether guests can invite other guests. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#setGuestsCanModify(Boolean)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` | Sets whether guests can modify the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#setGuestsCanSeeGuests(Boolean)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` | Sets whether guests can see other guests. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#setLocation(String)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` | Sets the location of the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#setMyStatus(GuestStatus)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` | Sets the event status (such as attending or invited) of the effective user. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#setRecurrence(EventRecurrence,Date)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` | Sets the recurrence rules for an all-day event series. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#setRecurrence(EventRecurrence,Date,Date)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` | Sets the recurrence rules for this event series. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#setTag(String,String)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` | Sets a key/value tag on the event, for storing custom metadata. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#setTitle(String)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` | Sets the title of the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#setTransparency(EventTransparency)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` | Sets the transparency of the event. |
| `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#setVisibility(Visibility)` | `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` | Sets the visibility of the event. |

## Detailed documentation

### `addEmailReminder(minutesBefore)`

Adds a new email reminder to the event. The reminder must be at least 5 minutes, and at most 4
weeks (40320 minutes), before the event.

```javascript
// Gets an event by its ID. For an event series, use getEventSeriesById(iCalId)
// instead.
// TODO(developer): Replace the string with the event ID that you want to get.
const event = CalendarApp.getEventById('abc123456');

// Adds an email notification for 15 minutes before the event.
event.addEmailReminder(15);
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `minutesBefore` | `Integer` | the number of minutes before the event |

#### Return


`https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` --- this `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` for chaining

#### Throws


[`Error`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error) --- if there are more than 5 reminders on the event or the time is not
within the legal range

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `addGuest(email)`

Adds a guest to the event.

```javascript
// Example 1: Add a guest to one event
function addAttendeeToEvent() {
  // Replace the below values with your own
  const attendeeEmail =
      'user@example.com';  // Email address of the person you need to add
  const calendarId =
      'calendar_123@group.calendar.google.com';  // ID of calendar containing
  // event
  const eventId = '123abc';  // ID of event instance

  const calendar = CalendarApp.getCalendarById(calendarId);
  if (calendar === null) {
    // Calendar not found
    console.log('Calendar not found', calendarId);
    return;
  }
  const event = calendar.getEventById(eventId);
  if (event === null) {
    // Event not found
    console.log('Event not found', eventId);
    return;
  }
  event.addGuest(attendeeEmail);
}

// Example 2: Add a guest to all events on a calendar within a specified
// timeframe
function addAttendeeToAllEvents() {
  // Replace the following values with your own
  const attendeeEmail =
      'user@example.com';  // Email address of the person you need to add
  const calendarId =
      'calendar_123@group.calendar.google.com';  // ID of calendar with the
  // events
  const startDate =
      new Date('YYYY-MM-DD');  // The first date to add the guest to the events
  const endDate =
      new Date('YYYY-MM-DD');  // The last date to add the guest to the events

  const calendar = CalendarApp.getCalendarById(calendarId);
  if (calendar === null) {
    // Calendar not found
    console.log('Calendar not found', calendarId);
    return;
  }
  // Get the events within the specified timeframe
  const calEvents = calendar.getEvents(startDate, endDate);
  console.log(calEvents.length);  // Checks how many events are found
  // Loop through all events and add the attendee to each of them
  for (let i = 0; i < calEvents.length; i++) {
    const event = calEvents[i];
    event.addGuest(attendeeEmail);
  }
}
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `email` | `String` | The email address of the guest. |

#### Return


`https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` --- This `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` for chaining.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `addPopupReminder(minutesBefore)`

Adds a new pop-up notification to the event. The notification must be at least 5 minutes, and
at most 4 weeks (40320 minutes), before the event.

```javascript
// Gets an event by its ID. For an event series, use getEventSeriesById(iCalId)
// instead.
// TODO(developer): Replace the string with the event ID that you want to get.
const event = CalendarApp.getEventById('abc123456');

// Adds a pop-up notification for 15 minutes before the event.
event.addPopupReminder(15);
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `minutesBefore` | `Integer` | the number of minutes before the event |

#### Return


`https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` --- this `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `addSmsReminder(minutesBefore)`

Adds a new SMS reminder to the event. The reminder must be at least 5 minutes, and at most 4
weeks (40320 minutes), before the event.

#### Parameters

| Name | Type | Description |
|---|---|---|
| `minutesBefore` | `Integer` | the number of minutes before the event |

#### Return


`https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` --- this `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` for chaining

#### Throws


[`Error`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error) --- if there are more than 5 reminders on the event or the time is not
within the legal range

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `anyoneCanAddSelf()`

Determines whether people can add themselves as guests to a Calendar event.

```javascript
// Gets an event by its ID. For an event series, use getEventSeriesById(iCalId)
// instead.
// TODO(developer): Replace the string with the event ID that you want to get.
const event = CalendarApp.getEventById('abc123456');

// Determines whether people can add themselves as guests to the event and logs
// it.
console.log(event.anyoneCanAddSelf());
```

#### Return


`Boolean` --- `true` if non-guests can add themselves to the event; `false` if not

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.googleapis.com/auth/calendar.readonly`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `deleteEventSeries()`

Deletes the event series.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `deleteTag(key)`

Deletes a key/value tag from the event.

#### Parameters

| Name | Type | Description |
|---|---|---|
| `key` | `String` | the tag key |

#### Return


`https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` --- this `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `getAllTagKeys()`

Gets all keys for tags that have been set on the event.

#### Return


`String[]` --- an array of string keys

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.googleapis.com/auth/calendar.readonly`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `getColor()`

Returns the color of the calendar event.

```javascript
// Gets an event by its ID. For an event series, use getEventSeriesById(iCalId)
// instead.
// TODO(developer): Replace the string with the event ID that you want to get.
const event = CalendarApp.getEventById('abc123456');

// Gets the color of the calendar event and logs it.
const eventColor = event.getColor();
console.log(eventColor);
```

#### Return


`String` --- The string representation of the event color, as an index (1-11) of values from `https://developers.google.com/apps-script/reference/calendar/event-color`.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.googleapis.com/auth/calendar.readonly`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `getCreators()`

Gets the creators of an event.

```javascript
// Gets an event by its ID. For an event series, use getEventSeriesById(iCalId)
// instead.
// TODO(developer): Replace the string with the event ID that you want to get.
const event = CalendarApp.getEventById('abc123456');

// Gets a list of the creators of the event and logs it.
console.log(event.getCreators());
```

#### Return


`String[]` --- the email addresses of the event's creators

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.googleapis.com/auth/calendar.readonly`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `getDateCreated()`

Gets the date the event was created. You must have access to the calendar.

```javascript
// Opens the calendar by using its ID.
// To get the user's default calendar use CalendarApp.getDefault() instead.
// TODO(developer): Replace the calendar ID with your own.
const calendar = CalendarApp.getCalendarById(
    'abc123456@group.calendar.google.com',
);

// Gets the first event from the calendar for February 1st, 2023 that takes
// place between 8:10 AM and 4:25 PM. For an event series, use
// calendar.getEventSeriesById('abc123456@google.com'); and replace the series
// ID with your own.
const event = calendar.getEvents(
    new Date('Feb 01, 2023 08:10:00'),
    new Date('Feb 01, 2023 16:25:00'),
    )[0];

if (event) {
  // If an event exists within the given time frame, gets the date that the
  // event was created and logs it.
  const eventCreated = event.getDateCreated();
  console.log(eventCreated);
} else {
  // If no event exists within the given time frame, logs that information to
  // the console.
  console.log('No events exist for the specified range');
}
```

#### Return


`Date` --- the date of creation

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.googleapis.com/auth/calendar.readonly`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `getDescription()`

Gets the description of the event. You must have edit access to the calendar.

```javascript
// Opens the calendar by its ID.
// To get the user's default calendar use CalendarApp.getDefault() instead.
// TODO(developer): Replace the ID with your own.
const calendar = CalendarApp.getCalendarById(
    'abc123456@group.calendar.google.com',
);

// Gets the first event from the calendar for February 4th, 2023 that takes
// place between 4:00 PM and 5:00 PM. For an event series, use
// calendar.getEventSeriesById('abc123456@google.com'); and replace the series
// ID with your own.
const event = calendar.getEvents(
    new Date('Feb 04, 2023 16:00:00'),
    new Date('Feb 04, 2023 17:00:00'),
    )[0];

if (event) {
  // If an event exists within the given time frame, sets the description of the
  // event.
  event.setDescription('Important meeting');

  // Gets the description of the event and logs it.
  const description = event.getDescription();
  console.log(description);
} else {
  // If no event exists within the given time frame, logs that information to
  // the console.
  console.log('No events exist for the specified range');
}
```

#### Return


`String` --- the description

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.googleapis.com/auth/calendar.readonly`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `getEmailReminders()`

Gets the minute values for all email reminders for the event. You must have edit access to the
calendar.

```javascript
// Opens the calendar by its ID.
// TODO(developer): Replace the ID with your own.
const calendar = CalendarApp.getCalendarById(
    'abc123456@group.calendar.google.com',
);

// Gets the first event from the calendar for February 4th, 2023 that takes
// place between 5:00 PM and 6:00 PM. For an event series, use
// calendar.getEventSeriesById('abc123456@google.com'); and replace the series
// ID with your own.
const event = calendar.getEvents(
    new Date('Feb 04, 2023 15:00:00'),
    new Date('Feb 04, 2023 18:00:00'),
    )[0];

if (event) {
  // If an event exists within the given time frame, adds email reminders for
  // the user to be sent at 4 and 7 minutes before the event.
  event.addEmailReminder(4);
  event.addEmailReminder(7);

  // Gets the minute values for all email reminders that are set up for the user
  // for this event and logs it.
  const emailReminder = event.getEmailReminders();
  console.log(emailReminder);
} else {
  // If no event exists within the given time frame, logs that information to
  // the console.
  console.log('No events exist for the specified range');
}
```

#### Return


`Integer[]` --- an array in which each value corresponds to the number of minutes before the event that
a reminder triggers

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.googleapis.com/auth/calendar.readonly`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `getEventType()`

Gets the `https://developers.google.com/apps-script/reference/calendar/event-type` of this event.

```javascript
// Opens the default calendar and logs all out-of-office events for the current day.
const calendar = CalendarApp.getDefaultCalendar();
const events = calendar.getEventsForDay(new Date());
console.log(events.filter(e => e.getEventType() === CalendarApp.EventType.OUT_OF_OFFICE));
```

#### Return


`https://developers.google.com/apps-script/reference/calendar/event-type` --- The event type.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.googleapis.com/auth/calendar.readonly`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `getGuestByEmail(email)`

Gets a guest by email address.

```javascript
// Opens the calendar by its ID. You must have edit access to the calendar.
// TODO(developer): Replace the ID with your own.
const calendar = CalendarApp.getCalendarById(
    'abc123456@group.calendar.google.com',
);

// Gets the first event from the calendar for February 25th, 2023 that takes
// place between 5:00 PM and 5:25 PM. For an event series, use
// calendar.getEventSeriesById('abc123456@google.com'); and replace the series
// ID with your own.
const event = calendar.getEvents(
    new Date('Feb 25,2023 17:00:00'),
    new Date('Feb 25,2023 17:25:00'),
    )[0];

// Gets a guest by email address.
const guestEmailId = event.getGuestByEmail('alex@example.com');

// If the email address corresponds to an event guest, logs the email address.
if (guestEmailId) {
  console.log(guestEmailId.getEmail());
}
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `email` | `String` | the address of the guest |

#### Return


`https://developers.google.com/apps-script/reference/calendar/event-guest` --- the guest, or null if the email address does not correspond to a guest

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `getGuestList()`

Gets the guests for the event, not including the event owner.

```javascript
// Opens the calendar by its ID. You must have edit access to the calendar.
// TODO(developer): Replace the ID with your own.
const calendar = CalendarApp.getCalendarById(
    'abc123456@group.calendar.google.com',
);

// Gets the first event from the calendar for February 25th, 2023 that takes
// place between 5:00 PM and 5:25 PM. For an event series, use
// calendar.getEventSeriesById('abc123456@google.com'); and replace the series
// ID with your own.
const event = calendar.getEvents(
    new Date('Feb 25,2023 17:00:00'),
    new Date('Feb 25,2023 17:25:00'),
    )[0];

// Adds two guests to the event by using their email addresses.
event.addGuest('alex@example.com');
event.addGuest('cruz@example.com');

// Gets the guests list for the event.
const guestList = event.getGuestList();

// Loops through the list to get all the guests and logs their email addresses.
for (const guest of guestList) {
  console.log(guest.getEmail());
}
```

#### Return


`https://developers.google.com/apps-script/reference/calendar/event-guest` --- an array of the guests

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.googleapis.com/auth/calendar.readonly`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `getGuestList(includeOwner)`

Gets the guests for the event, potentially including the event owners.

```javascript
// Opens the calendar by its ID. You must have edit access to the calendar.
// TODO(developer): Replace the ID with your own.
const calendar = CalendarApp.getCalendarById(
    'abc123456@group.calendar.google.com',
);

// Gets the first event from the calendar for February 25th, 2023 that takes
// place between 5:00 PM and 5:25 PM. For an event series, use
// calendar.getEventSeriesById('abc123456@google.com'); and replace the series
// ID with your own.
const event = calendar.getEvents(
    new Date('Feb 25,2023 17:00:00'),
    new Date('Feb 25,2023 17:25:00'),
    )[0];

// Gets the guests list for the event, including the owner of the event.
const guestList = event.getGuestList(true);

// Loops through the list to get all the guests and logs it.
for (const guest of guestList) {
  console.log(guest.getEmail());
}
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `includeOwner` | `Boolean` | whether to include the owners as a guest |

#### Return


`https://developers.google.com/apps-script/reference/calendar/event-guest` --- an array of the guests

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.googleapis.com/auth/calendar.readonly`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `getId()`

Gets the unique iCalUID of the event. Note that the iCalUID and the event [`id`](https://developers.google.com/calendar/v3/reference/events#resource-representations) used by the
[Calendar v3 API](https://developers.google.com/calendar/v3/reference) and [Calendar advanced service](https://developers.google.com/apps-script/advanced/calendar) are not identical and
cannot be used interchangeably. One difference in their semantics is that in recurring events
all occurrences of one event have different `ids` while they all share the same iCalUIDs.

```javascript
// Opens the calendar by its ID. You must have edit access to the calendar.
// TODO(developer): Replace the ID with your own.
const calendar = CalendarApp.getCalendarById(
    'abc123456@group.calendar.google.com',
);

// Gets the first event from the calendar for January 5th, 2023 that takes place
// between 9:00 AM and 9:25 AM.
// For an event series, use calendar.getEventSeriesById('abc123456@google.com');
// and replace the series ID with your own.
const event = calendar.getEvents(
    new Date('Jan 05, 2023 09:00:00'),
    new Date('Jan 05, 2023 09:25:00'),
    )[0];

// Gets the ID of the event and logs it.
console.log(event.getId());
```

#### Return


`String` --- the iCalUID of the event

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.googleapis.com/auth/calendar.readonly`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `getLastUpdated()`

Gets the date the event was last updated.

```javascript
// Opens the calendar by its ID. You must have view access to the calendar.
// TODO(developer): Replace the ID with your own.
const calendar = CalendarApp.getCalendarById(
    'abc123456@group.calendar.google.com',
);

// Gets the first event from the calendar for February 1st, 2023 that takes
// place between 4:00 PM and 5:00 PM. For an event series, use
// calendar.getEventSeriesById('abc123456@google.com'); and replace the series
// ID with your own.
const event = calendar.getEvents(
    new Date('Feb 01, 2023 16:00:00'),
    new Date('Feb 01, 2023 17:00:00'),
    )[0];

// Gets the date the event was last updated and logs it.
const eventUpdatedDate = event.getLastUpdated();
console.log(eventUpdatedDate);
```

#### Return


`Date` --- the last updated date

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.googleapis.com/auth/calendar.readonly`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `getLocation()`

Gets the location of the event.

```javascript
// Opens the calendar by its ID. You must have edit access to the calendar.
// TODO(developer): Replace the ID with your own.
const calendar = CalendarApp.getCalendarById(
    'abc123456@group.calendar.google.com',
);

// Gets the first event from the calendar for February 1st, 2023 that takes
// place between 4:10 PM and 4:25 PM. For an event series, use
// calendar.getEventSeriesById('abc123456@google.com'); and replace the series
// ID with your own.
const event = calendar.getEvents(
    new Date('Feb 01, 2023 16:10:00'),
    new Date('Feb 01, 2023 16:25:00'),
    )[0];

if (event) {
  // If an event exists within the given time frame, sets the location of the
  // event to Mumbai.
  event.setLocation('Mumbai');

  // Gets the location of the event and logs it.
  const eventLocation = event.getLocation();
  console.log(eventLocation);
} else {
  // If no event exists within the given time frame, logs that information to
  // the console.
  console.log('No events exist for the specified range');
}
```

#### Return


`String` --- the event location

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.googleapis.com/auth/calendar.readonly`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `getMyStatus()`

Gets the event status (such as attending or invited) of the effective user. Always returns
`GuestStatus.OWNER` if the effective user is the owner of the event.

```javascript
// Opens the calendar by its ID.
// TODO(developer): Replace the ID with your own.
const calendar = CalendarApp.getCalendarById(
    'abc123456@group.calendar.google.',
);

// Gets the first event from the calendar for February 1st, 2023 that takes
// place between 4:10 PM and 4:25 PM. For an event series, use
// calendar.getEventSeriesById('abc123456@google.com'); and replace the series
// ID with your own.
const event = calendar.getEvents(
    new Date('Feb 01, 2023 16:10:00'),
    new Date('Feb 01, 2023 16:25:00'),
    )[0];

if (event) {
  // If an event exists within the given time frame, gets the event status of
  // the effective user and logs it.
  const myStatus = event.getMyStatus();
  console.log(myStatus.toString());
} else {
  // If no event exists within the given time frame, logs that information to
  // the console.
  console.log('No events exist for the specified range');
}
```

#### Return


`https://developers.google.com/apps-script/reference/calendar/guest-status` --- the status

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.googleapis.com/auth/calendar.readonly`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `getOriginalCalendarId()`

Get the ID of the calendar where this event was originally created.

```javascript
// Opens the calendar by its ID. You must have edit access to the calendar.
// TODO(developer): Replace the ID with your own.
const calendar = CalendarApp.getCalendarById(
    'abc123456@group.calendar.google.com',
);

// Gets the first event from the calendar for February 25th, 2023 that takes
// place between 4:00 PM and 4:25 PM. For an event series, use
// calendar.getEventSeriesById('abc123456@google.com'); and replace the series
// ID with your own.
const event = calendar.getEvents(
    new Date('Feb 25,2023 16:00:00'),
    new Date('Feb 25,2023 16:25:00'),
    )[0];

if (event) {
  // If an event exists within the given time frame, gets the ID of the calendar
  // where the event was originally created and logs it.
  const calendarId = event.getOriginalCalendarId();
  console.log(calendarId);
} else {
  // If no event exists within the given time frame, logs that information to
  // the console.
  console.log('No events exist for the specified range');
}
```

#### Return


`String` --- the ID of the original calendar

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.googleapis.com/auth/calendar.readonly`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `getPopupReminders()`

Gets the minute values for all pop-up reminders for the event.

```javascript
// Opens the calendar by its ID. You must have edit access to the calendar.
// TODO(developer): Replace the ID with your own.
const calendar = CalendarApp.getCalendarById(
    'abc123456@group.calendar.google.com',
);

// Gets the first event from the calendar for February 4th, 2023 that takes
// place between 5:05 PM and 5:35 PM. For an event series, use
// calendar.getEventSeriesById('abc123456@google.com'); and replace the series
// ID with your own.
const event = calendar.getEvents(
    new Date('Feb 04, 2023 17:05:00'),
    new Date('Feb 04, 2023 17:35:00'),
    )[0];

if (event) {
  // If an event exists within the given time frame, adds two pop-up reminders
  // to the event. The first reminder pops up 5 minutes before the event starts
  // and the second reminder pops up 3 minutes before the event starts.
  event.addPopupReminder(3);
  event.addPopupReminder(5);

  // Gets the minute values for all pop-up reminders for the event and logs it.
  const popUpReminder = event.getPopupReminders();
  console.log(popUpReminder);
} else {
  // If no event exists within the given time frame, logs that information to
  // the console.
  console.log('No events exist for the specified range');
}
```

#### Return


`Integer[]` --- an array in which each value corresponds to the number of minutes before the event that
a reminder triggers

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.googleapis.com/auth/calendar.readonly`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `getSmsReminders()`

Gets the minute values for all SMS reminders for the event.

#### Return


`Integer[]` --- an array in which each value corresponds to the number of minutes before the event that
a reminder triggers

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.googleapis.com/auth/calendar.readonly`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `getTag(key)`

Gets a tag value of the event.

#### Parameters

| Name | Type | Description |
|---|---|---|
| `key` | `String` | the key |

#### Return


`String` --- the tag value

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.googleapis.com/auth/calendar.readonly`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `getTitle()`

Gets the title of the event.

```javascript
// Opens the calendar by its ID. You must have edit access to the calendar.
// TODO(developer): Replace the ID with your own.
const calendar = CalendarApp.getCalendarById(
    'abc123456@group.calendar.google.com',
);

// Gets the first event from the calendar for January 31st, 2023 that takes
// place between 9:05 AM and 9:15 AM. For an event series, use
// calendar.getEventSeriesById('abc123456@example.com'); and replace the series
// ID with your own.
const event = calendar.getEvents(
    new Date('Jan 31, 2023 09:05:00'),
    new Date('Jan 31, 2023 09:15:00'),
    )[0];

if (event) {
  // If an event exists within the given time frame, logs the title of the
  // event.
  console.log(event.getTitle());
} else {
  // If no event exists within the given time frame, logs that information to
  // the console.
  console.log('No events exist for the specified range');
}
```

#### Return


`String` --- the title

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.googleapis.com/auth/calendar.readonly`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `getTransparency()`

Gets the transparency of the event. Use this method to determine whether an event is `
TRANSPARENT`, meaning the calendar shows as Available during that time, or `OPAQUE
`, meaning the calendar shows as Busy during that time.

```javascript
// Gets the first event from the default calendar for today.
const today = new Date();
const event = CalendarApp.getDefaultCalendar().getEventsForDay(today)[0];
// Gets the event's transparency and logs it.
const transparency = event.getTransparency();
Logger.log(transparency);
```

#### Return


`https://developers.google.com/apps-script/reference/calendar/event-transparency` --- The transparency value.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.googleapis.com/auth/calendar.readonly`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `getVisibility()`

Gets the visibility of the event.

```javascript
// Opens the calendar by its ID. You must have edit access to the calendar.
// TODO(developer): Replace the ID with your own.
const calendar = CalendarApp.getCalendarById(
    'abc123456@group.calendar.google.com',
);

// Gets the first event from the calendar for February 1st, 2023 that takes
// place between 4:10 PM and 4:25 PM. For an event series, use
// calendar.getEventSeriesById('abc123456@google.com'); and replace the series
// ID with your own.
const event = calendar.getEvents(
    new Date('Feb 01, 2023 16:10:00'),
    new Date('Feb 01, 2023 16:25:00'),
    )[0];

if (event) {
  // If an event exists within the given time frame, gets the visibility of the
  // event and logs it.
  const eventVisibility = event.getVisibility();
  console.log(eventVisibility.toString());
} else {
  // If no event exists within the given time frame, logs that information to
  // the console.
  console.log('No events exist for the specified range');
}
```

#### Return


`https://developers.google.com/apps-script/reference/calendar/visibility` --- the visibility value

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.googleapis.com/auth/calendar.readonly`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `guestsCanInviteOthers()`

Determines whether guests can invite other guests.

```javascript
// Opens the calendar by its ID. You must have view access to the calendar.
// TODO(developer): Replace the ID with your own.
const calendar = CalendarApp.getCalendarById(
    'abc123456@group.calendar.google.com',
);

// Gets the first event from the calendar for February 1st, 2023 that takes
// place between 9:35 AM and 9:40 AM. For an event series, use
// calendar.getEventSeriesById('abc123456@google.com'); and replace the series
// ID with your own.
const event = calendar.getEvents(
    new Date('Feb 01, 2023 09:35:00'),
    new Date('Feb 01, 2023 09:40:00'),
    )[0];

if (event) {
  // If an event exists within the given time frame, determines whether guests
  // can invite other guests and logs it.
  console.log(event.guestsCanInviteOthers());
} else {
  // If no event exists within the given time frame, logs that information to
  // the console.
  console.log('No events exist for the specified range');
}
```

#### Return


`Boolean` --- `true` if guests can invite others; `false` if not

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.googleapis.com/auth/calendar.readonly`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `guestsCanModify()`

Determines whether guests can modify the event.

```javascript
// Opens the calendar by its ID. You must have edit access to the calendar.
// TODO(developer): Replace the ID with your own.
const calendar = CalendarApp.getCalendarById(
    'abc123456@group.calendar.google.com',
);

// Gets the first event from the calendar for February 1st, 2023 that takes
// place between 9:35 AM and 9:40 AM. For an event series, use
// calendar.getEventSeriesById('abc123456@google.com'); and replace the series
// ID with your own.
const event = calendar.getEvents(
    new Date('Feb 01, 2023 09:35:00'),
    new Date('Feb 01, 2023 09:40:00'),
    )[0];

if (event) {
  // If an event exists within the given time frame, sets the event so that
  // guests can't modify it.
  event.setGuestsCanModify(false);

  // Determines whether guests can modify the event and logs it.
  console.log(event.guestsCanModify());
} else {
  // If no event exists within the given time frame, logs that information to
  // the console.
  console.log('No events exist for the specified range');
}
```

#### Return


`Boolean` --- `true` if guests can modify the event; `false` if not

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.googleapis.com/auth/calendar.readonly`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `guestsCanSeeGuests()`

Determines whether guests can see other guests.

```javascript
// Opens the calendar by its ID. You must have view access to the calendar.
// TODO(developer): Replace the ID with your own.
const calendar = CalendarApp.getCalendarById(
    'abc123456@group.calendar.google.com',
);

// Gets the first event from the calendar for February 1st, 2023 that takes
// place between 9:35 AM and 9:40 AM. For an event series, use
// calendar.getEventSeriesById('abc123456@google.com'); and replace the series
// ID with your own.
const event = calendar.getEvents(
    new Date('Feb 01, 2023 09:35:00'),
    new Date('Feb 01, 2023 09:40:00'),
    )[0];

if (event) {
  // If an event exists within the given time frame, determines whether guests
  // can see other guests and logs it.
  console.log(event.guestsCanSeeGuests());
} else {
  // If no event exists within the given time frame, logs that information to
  // the console.
  console.log('No events exist for the specified range');
}
```

#### Return


`Boolean` --- `true` if guests can see other guests; `false` if not

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.googleapis.com/auth/calendar.readonly`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `isOwnedByMe()`

Determines whether you're the owner of the event.

```javascript
// Opens the calendar by its ID. You must have view access to the calendar.
// TODO(developer): Replace the ID with your own.
const calendar = CalendarApp.getCalendarById(
    'abc123456@group.calendar.google.com',
);

// Gets the first event from the calendar for January 31st, 2023 that takes
// place between 9:05 AM and 9:15 AM. For an event series, use
// calendar.getEventSeriesById('abc123456@google.com'); and replace the series
// ID with your own.
const event = calendar.getEvents(
    new Date('Jan 31, 2023 09:05:00'),
    new Date('Jan 31, 2023 09:15:00'),
    )[0];

if (event) {
  // If an event exists within the given time frame, determines whether you're
  // the owner of the event and logs it.
  console.log(event.isOwnedByMe());
} else {
  // If no event exists within the given time frame, logs that information to
  // the console.
  console.log('No events exist for the specified range');
}
```

#### Return


`Boolean` --- `true` if the event is owned by the effective user; `false` if not

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.googleapis.com/auth/calendar.readonly`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `removeAllReminders()`

Removes all reminders from the event.

```javascript
// Opens the calendar by its ID. You must have edit access to the calendar
// TODO(developer): Replace the ID with your own.
const calendar = CalendarApp.getCalendarById(
    'abc123456@group.calendar.google.com',
);

// Gets the first event from the calendar for February 1st, 2023 that takes
// place between 4:10 PM and 4:25 PM. For an event series, use
// calendar.getEventSeriesById('abc123456@google.com'); and replace the series
// ID with your own.
const event = calendar.getEvents(
    new Date('Feb 1,2023 16:10:00'),
    new Date('Feb 1,2023 16:25:00'),
    )[0];

if (event) {
  // If an event exists within the given time frame, removes all reminders from
  // the event.
  event.removeAllReminders();
} else {
  // If no event exists within the given time frame, logs that information to
  // the console.
  console.log('No events exist for the specified range');
}
```

#### Return


`https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` --- this `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `removeGuest(email)`

Removes a guest from the event.

```javascript
// Example 1: Remove a guest from one event
function removeGuestFromEvent() {
  // Replace the below values with your own
  const attendeeEmail =
      'user@example.com';  // Email address of the person you need to remove
  const calendarId =
      'calendar_123@group.calendar.google.com';  // ID of calendar containing
  // event
  const eventId = '123abc';  // ID of event instance

  const calendar = CalendarApp.getCalendarById(calendarId);
  if (calendar === null) {
    // Calendar not found
    console.log('Calendar not found', calendarId);
    return;
  }
  const event = calendar.getEventById(eventId);
  if (event === null) {
    // Event not found
    console.log('Event not found', eventId);
    return;
  }
  event.removeGuest(attendeeEmail);
}

// Example 2: Remove a guest from all events on a calendar within a specified
// timeframe
function removeGuestFromAllEvents() {
  // Replace the following values with your own
  const attendeeEmail =
      'user@example.com';  // Email address of the person you need to remove
  const calendarId =
      'calendar_123@group.calendar.google.com';  // ID of calendar with the
  // events
  const startDate = new Date(
      'YYYY-MM-DD');  // The first date to remove the guest from the events
  const endDate = new Date(
      'YYYY-MM-DD');  // The last date to remove the attendee from the events

  const calendar = CalendarApp.getCalendarById(calendarId);
  if (calendar === null) {
    // Calendar not found
    console.log('Calendar not found', calendarId);
    return;
  }
  // Get the events within the specified timeframe
  const calEvents = calendar.getEvents(startDate, endDate);
  console.log(calEvents.length);  // Checks how many events are found
  // Loop through all events and remove the attendee from each of them
  for (let i = 0; i < calEvents.length; i++) {
    const event = calEvents[i];
    event.removeGuest(attendeeEmail);
  }
}
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `email` | `String` | the email address of the guest |

#### Return


`https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` --- this `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `resetRemindersToDefault()`

Resets the reminders using the calendar's default settings.

```javascript
// Opens the calendar by its ID. You must have edit access to the calendar.
// TODO(developer): Replace the ID with your own.
const calendar = CalendarApp.getCalendarById(
    'abc123456@group.calendar.google.com',
);

// Gets the first event from the calendar for February 1st, 2023 that takes
// place between 4:10 PM and 4:25 PM. For an event series, use
// calendar.getEventSeriesById('abc123456@google.com'); and replace the series
// ID with your own.
const event = calendar.getEvents(
    new Date('Feb 1, 2023 16:10:00'),
    new Date('Feb 1, 2023 16:25:00'),
    )[0];

if (event) {
  // If an event exists within the given time frame, resets the reminders using
  // the calendar's default settings.
  event.resetRemindersToDefault();
} else {
  // If no event exists within the given time frame, logs that information to
  // the console.
  console.log('No events exist for the specified range');
}
```

#### Return


`https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` --- this `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `setAnyoneCanAddSelf(anyoneCanAddSelf)`

Sets whether non-guests can add themselves to the event.

```javascript
// Opens the calendar by its ID. You must have edit access to the calendar.
// TODO(developer): Replace the ID with your own.
const calendar = CalendarApp.getCalendarById(
    'abc123456@group.calendar.google.com',
);

// Gets the first event from the calendar for February 15th, 2023 that takes
// place between 3:30 PM and 4:30 PM. For an event series, use
// calendar.getEventSeriesById('abc123456@google.com'); and replace the series
// ID with your own.
const event = calendar.getEvents(
    new Date('Feb 15, 2023 15:30:00'),
    new Date('Feb 15, 2023 16:30:00'),
    )[0];

if (event) {
  // If an event exists within the given time frame, sets the event so that
  // non-guests can't add themselves to the event.
  event.setAnyoneCanAddSelf(false);
} else {
  // If no event exists within the given time frame, logs that information to
  // the console.
  console.log('No events exist for the specified range');
}
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `anyoneCanAddSelf` | `Boolean` | whether anyone can invite themselves |

#### Return


`https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` --- this `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `setColor(color)`

Sets the color of the calendar event.

```javascript
// Opens the calendar by its ID. You must have edit access to the calendar.
// TODO(developer): Replace the ID with your own.
const calendar = CalendarApp.getCalendarById(
    'abc123456@group.calendar.google.com',
);

// Gets the first event from the calendar for February 1st, 2023 that takes
// place between 4:10 PM and 4:25 PM. For an event series, use
// calendar.getEventSeriesById('abc123456@google.com'); and replace the series
// ID with your own.
const event = calendar.getEvents(
    new Date('Feb 01, 2023 16:10:00'),
    new Date('Feb 01, 2023 16:25:00'),
    )[0];

if (event) {
  // If an event exists within the given time frame, sets the color of the
  // calendar event to green.
  event.setColor(CalendarApp.EventColor.GREEN);
} else {
  // If no event exists within the given time frame, logs that information to
  // the console.
  console.log('No events exist for the specified range');
}
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `color` | `String` | An integer color index as a string, or a value from `https://developers.google.com/apps-script/reference/calendar/event-color`. |

#### Return


`https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` --- This calendar event, for chaining.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `setDescription(description)`

Sets the description of the event.

```javascript
// Opens the calendar by its ID. You must have edit access to the calendar.
// TODO(developer): Replace the ID with your own.
const calendar = CalendarApp.getCalendarById(
    'abc123456@group.calendar.google.com',
);

// Gets the first event from the calendar for February 4th, 2023 that takes
// place between 5:05 PM and 5:35 PM. For an event series, use
// calendar.getEventSeriesById('abc123456@google.com'); and replace the series
// ID with your own.
const event = calendar.getEvents(
    new Date('Feb 04, 2023 17:05:00'),
    new Date('Feb 04, 2023 17:35:00'),
    )[0];

if (event) {
  // If an event exists within the given time frame, sets the description of the
  // event to 'Meeting.'
  event.setDescription('Meeting');
} else {
  // If no event exists within the given time frame, logs that information to
  // the console.
  console.log('No events exist for the specified range');
}
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `description` | `String` | the new description |

#### Return


`https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` --- this `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `setGuestsCanInviteOthers(guestsCanInviteOthers)`

Sets whether guests can invite other guests.

```javascript
// Opens the calendar by its ID.
// TODO(developer): Replace the ID with your own. You must have edit access to
// the calendar.
const calendar = CalendarApp.getCalendarById(
    'abc123456@group.calendar.google.com',
);

// Gets the first event from the calendar for February 1st, 2023 that takes
// place between 9:35 AM and 9:40 AM. For an event series, use
// calendar.getEventSeriesById('abc123456@google.com'); and replace the series
// ID with your own.
const event = calendar.getEvents(
    new Date('Feb 01, 2023 09:35:00'),
    new Date('Feb 01, 2023 09:40:00'),
    )[0];

if (event) {
  // If an event exists within the given time frame, sets the event so that
  // guests can invite other guests.
  event.setGuestsCanInviteOthers(true);
} else {
  // If no event exists within the given time frame, logs that information to
  // the console.
  console.log('No events exist for the specified range');
}
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `guestsCanInviteOthers` | `Boolean` | whether guests can invite others |

#### Return


`https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` --- this `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `setGuestsCanModify(guestsCanModify)`

Sets whether guests can modify the event.

#### Parameters

| Name | Type | Description |
|---|---|---|
| `guestsCanModify` | `Boolean` | whether guests can modify the event |

#### Return


`https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` --- this `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `setGuestsCanSeeGuests(guestsCanSeeGuests)`

Sets whether guests can see other guests.

#### Parameters

| Name | Type | Description |
|---|---|---|
| `guestsCanSeeGuests` | `Boolean` | whether guests can see others |

#### Return


`https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` --- this `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `setLocation(location)`

Sets the location of the event.

```javascript
// Opens the calendar by its ID. You must have edit access to the calendar.
// TODO(developer): Replace the ID with your own.
const calendar = CalendarApp.getCalendarById(
    'abc123456@group.calendar.google.com',
);

// Gets the first event from the calendar for February 1st, 2023 that takes
// place between 4:10 PM and 4:25 PM. For an event series, use
// calendar.getEventSeriesById('abc123456@google.com'); and replace the series
// ID with your own.
const event = calendar.getEvents(
    new Date('Feb 01, 2023 16:10:00'),
    new Date('Feb 01, 2023 16:25:00'),
    )[0];

if (event) {
  // If an event exists within the given time frame, sets the location of the
  // event to Noida.
  event.setLocation('Noida');
} else {
  // If no event exists within the given time frame, logs that information to
  // the console.
  console.log('No events exist for the specified range');
}
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `location` | `String` | the new location |

#### Return


`https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` --- this `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `setMyStatus(status)`

Sets the event status (such as attending or invited) of the effective user.

```javascript
// Opens the calendar by its ID. You must have edit access to the calendar.
// TODO(developer): Replace the ID with your own.
const calendar = CalendarApp.getCalendarById(
    'abc123456@group.calendar.google.com',
);

// Gets the first event from the calendar for February 1st, 2023 that takes
// place between 4:10 PM and 4:25 PM. For an event series, use
// calendar.getEventSeriesById('abc123456@google.com'); and replace the series
// ID with your own.
const event = calendar.getEvents(
    new Date('Feb 01, 2023 16:10:00'),
    new Date('Feb 01, 2023 16:25:00'),
    )[0];

if (event) {
  // If an event exists within the given time frame, sets the event status for
  // the current user to maybe.
  event.setMyStatus(CalendarApp.GuestStatus.MAYBE);
} else {
  // If no event exists within the given time frame, logs that information to
  // the console.
  console.log('No events exist for the specified range');
}
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `status` | `https://developers.google.com/apps-script/reference/calendar/guest-status` | the new status |

#### Return


`https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` --- this `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.googleapis.com/auth/calendar.readonly`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `setRecurrence(recurrence, startDate)`

Sets the recurrence rules for an all-day event series. Applying this method changes a regular
event series into an all-day event series.

```javascript
// Sets the events in a series to take place every Wednesday in 2013.
const eventSeries = CalendarApp.getDefaultCalendar().getEventSeriesById(
    '123456789@example.com',
);
const startDate = new Date('January 2, 2013 03:00:00 PM EST');
const recurrence = CalendarApp.newRecurrence()
                       .addWeeklyRule()
                       .onlyOnWeekday(CalendarApp.Weekday.WEDNESDAY)
                       .until(new Date('January 1, 2014'));
eventSeries.setRecurrence(recurrence, startDate);
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `recurrence` | `https://developers.google.com/apps-script/reference/calendar/event-recurrence` | the recurrence rules to use |
| `startDate` | `Date` | the date of the first event in the series (only the day is used; the time is ignored) |

#### Return


`https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` --- this CalendarEventSeries for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `setRecurrence(recurrence, startTime, endTime)`

Sets the recurrence rules for this event series. Applying this method changes an all-day event
series into a regular event series.

```javascript
// Sets the events in a series to take place from 3pm to 4pm every Tuesday and
// Thursday in 2013.
const eventSeries = CalendarApp.getDefaultCalendar().getEventSeriesById(
    '123456789@example.com',
);
const startTime = new Date('January 1, 2013 03:00:00 PM EST');
const endTime = new Date('January 1, 2013 04:00:00 PM EST');
const recurrence =
    CalendarApp.newRecurrence()
        .addWeeklyRule()
        .onlyOnWeekdays(
            [CalendarApp.Weekday.TUESDAY, CalendarApp.Weekday.THURSDAY])
        .until(new Date('January 1, 2014'));
eventSeries.setRecurrence(recurrence, startTime, endTime);
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `recurrence` | `https://developers.google.com/apps-script/reference/calendar/event-recurrence` | the recurrence rules to use |
| `startTime` | `Date` | the date and time when the first event in the series starts |
| `endTime` | `Date` | the date and time when the first event in the series ends |

#### Return


`https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` --- this CalendarEventSeries for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `setTag(key, value)`

Sets a key/value tag on the event, for storing custom metadata.

#### Parameters

| Name | Type | Description |
|---|---|---|
| `key` | `String` | the tag key |
| `value` | `String` | the tag value |

#### Return


`https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` --- this `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `setTitle(title)`

Sets the title of the event.

```javascript
// Opens the calendar by its ID. You must have edit access to the calendar.
// TODO(developer): Replace the ID with your own.
const calendar = CalendarApp.getCalendarById(
    'abc123456@group.calendar.google.com',
);

// Gets the first event from the calendar for January 31st, 2023 that takes
// place between 9:05 AM and 9:15 AM. For an event series, use
// calendar.getEventSeriesById('abc123456@example.com'); and replace the series
// ID with your own.
const event = calendar.getEvents(
    new Date('Jan 31, 2023 09:05:00'),
    new Date('Jan 31, 2023 09:15:00'),
    )[0];

if (event) {
  // If an event exists within the given time frame, changes its title to
  // Event1.
  event.setTitle('Event1');
} else {
  // If no event exists within the given time frame, logs that information to
  // the console.
  console.log('No events exist for the specified range');
}
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `title` | `String` | the new title |

#### Return


`https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` --- this `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `setTransparency(transparency)`

Sets the transparency of the event. Use this method to set whether an event is `
TRANSPARENT`, meaning the calendar shows as Available during that time, or `OPAQUE
`, meaning the calendar shows as Busy during that time.

```javascript
// Gets an event by its ID. For an event series, use getEventSeriesById(iCalId)
// instead.
// TODO(developer): Replace the string with the event ID that you want to get.
const event = CalendarApp.getEventById('abc123456');
// Sets the event's transparency to TRANSPARENT.
event.setTransparency(CalendarApp.EventTransparency.TRANSPARENT);
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `transparency` | `https://developers.google.com/apps-script/reference/calendar/event-transparency` | The transparency value. |

#### Return


`https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` --- This `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` for chaining.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`

*** ** * ** ***

### `setVisibility(visibility)`

Sets the visibility of the event.

#### Parameters

| Name | Type | Description |
|---|---|---|
| `visibility` | `https://developers.google.com/apps-script/reference/calendar/visibility` |   |

#### Return


`https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` --- this `https://developers.google.com/apps-script/reference/calendar/calendar-event-series#` for chaining

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes) or appropriate scopes from the [related REST API](https://developers.google.com/identity/protocols/googlescopes):

- `https://www.googleapis.com/auth/calendar`
- `https://www.google.com/calendar/feeds`