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
239
240
241
242
243
244
245
246
247
248
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
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
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_from NotRequired[int]

Filter for Notetaker bots that are scheduled to join meetings after the specified time.

join_time_until NotRequired[int]

Filter for Notetaker bots that are scheduled to join meetings until the specified time.

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.

Source code in nylas/models/notetakers.py
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
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_from: Filter for Notetaker bots that are scheduled to join meetings after the specified time.
        join_time_until: Filter for Notetaker bots that are scheduled to join meetings until the specified time.
        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.
    """

    state: NotRequired[NotetakerState]
    join_time_from: NotRequired[int]
    join_time_until: NotRequired[int]

    def __post_init__(self):
        """Convert NotetakerState enum to string value 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

__post_init__()

Convert NotetakerState enum to string value for API requests.

Source code in nylas/models/notetakers.py
231
232
233
234
235
236
def __post_init__(self):
    """Convert NotetakerState enum to string value 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

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
38
39
40
41
42
43
44
45
46
47
48
49
50
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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
@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
174
175
176
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
170
171
172
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
166
167
168
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
154
155
156
157
158
159
160
161
162
163
164
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
251
252
253
254
255
256
257
258
259
260
261
262
263
264
@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
112
113
114
115
116
117
118
119
120
121
122
123
124
@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
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
@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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
@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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
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]

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
197
198
199
200
201
202
203
204
205
206
207
208
209
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]