Skip to content

calendars

Calendar dataclass

Class representation of a Nylas Calendar object.

Attributes:

Name Type Description
id str

Globally unique object identifier.

grant_id str

Grant ID representing the user's account.

name str

Name of the Calendar.

timezone Optional[str]

IANA time zone database-formatted string (for example, "America/New_York"). This value is only supported for Google and Virtual Calendars.

read_only bool

If the event participants are able to edit the Event.

is_owned_by_user bool

If the Calendar is owned by the user account.

object str

The type of object.

description Optional[str]

Description of the Calendar.

location Optional[str]

Geographic location of the Calendar as free-form text.

hex_color Optional[str]

The background color of the calendar in the hexadecimal format (for example, "#0099EE"). If not defined, the default color is used.

hex_foreground_color Optional[str]

The background color of the calendar in the hexadecimal format (for example, "#0099EE"). If not defined, the default color is used (Google only).

is_primary Optional[bool]

If the Calendar is the account's primary calendar.

metadata Optional[Dict[str, Any]]

A list of key-value pairs storing additional data.

notetaker Optional[CalendarNotetaker]

Notetaker meeting bot settings for the calendar.

Source code in nylas/models/calendars.py
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
@dataclass_json
@dataclass
class Calendar:
    """
    Class representation of a Nylas Calendar object.

    Attributes:
        id: Globally unique object identifier.
        grant_id: Grant ID representing the user's account.
        name: Name of the Calendar.
        timezone: IANA time zone database-formatted string (for example, "America/New_York").
            This value is only supported for Google and Virtual Calendars.
        read_only: If the event participants are able to edit the Event.
        is_owned_by_user: If the Calendar is owned by the user account.
        object: The type of object.
        description: Description of the Calendar.
        location: Geographic location of the Calendar as free-form text.
        hex_color: The background color of the calendar in the hexadecimal format (for example, "#0099EE").
            If not defined, the default color is used.
        hex_foreground_color: The background color of the calendar in the hexadecimal format (for example, "#0099EE").
            If not defined, the default color is used (Google only).
        is_primary: If the Calendar is the account's primary calendar.
        metadata: A list of key-value pairs storing additional data.
        notetaker: Notetaker meeting bot settings for the calendar.
    """

    id: str
    grant_id: str
    name: str
    read_only: bool
    is_owned_by_user: bool
    object: str = "calendar"
    timezone: Optional[str] = None
    description: Optional[str] = None
    location: Optional[str] = None
    hex_color: Optional[str] = None
    hex_foreground_color: Optional[str] = None
    is_primary: Optional[bool] = None
    metadata: Optional[Dict[str, Any]] = None
    notetaker: Optional[CalendarNotetaker] = None

CalendarNotetaker dataclass

Class representation of Notetaker settings for a calendar.

Attributes:

Name Type Description
name Optional[str]

The display name for the Notetaker bot.

meeting_settings Optional[NotetakerMeetingSettings]

Notetaker Meeting Settings.

rules Optional[NotetakerRules]

Rules for when the Notetaker should join a meeting.

Source code in nylas/models/calendars.py
73
74
75
76
77
78
79
80
81
82
83
84
85
86
@dataclass_json
@dataclass
class CalendarNotetaker:
    """
    Class representation of Notetaker settings for a calendar.

    Attributes:
        name: The display name for the Notetaker bot.
        meeting_settings: Notetaker Meeting Settings.
        rules: Rules for when the Notetaker should join a meeting.
    """
    name: Optional[str] = "Nylas Notetaker"
    meeting_settings: Optional[NotetakerMeetingSettings] = None
    rules: Optional[NotetakerRules] = None

CreateCalendarRequest

Bases: TypedDict

Interface of a Nylas create calendar request

Attributes:

Name Type Description
name str

Name of the Calendar.

description NotRequired[str]

Description of the calendar.

location NotRequired[str]

Geographic location of the calendar as free-form text.

timezone NotRequired[str]

IANA time zone database formatted string (e.g. America/New_York).

metadata NotRequired[Dict[str, str]]

A list of key-value pairs storing additional data.

notetaker NotRequired[NotetakerCalendarRequest]

Notetaker meeting bot settings.

Source code in nylas/models/calendars.py
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
class CreateCalendarRequest(TypedDict):
    """
    Interface of a Nylas create calendar request

    Attributes:
        name: Name of the Calendar.
        description: Description of the calendar.
        location: Geographic location of the calendar as free-form text.
        timezone: IANA time zone database formatted string (e.g. America/New_York).
        metadata: A list of key-value pairs storing additional data.
        notetaker: Notetaker meeting bot settings.
    """

    name: str
    description: NotRequired[str]
    location: NotRequired[str]
    timezone: NotRequired[str]
    metadata: NotRequired[Dict[str, str]]
    notetaker: NotRequired[NotetakerCalendarRequest]

EventSelection

Bases: str, Enum

Enum representing the different types of events to include for notetaking.

Values

