Skip to content

notetakers

FindNotetakerQueryParams

Bases: TypedDict

Interface representing the query parameters for finding a notetaker.

Attributes:

Name Type Description
select NotRequired[str]

Comma-separated list of fields to return in the response. Use this to limit the fields returned in the response.

Source code in nylas/models/notetakers.py
285
286
287
288
289
290
291
292
293
294
class FindNotetakerQueryParams(TypedDict):
    """
    Interface representing the query parameters for finding a notetaker.

    Attributes:
        select: Comma-separated list of fields to return in the response.
            Use this to limit the fields returned in the response.
    """

    select: NotRequired[str]

InviteNotetakerRequest

Bases: TypedDict

Interface representing the Nylas notetaker creation request.

Attributes:

Name Type Description
meeting_link str

A meeting invitation link that Notetaker uses to join the meeting.

join_time NotRequired[int]

When Notetaker should join the meeting, in Unix timestamp format. If empty, Notetaker joins the meeting immediately.

name NotRequired[str]

The display name for the Notetaker bot.

meeting_settings NotRequired[NotetakerMeetingSettingsRequest]

Notetaker Meeting Settings.

Source code in nylas/models/notetakers.py
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
class InviteNotetakerRequest(TypedDict):
    """
    Interface representing the Nylas notetaker creation request.

    Attributes:
        meeting_link: A meeting invitation link that Notetaker uses to join the meeting.
        join_time: When Notetaker should join the meeting, in Unix timestamp format.
            If empty, Notetaker joins the meeting immediately.
        name: The display name for the Notetaker bot.
        meeting_settings: Notetaker Meeting Settings.
    """

    meeting_link: str
    join_time: NotRequired[int]
    name: NotRequired[str]
    meeting_settings: NotRequired[NotetakerMeetingSettingsRequest]

ListNotetakerQueryParams

Bases: ListQueryParams

Interface representing the query parameters for listing notetakers.

Attributes:

Name Type Description
state NotRequired[NotetakerState]

Filter for Notetaker bots with the specified meeting state. Use the NotetakerState enum. Example: state=NotetakerState.SCHEDULED

join_time_start NotRequired[int]

Filter for Notetaker bots that have join times that start at or after a specific time, in Unix timestamp format.

join_time_end NotRequired[int]

Filter for Notetaker bots that have join times that end at or are before a specific time, in Unix timestamp format.

limit NotRequired[int]

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

page_token NotRequired[int]

An identifier that specifies which page of data to return.

prev_page_token NotRequired[int]

An identifier that specifies which page of data to return.

order_by NotRequired[NotetakerOrderBy]

The field to order the Notetaker bots by. Defaults to created_at. Use the NotetakerOrderBy enum. Example: order_by=NotetakerOrderBy.NAME

order_direction NotRequired[NotetakerOrderDirection]

The direction to order the Notetaker bots by. Defaults to asc. Use the NotetakerOrderDirection enum. Example: order_direction=NotetakerOrderDirection.DESC

Source code in nylas/models/notetakers.py
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
class ListNotetakerQueryParams(ListQueryParams):
    """
    Interface representing the query parameters for listing notetakers.

    Attributes:
        state: Filter for Notetaker bots with the specified meeting state.
            Use the NotetakerState enum.
            Example: state=NotetakerState.SCHEDULED
        join_time_start: Filter for Notetaker bots that have join times that start at or after a specific time,
            in Unix timestamp format.
        join_time_end: Filter for Notetaker bots that have join times that end at or are before a specific time,
            in Unix timestamp format.
        limit: The maximum number of objects to return. This field defaults to 50. The maximum allowed value is 200.
        page_token: An identifier that specifies which page of data to return.
        prev_page_token: An identifier that specifies which page of data to return.
        order_by: The field to order the Notetaker bots by. Defaults to created_at.
            Use the NotetakerOrderBy enum.
            Example: order_by=NotetakerOrderBy.NAME
        order_direction: The direction to order the Notetaker bots by. Defaults to asc.
            Use the NotetakerOrderDirection enum.
            Example: order_direction=NotetakerOrderDirection.DESC
    """

    state: NotRequired[NotetakerState]
    join_time_start: NotRequired[int]
    join_time_end: NotRequired[int]
    order_by: NotRequired[NotetakerOrderBy]
    order_direction: NotRequired[NotetakerOrderDirection]

    def __post_init__(self):
        """Convert enums to string values for API requests."""
        super().__post_init__()
        # Convert state enum to string if present
        if hasattr(self, "state") and isinstance(self.state, NotetakerState):
            self.state = self.state.value
        # Convert order_by enum to string if present
        if hasattr(self, "order_by") and isinstance(self.order_by, NotetakerOrderBy):
            self.order_by = self.order_by.value
        # Convert order_direction enum to string if present
        if hasattr(self, "order_direction") and isinstance(
            self.order_direction, NotetakerOrderDirection
        ):
            self.order_direction = self.order_direction.value

__post_init__()

Convert enums to string values for API requests.

Source code in nylas/models/notetakers.py
269
270
271
272
273
274
275
276
277
278
279
280
281
282
def __post_init__(self):
    """Convert enums to string values for API requests."""
    super().__post_init__()
    # Convert state enum to string if present
    if hasattr(self, "state") and isinstance(self.state, NotetakerState):
        self.state = self.state.value
    # Convert order_by enum to string if present
    if hasattr(self, "order_by") and isinstance(self.order_by, NotetakerOrderBy):
        self.order_by = self.order_by.value
    # Convert order_direction enum to string if present
    if hasattr(self, "order_direction") and isinstance(
        self.order_direction, NotetakerOrderDirection
    ):
        self.order_direction = self.order_direction.value

MeetingProvider

Bases: str, Enum

Enum representing the possible meeting providers for Notetaker.

Values

GOOGLE_MEET: Google Meet meetings ZOOM: Zoom meetings MICROSOFT_TEAMS: Microsoft Teams meetings

Source code in nylas/models/notetakers.py
66
67
68
69
70
71
72
73
74
75
76
77
78
class MeetingProvider(str, Enum):
    """
    Enum representing the possible meeting providers for Notetaker.

    Values:
        GOOGLE_MEET: Google Meet meetings
        ZOOM: Zoom meetings
        MICROSOFT_TEAMS: Microsoft Teams meetings
    """

    GOOGLE_MEET = "Google Meet"
    ZOOM = "Zoom Meeting"
    MICROSOFT_TEAMS = "Microsoft Teams"

Notetaker dataclass

Class representing a Nylas Notetaker.

Attributes:

Name Type Description
id str

The Notetaker ID.

name str

The display name for the Notetaker bot.

join_time int

When Notetaker joined the meeting, in Unix timestamp format.

meeting_link str

The meeting link.

meeting_provider Optional[MeetingProvider]

The meeting provider.

state NotetakerState

The current state of the Notetaker bot.

meeting_settings NotetakerMeetingSettings

Notetaker Meeting Settings.

message Optional[str]

A message describing the API response (only included in some responses).

Source code in nylas/models/notetakers.py
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
@dataclass_json
@dataclass
class Notetaker:
    """
    Class representing a Nylas Notetaker.

    Attributes:
        id: The Notetaker ID.
        name: The display name for the Notetaker bot.
        join_time: When Notetaker joined the meeting, in Unix timestamp format.
        meeting_link: The meeting link.
        meeting_provider: The meeting provider.
        state: The current state of the Notetaker bot.
        meeting_settings: Notetaker Meeting Settings.
        message: A message describing the API response (only included in some responses).
    """

    id: str
    name: str
    join_time: int
    meeting_link: str
    state: NotetakerState
    meeting_settings: NotetakerMeetingSettings
    meeting_provider: Optional[MeetingProvider] = None
    message: Optional[str] = None
    object: str = "notetaker"

    def is_state(self, state: NotetakerState) -> bool:
        """
        Check if the notetaker is in a specific state.

        Args:
            state: The NotetakerState to check against.

        Returns:
            True if the notetaker is in the specified state, False otherwise.
        """
        return self.state == state

    def is_scheduled(self) -> bool:
        """Check if the notetaker is in the scheduled state."""
        return self.is_state(NotetakerState.SCHEDULED)

    def is_attending(self) -> bool:
        """Check if the notetaker is currently attending a meeting."""
        return self.is_state(NotetakerState.ATTENDING)

    def has_media_available(self) -> bool:
        """Check if the notetaker has media available for download."""
        return self.is_state(NotetakerState.MEDIA_AVAILABLE)

has_media_available()

Check if the notetaker has media available for download.

Source code in nylas/models/notetakers.py
202
203
204
def has_media_available(self) -> bool:
    """Check if the notetaker has media available for download."""
    return self.is_state(NotetakerState.MEDIA_AVAILABLE)