INTERNAL: Events where the host domain matches all participants' domain names EXTERNAL: Events where the host domain differs from any participant's domain name OWN_EVENTS: Events where the host is the same as the user's grant PARTICIPANT_ONLY: Events where the user's grant is a participant but not the host ALL: When all options are included, all events with meeting links will have Notetakers

Source code in nylas/models/calendars.py
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class EventSelection(str, Enum):
    """
    Enum representing the different types of events to include for notetaking.

    Values:
        INTERNAL: Events where the host domain matches all participants' domain names
        EXTERNAL: Events where the host domain differs from any participant's domain name
        OWN_EVENTS: Events where the host is the same as the user's grant
        PARTICIPANT_ONLY: Events where the user's grant is a participant but not the host
        ALL: When all options are included, all events with meeting links will have Notetakers
    """
    INTERNAL = "internal"
    EXTERNAL = "external"
    OWN_EVENTS = "own_events"
    PARTICIPANT_ONLY = "participant_only"
    ALL = "all"

FindCalendarQueryParams

Bases: TypedDict

Interface of the query parameters for finding a calendar.

Attributes:

Name Type Description
select NotRequired[str]

Comma-separated list of fields to return in the response. This allows you to receive only the portion of object data that you're interested in.

Source code in nylas/models/calendars.py
148
149
150
151
152
153
154
155
156
157
class FindCalendarQueryParams(TypedDict):
    """
    Interface of the query parameters for finding a calendar.

    Attributes:
        select: Comma-separated list of fields to return in the response.
            This allows you to receive only the portion of object data that you're interested in.
    """

    select: NotRequired[str]

ListCalendarsQueryParams

Bases: ListQueryParams

Interface of the query parameters for listing calendars.

Attributes:

Name Type Description
limit NotRequired[int]

The maximum number of objects to return. This field defaults to 50. The maximum allowed value is 200.

page_token NotRequired[str]

An identifier that specifies which page of data to return. This value should be taken from a ListResponse object's next_cursor parameter.

metadata_pair NotRequired[Dict[str, str]]

Pass in your metadata key-value pair to search for metadata.

select NotRequired[str]

Comma-separated list of fields to return in the response. This allows you to receive only the portion of object data that you're interested in.

Source code in nylas/models/calendars.py
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
class ListCalendarsQueryParams(ListQueryParams):
    """
    Interface of the query parameters for listing calendars.

    Attributes:
        limit (NotRequired[int]): The maximum number of objects to return.
            This field defaults to 50. The maximum allowed value is 200.
        page_token (NotRequired[str]): An identifier that specifies which page of data to return.
            This value should be taken from a ListResponse object's next_cursor parameter.
        metadata_pair: Pass in your metadata key-value pair to search for metadata.
        select (NotRequired[str]): Comma-separated list of fields to return in the response.
            This allows you to receive only the portion of object data that you're interested in.
    """

    metadata_pair: NotRequired[Dict[str, str]]

NotetakerCalendarParticipantFilter

Bases: TypedDict

Interface for Notetaker participant filter settings.

Attributes:

Name Type Description
participants_gte NotRequired[int]

Only have meeting bot join meetings with greater than or equal to this number of participants.

participants_lte NotRequired[int]

Only have meeting bot join meetings with less than or equal to this number of participants.

Source code in nylas/models/calendars.py
174
175
176
177
178
179
180
181
182
183
class NotetakerCalendarParticipantFilter(TypedDict):
    """
    Interface for Notetaker participant filter settings.

    Attributes:
        participants_gte: Only have meeting bot join meetings with greater than or equal to this number of participants.
        participants_lte: Only have meeting bot join meetings with less than or equal to this number of participants.
    """
    participants_gte: NotRequired[int]
    participants_lte: NotRequired[int]

NotetakerCalendarRequest

Bases: TypedDict

Interface for Notetaker settings in a calendar request.

Attributes:

Name Type Description
name NotRequired[str]

The display name for the Notetaker bot.

meeting_settings NotRequired[NotetakerCalendarSettings]

Notetaker Meeting Settings.

rules NotRequired[NotetakerCalendarRules]

Rules for when the Notetaker should join a meeting.

Source code in nylas/models/calendars.py
198
199
200
201
202
203
204
205
206
207
208
209
class NotetakerCalendarRequest(TypedDict):
    """
    Interface for Notetaker settings in a calendar request.

    Attributes:
        name: The display name for the Notetaker bot.
        meeting_settings: Notetaker Meeting Settings.
        rules: Rules for when the Notetaker should join a meeting.
    """
    name: NotRequired[str]
    meeting_settings: NotRequired[NotetakerCalendarSettings]
    rules: NotRequired[NotetakerCalendarRules]

NotetakerCalendarRules

Bases: TypedDict

Interface for Notetaker rules for joining meetings.

Attributes:

Name Type Description
event_selection NotRequired[List[EventSelection]]

Types of events to include for notetaking.

participant_filter NotRequired[NotetakerCalendarParticipantFilter]

Filters to apply based on the number of participants.