is_attending()

Check if the notetaker is currently attending a meeting.

Source code in nylas/models/notetakers.py
198
199
200
def is_attending(self) -> bool:
    """Check if the notetaker is currently attending a meeting."""
    return self.is_state(NotetakerState.ATTENDING)

is_scheduled()

Check if the notetaker is in the scheduled state.

Source code in nylas/models/notetakers.py
194
195
196
def is_scheduled(self) -> bool:
    """Check if the notetaker is in the scheduled state."""
    return self.is_state(NotetakerState.SCHEDULED)

is_state(state)

Check if the notetaker is in a specific state.

Parameters:

Name Type Description Default
state NotetakerState

The NotetakerState to check against.

required

Returns:

Type Description
bool

True if the notetaker is in the specified state, False otherwise.

Source code in nylas/models/notetakers.py
182
183
184
185
186
187
188
189
190
191
192
def is_state(self, state: NotetakerState) -> bool:
    """
    Check if the notetaker is in a specific state.

    Args:
        state: The NotetakerState to check against.

    Returns:
        True if the notetaker is in the specified state, False otherwise.
    """
    return self.state == state

NotetakerLeaveResponse dataclass

Class representing a Notetaker leave response.

Attributes:

Name Type Description
id str

The Notetaker ID.

message str

A message describing the API response.

Source code in nylas/models/notetakers.py
297
298
299
300
301
302
303
304
305
306
307
308
309
310
@dataclass_json
@dataclass
class NotetakerLeaveResponse:
    """
    Class representing a Notetaker leave response.

    Attributes:
        id: The Notetaker ID.
        message: A message describing the API response.
    """

    id: str
    message: str
    object: str = "notetaker_leave_response"

NotetakerMedia dataclass

Class representing Notetaker media.

Attributes:

Name Type Description
recording Optional[NotetakerMediaRecording]

The meeting recording (video/mp4).

transcript Optional[NotetakerMediaRecording]

The meeting transcript (application/json).

Source code in nylas/models/notetakers.py
140
141
142
143
144
145
146
147
148
149
150
151
152
@dataclass_json
@dataclass
class NotetakerMedia:
    """
    Class representing Notetaker media.

    Attributes:
        recording: The meeting recording (video/mp4).
        transcript: The meeting transcript (application/json).
    """

    recording: Optional[NotetakerMediaRecording] = None
    transcript: Optional[NotetakerMediaRecording] = None

NotetakerMediaRecording dataclass

Class representing a Notetaker media recording.

Attributes:

Name Type Description
size int

The size of the file in bytes.

name str

The name of the file.

type str

The MIME type of the file.

created_at int

Unix timestamp when the file was uploaded to the storage server.

expires_at int

Unix timestamp when the file will be deleted.

url str

A link to download the file.

ttl int

Time-to-live in seconds until the file will be deleted off Nylas' storage server.

Source code in nylas/models/notetakers.py
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
@dataclass_json
@dataclass
class NotetakerMediaRecording:
    """
    Class representing a Notetaker media recording.

    Attributes:
        size: The size of the file in bytes.
        name: The name of the file.
        type: The MIME type of the file.
        created_at: Unix timestamp when the file was uploaded to the storage server.
        expires_at: Unix timestamp when the file will be deleted.
        url: A link to download the file.
        ttl: Time-to-live in seconds until the file will be deleted off Nylas' storage server.
    """

    size: int
    name: str
    type: str
    created_at: int
    expires_at: int
    url: str
    ttl: int

NotetakerMeetingSettings dataclass

Class representing Notetaker meeting settings.

Attributes:

Name Type Description
video_recording bool

When true, Notetaker records the meeting's video.

audio_recording bool

When true, Notetaker records the meeting's audio.

transcription bool

When true, Notetaker transcribes the meeting's audio. If transcription is true, audio_recording must also be true.

Source code in nylas/models/notetakers.py
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
@dataclass_json
@dataclass
class NotetakerMeetingSettings:
    """
    Class representing 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.
            If transcription is true, audio_recording must also be true.
    """

    video_recording: bool = True
    audio_recording: bool = True
    transcription: bool = True

NotetakerMeetingSettingsRequest

Bases: TypedDict

Interface representing Notetaker meeting settings for request objects.

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. If transcription is true, audio_recording must also be true.