Source code in nylas/models/calendars.py
186
187
188
189
190
191
192
193
194
195
class NotetakerCalendarRules(TypedDict):
    """
    Interface for Notetaker rules for joining meetings.

    Attributes:
        event_selection: Types of events to include for notetaking.
        participant_filter: Filters to apply based on the number of participants.
    """
    event_selection: NotRequired[List[EventSelection]]
    participant_filter: NotRequired[NotetakerCalendarParticipantFilter]

NotetakerCalendarSettings

Bases: TypedDict

Interface for Notetaker meeting settings for a calendar.

Attributes:

Name Type Description
video_recording NotRequired[bool]

When true, Notetaker records the meeting's video.

audio_recording NotRequired[bool]

When true, Notetaker records the meeting's audio.

transcription NotRequired[bool]

When true, Notetaker transcribes the meeting's audio.

Source code in nylas/models/calendars.py
160
161
162
163
164
165
166
167
168
169
170
171
class NotetakerCalendarSettings(TypedDict):
    """
    Interface for Notetaker meeting settings for a calendar.

    Attributes:
        video_recording: When true, Notetaker records the meeting's video.
        audio_recording: When true, Notetaker records the meeting's audio.
        transcription: When true, Notetaker transcribes the meeting's audio.
    """
    video_recording: NotRequired[bool]
    audio_recording: NotRequired[bool]
    transcription: NotRequired[bool]

NotetakerMeetingSettings dataclass

Class representation of Notetaker meeting settings.

Attributes:

Name Type Description
video_recording Optional[bool]

When true, Notetaker records the meeting's video.

audio_recording Optional[bool]

When true, Notetaker records the meeting's audio.

transcription Optional[bool]

When true, Notetaker transcribes the meeting's audio.

Source code in nylas/models/calendars.py
57
58
59
60
61
62
63
64
65
66
67
68
69
70
@dataclass_json
@dataclass
class NotetakerMeetingSettings:
    """
    Class representation of Notetaker meeting settings.

    Attributes:
        video_recording: When true, Notetaker records the meeting's video.
        audio_recording: When true, Notetaker records the meeting's audio.
        transcription: When true, Notetaker transcribes the meeting's audio.
    """
    video_recording: Optional[bool] = True
    audio_recording: Optional[bool] = True
    transcription: Optional[bool] = True

NotetakerParticipantFilter dataclass

Class representation of Notetaker participant filter settings.

Attributes:

Name Type Description
participants_gte Optional[int]

Only have meeting bot join meetings with greater than or equal to this number of participants.

participants_lte Optional[int]

Only have meeting bot join meetings with less than or equal to this number of participants.

Source code in nylas/models/calendars.py
29
30
31
32
33
34
35
36
37
38
39
40
@dataclass_json
@dataclass
class NotetakerParticipantFilter:
    """
    Class representation of Notetaker participant filter settings.

    Attributes:
        participants_gte: Only have meeting bot join meetings with greater than or equal to this number of participants.
        participants_lte: Only have meeting bot join meetings with less than or equal to this number of participants.
    """
    participants_gte: Optional[int] = None
    participants_lte: Optional[int] = None

NotetakerRules dataclass

Class representation of Notetaker rules for joining meetings.

Attributes:

Name Type Description
event_selection Optional[List[EventSelection]]

Types of events to include for notetaking.

participant_filter Optional[NotetakerParticipantFilter]

Filters to apply based on the number of participants.

Source code in nylas/models/calendars.py
43
44
45
46
47
48
49
50
51
52
53
54
@dataclass_json
@dataclass
class NotetakerRules:
    """
    Class representation of Notetaker rules for joining meetings.

    Attributes:
        event_selection: Types of events to include for notetaking.
        participant_filter: Filters to apply based on the number of participants.
    """
    event_selection: Optional[List[EventSelection]] = None
    participant_filter: Optional[NotetakerParticipantFilter] = None

UpdateCalendarRequest

Bases: CreateCalendarRequest

Interface of a Nylas update calendar request

Attributes:

Name Type Description
hexColor NotRequired[str]

The background color of the calendar in the hexadecimal format (e.g. #0099EE). Empty indicates default color.

hexForegroundColor NotRequired[str]

The background color of the calendar in the hexadecimal format (e.g. #0099EE). Empty indicates default color. (Google only)

notetaker NotRequired[NotetakerCalendarRequest]

Notetaker meeting bot settings.

Source code in nylas/models/calendars.py
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
class UpdateCalendarRequest(CreateCalendarRequest):
    """
    Interface of a Nylas update calendar request

    Attributes:
        hexColor: The background color of the calendar in the hexadecimal format (e.g. #0099EE).
            Empty indicates default color.
        hexForegroundColor: The background color of the calendar in the hexadecimal format (e.g. #0099EE).
            Empty indicates default color. (Google only)
        notetaker: Notetaker meeting bot settings.
    """

    hexColor: NotRequired[str]
    hexForegroundColor: NotRequired[str]
    notetaker: NotRequired[NotetakerCalendarRequest]