Source code in nylas/models/notetakers.py
81
82
83
84
85
86
87
88
89
90
91
92
93
94
class NotetakerMeetingSettingsRequest(TypedDict):
    """
    Interface representing Notetaker meeting settings for request objects.

    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.
            If transcription is true, audio_recording must also be true.
    """

    video_recording: Optional[bool]
    audio_recording: Optional[bool]
    transcription: Optional[bool]

NotetakerOrderBy

Bases: str, Enum

Enum representing the possible fields to order Notetaker bots by.

Values

NAME: Order by the Notetaker's name. JOIN_TIME: Order by the Notetaker's join time. CREATED_AT: Order by when the Notetaker was created.

Source code in nylas/models/notetakers.py
38
39
40
41
42
43
44
45
46
47
48
49
50
class NotetakerOrderBy(str, Enum):
    """
    Enum representing the possible fields to order Notetaker bots by.

    Values:
        NAME: Order by the Notetaker's name.
        JOIN_TIME: Order by the Notetaker's join time.
        CREATED_AT: Order by when the Notetaker was created.
    """

    NAME = "name"
    JOIN_TIME = "join_time"
    CREATED_AT = "created_at"

NotetakerOrderDirection

Bases: str, Enum

Enum representing the possible directions to order Notetaker bots by.

Values

ASC: Ascending order. DESC: Descending order.

Source code in nylas/models/notetakers.py
53
54
55
56
57
58
59
60
61
62
63
class NotetakerOrderDirection(str, Enum):
    """
    Enum representing the possible directions to order Notetaker bots by.

    Values:
        ASC: Ascending order.
        DESC: Descending order.
    """

    ASC = "asc"
    DESC = "desc"

NotetakerState

Bases: str, Enum

Enum representing the possible states of a Notetaker bot.

Values

SCHEDULED: The Notetaker is scheduled to join a meeting. CONNECTING: The Notetaker is connecting to the meeting. WAITING_FOR_ENTRY: The Notetaker is waiting to be admitted to the meeting. FAILED_ENTRY: The Notetaker failed to join the meeting. ATTENDING: The Notetaker is currently in the meeting. MEDIA_PROCESSING: The Notetaker is processing media from the meeting. MEDIA_AVAILABLE: The Notetaker has processed media available for download. MEDIA_ERROR: An error occurred while processing the media. MEDIA_DELETED: The meeting media has been deleted.

Source code in nylas/models/notetakers.py
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
class NotetakerState(str, Enum):
    """
    Enum representing the possible states of a Notetaker bot.

    Values:
        SCHEDULED: The Notetaker is scheduled to join a meeting.
        CONNECTING: The Notetaker is connecting to the meeting.
        WAITING_FOR_ENTRY: The Notetaker is waiting to be admitted to the meeting.
        FAILED_ENTRY: The Notetaker failed to join the meeting.
        ATTENDING: The Notetaker is currently in the meeting.
        MEDIA_PROCESSING: The Notetaker is processing media from the meeting.
        MEDIA_AVAILABLE: The Notetaker has processed media available for download.
        MEDIA_ERROR: An error occurred while processing the media.
        MEDIA_DELETED: The meeting media has been deleted.
    """

    SCHEDULED = "scheduled"
    CONNECTING = "connecting"
    WAITING_FOR_ENTRY = "waiting_for_entry"
    FAILED_ENTRY = "failed_entry"
    ATTENDING = "attending"
    MEDIA_PROCESSING = "media_processing"
    MEDIA_AVAILABLE = "media_available"
    MEDIA_ERROR = "media_error"
    MEDIA_DELETED = "media_deleted"

UpdateNotetakerRequest

Bases: TypedDict

Interface representing the Nylas notetaker update request.

Attributes:

Name Type Description
join_time NotRequired[int]

When Notetaker should join the meeting, in Unix timestamp format.

name NotRequired[str]

The display name for the Notetaker bot.

meeting_settings NotRequired[NotetakerMeetingSettingsRequest]

Notetaker Meeting Settings.

Source code in nylas/models/notetakers.py
225
226
227
228
229
230
231
232
233
234
235
236
237
class UpdateNotetakerRequest(TypedDict):
    """
    Interface representing the Nylas notetaker update request.

    Attributes:
        join_time: When Notetaker should join the meeting, in Unix timestamp format.
        name: The display name for the Notetaker bot.
        meeting_settings: Notetaker Meeting Settings.
    """

    join_time: NotRequired[int]
    name: NotRequired[str]
    meeting_settings: NotRequired[NotetakerMeetingSettingsRequest]