Skip to content

notetakers

Notetakers

Bases: ListableApiResource, FindableApiResource, CreatableApiResource, UpdatablePatchApiResource, DestroyableApiResource

Nylas Notetakers API

The Nylas Notetakers API allows you to invite Notetaker bots to meetings and manage their status. Notetaker states are represented by the NotetakerState enum, and meeting providers by the MeetingProvider enum.

Source code in nylas/resources/notetakers.py
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 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
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
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
205
206
207
208
209
210
211
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 Notetakers(
    ListableApiResource,
    FindableApiResource,
    CreatableApiResource,
    UpdatablePatchApiResource,
    DestroyableApiResource,
):
    """
    Nylas Notetakers API

    The Nylas Notetakers API allows you to invite Notetaker bots to meetings and manage their status.
    Notetaker states are represented by the NotetakerState enum, and meeting providers by the MeetingProvider enum.
    """

    def list(
        self,
        identifier: str = None,
        query_params: Optional[ListNotetakerQueryParams] = None,
        overrides: RequestOverrides = None,
    ) -> ListResponse[Notetaker]:
        """
        Return all Notetakers.

        Args:
            identifier: The identifier of the Grant to act upon. Optional.
            query_params: The query parameters to include in the request.
                You can use NotetakerState enum values for the state parameter:
                e.g., {"state": NotetakerState.SCHEDULED.value}
            overrides: The request overrides to use.

        Returns:
            The list of Notetakers.
        """
        path = (
            "/v3/notetakers"
            if identifier is None
            else f"/v3/grants/{identifier}/notetakers"
        )
        return super().list(
            path=path,
            response_type=Notetaker,
            query_params=query_params,
            overrides=overrides,
        )

    def find(
        self,
        notetaker_id: str,
        identifier: str = None,
        overrides: RequestOverrides = None,
        query_params: FindNotetakerQueryParams = None,
    ) -> Response[Notetaker]:
        """
        Return a Notetaker.

        Args:
            notetaker_id: The ID of the Notetaker to retrieve.
            identifier: The identifier of the Grant to act upon. Optional.
            overrides: The request overrides to use.
            query_params: The query parameters to include in the request.

        Returns:
            The Notetaker with properties like state (NotetakerState) and meeting_provider (MeetingProvider).
        """
        path = (
            f"/v3/notetakers/{notetaker_id}"
            if identifier is None
            else f"/v3/grants/{identifier}/notetakers/{notetaker_id}"
        )
        return super().find(
            path=path,
            response_type=Notetaker,
            query_params=query_params,
            overrides=overrides,
        )

    def invite(
        self,
        request_body: InviteNotetakerRequest,
        identifier: str = None,
        overrides: RequestOverrides = None,
    ) -> Response[Notetaker]:
        """
        Invite a Notetaker to a meeting.

        Args:
            request_body: The values to create the Notetaker with.
            identifier: The identifier of the Grant to act upon. Optional.
            overrides: The request overrides to use.

        Returns:
            The created Notetaker with state set to NotetakerState.SCHEDULED.
        """
        path = (
            "/v3/notetakers"
            if identifier is None
            else f"/v3/grants/{identifier}/notetakers"
        )
        return super().create(
            path=path,
            response_type=Notetaker,
            request_body=request_body,
            overrides=overrides,
        )

    def update(
        self,
        notetaker_id: str,
        request_body: UpdateNotetakerRequest,
        identifier: str = None,
        overrides: RequestOverrides = None,
    ) -> Response[Notetaker]:
        """
        Update a Notetaker.

        Args:
            notetaker_id: The ID of the Notetaker to update.
            request_body: The values to update the Notetaker with.
            identifier: The identifier of the Grant to act upon. Optional.
            overrides: The request overrides to use.

        Returns:
            The updated Notetaker.
        """
        path = (
            f"/v3/notetakers/{notetaker_id}"
            if identifier is None
            else f"/v3/grants/{identifier}/notetakers/{notetaker_id}"
        )
        return super().patch(
            path=path,
            response_type=Notetaker,
            request_body=request_body,
            overrides=overrides,
        )

    def leave(
        self,
        notetaker_id: str,
        identifier: str = None,
        overrides: RequestOverrides = None,
    ) -> Response[NotetakerLeaveResponse]:
        """
        Remove Notetaker from a meeting.

        Args:
            notetaker_id: The ID of the Notetaker to remove from the meeting.
            identifier: The identifier of the Grant to act upon. Optional.
            overrides: The request overrides to use.

        Returns:
            The response with information about the Notetaker that left,
            including the Notetaker ID and a message.
        """
        path = (
            f"/v3/notetakers/{notetaker_id}/leave"
            if identifier is None
            else f"/v3/grants/{identifier}/notetakers/{notetaker_id}/leave"
        )
        return super().create(
            path=path,
            response_type=NotetakerLeaveResponse,
            overrides=overrides,
        )

    def get_media(
        self,
        notetaker_id: str,
        identifier: str = None,
        overrides: RequestOverrides = None,
    ) -> Response[NotetakerMedia]:
        """
        Download Notetaker media.

        Args:
            notetaker_id: The ID of the Notetaker to get media from.
            identifier: The identifier of the Grant to act upon. Optional.
            overrides: The request overrides to use.

        Returns:
            The Notetaker media information including URLs for recordings and transcripts.
        """
        path = (
            f"/v3/notetakers/{notetaker_id}/media"
            if identifier is None
            else f"/v3/grants/{identifier}/notetakers/{notetaker_id}/media"
        )
        return super().find(
            path=path,
            response_type=NotetakerMedia,
            overrides=overrides,
        )

    def cancel(
        self,
        notetaker_id: str,
        identifier: str = None,
        overrides: RequestOverrides = None,
    ) -> DeleteResponse:
        """
        Cancel a scheduled Notetaker.

        Args:
            notetaker_id: The ID of the Notetaker to cancel.
            identifier: The identifier of the Grant to act upon. Optional.
            overrides: The request overrides to use.

        Returns:
            The deletion response.
        """
        path = (
            f"/v3/notetakers/{notetaker_id}/cancel"
            if identifier is None
            else f"/v3/grants/{identifier}/notetakers/{notetaker_id}/cancel"
        )
        return super().destroy(
            path=path,
            overrides=overrides,
        )

cancel(notetaker_id, identifier=None, overrides=None)

Cancel a scheduled Notetaker.

Parameters:

Name Type Description Default
notetaker_id str

The ID of the Notetaker to cancel.

required
identifier str

The identifier of the Grant to act upon. Optional.

None
overrides RequestOverrides

The request overrides to use.

None

Returns:

Type Description
DeleteResponse

The deletion response.

Source code in nylas/resources/notetakers.py
211
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
def cancel(
    self,
    notetaker_id: str,
    identifier: str = None,
    overrides: RequestOverrides = None,
) -> DeleteResponse:
    """
    Cancel a scheduled Notetaker.

    Args:
        notetaker_id: The ID of the Notetaker to cancel.
        identifier: The identifier of the Grant to act upon. Optional.
        overrides: The request overrides to use.

    Returns:
        The deletion response.
    """
    path = (
        f"/v3/notetakers/{notetaker_id}/cancel"
        if identifier is None
        else f"/v3/grants/{identifier}/notetakers/{notetaker_id}/cancel"
    )
    return super().destroy(
        path=path,
        overrides=overrides,
    )

find(notetaker_id, identifier=None, overrides=None, query_params=None)

Return a Notetaker.

Parameters:

Name Type Description Default
notetaker_id str

The ID of the Notetaker to retrieve.

required
identifier str

The identifier of the Grant to act upon. Optional.

None
overrides RequestOverrides

The request overrides to use.

None
query_params FindNotetakerQueryParams

The query parameters to include in the request.

None

Returns:

Type Description
Response[Notetaker]

The Notetaker with properties like state (NotetakerState) and meeting_provider (MeetingProvider).

Source code in nylas/resources/notetakers.py
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
def find(
    self,
    notetaker_id: str,
    identifier: str = None,
    overrides: RequestOverrides = None,
    query_params: FindNotetakerQueryParams = None,
) -> Response[Notetaker]:
    """
    Return a Notetaker.

    Args:
        notetaker_id: The ID of the Notetaker to retrieve.
        identifier: The identifier of the Grant to act upon. Optional.
        overrides: The request overrides to use.
        query_params: The query parameters to include in the request.

    Returns:
        The Notetaker with properties like state (NotetakerState) and meeting_provider (MeetingProvider).
    """
    path = (
        f"/v3/notetakers/{notetaker_id}"
        if identifier is None
        else f"/v3/grants/{identifier}/notetakers/{notetaker_id}"
    )
    return super().find(
        path=path,
        response_type=Notetaker,
        query_params=query_params,
        overrides=overrides,
    )

get_media(notetaker_id, identifier=None, overrides=None)

Download Notetaker media.

Parameters:

Name Type Description Default
notetaker_id str

The ID of the Notetaker to get media from.

required
identifier str

The identifier of the Grant to act upon. Optional.

None
overrides RequestOverrides

The request overrides to use.

None

Returns:

Type Description
Response[NotetakerMedia]

The Notetaker media information including URLs for recordings and transcripts.

Source code in nylas/resources/notetakers.py
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
def get_media(
    self,
    notetaker_id: str,
    identifier: str = None,
    overrides: RequestOverrides = None,
) -> Response[NotetakerMedia]:
    """
    Download Notetaker media.

    Args:
        notetaker_id: The ID of the Notetaker to get media from.
        identifier: The identifier of the Grant to act upon. Optional.
        overrides: The request overrides to use.

    Returns:
        The Notetaker media information including URLs for recordings and transcripts.
    """
    path = (
        f"/v3/notetakers/{notetaker_id}/media"
        if identifier is None
        else f"/v3/grants/{identifier}/notetakers/{notetaker_id}/media"
    )
    return super().find(
        path=path,
        response_type=NotetakerMedia,
        overrides=overrides,
    )

invite(request_body, identifier=None, overrides=None)

Invite a Notetaker to a meeting.

Parameters:

Name Type Description Default
request_body InviteNotetakerRequest

The values to create the Notetaker with.

required
identifier str

The identifier of the Grant to act upon. Optional.

None
overrides RequestOverrides

The request overrides to use.

None

Returns:

Type Description
Response[Notetaker]

The created Notetaker with state set to NotetakerState.SCHEDULED.

Source code in nylas/resources/notetakers.py
 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
def invite(
    self,
    request_body: InviteNotetakerRequest,
    identifier: str = None,
    overrides: RequestOverrides = None,
) -> Response[Notetaker]:
    """
    Invite a Notetaker to a meeting.

    Args:
        request_body: The values to create the Notetaker with.
        identifier: The identifier of the Grant to act upon. Optional.
        overrides: The request overrides to use.

    Returns:
        The created Notetaker with state set to NotetakerState.SCHEDULED.
    """
    path = (
        "/v3/notetakers"
        if identifier is None
        else f"/v3/grants/{identifier}/notetakers"
    )
    return super().create(
        path=path,
        response_type=Notetaker,
        request_body=request_body,
        overrides=overrides,
    )

leave(notetaker_id, identifier=None, overrides=None)

Remove Notetaker from a meeting.

Parameters:

Name Type Description Default
notetaker_id str

The ID of the Notetaker to remove from the meeting.

required
identifier str

The identifier of the Grant to act upon. Optional.

None
overrides RequestOverrides

The request overrides to use.

None

Returns:

Type Description
Response[NotetakerLeaveResponse]

The response with information about the Notetaker that left,

Response[NotetakerLeaveResponse]

including the Notetaker ID and a message.

Source code in nylas/resources/notetakers.py
154
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
def leave(
    self,
    notetaker_id: str,
    identifier: str = None,
    overrides: RequestOverrides = None,
) -> Response[NotetakerLeaveResponse]:
    """
    Remove Notetaker from a meeting.

    Args:
        notetaker_id: The ID of the Notetaker to remove from the meeting.
        identifier: The identifier of the Grant to act upon. Optional.
        overrides: The request overrides to use.

    Returns:
        The response with information about the Notetaker that left,
        including the Notetaker ID and a message.
    """
    path = (
        f"/v3/notetakers/{notetaker_id}/leave"
        if identifier is None
        else f"/v3/grants/{identifier}/notetakers/{notetaker_id}/leave"
    )
    return super().create(
        path=path,
        response_type=NotetakerLeaveResponse,
        overrides=overrides,
    )

list(identifier=None, query_params=None, overrides=None)

Return all Notetakers.

Parameters:

Name Type Description Default
identifier str

The identifier of the Grant to act upon. Optional.

None
query_params Optional[ListNotetakerQueryParams]

The query parameters to include in the request. You can use NotetakerState enum values for the state parameter: e.g., {"state": NotetakerState.SCHEDULED.value}

None
overrides RequestOverrides

The request overrides to use.

None

Returns:

Type Description
ListResponse[Notetaker]

The list of Notetakers.

Source code in nylas/resources/notetakers.py
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
def list(
    self,
    identifier: str = None,
    query_params: Optional[ListNotetakerQueryParams] = None,
    overrides: RequestOverrides = None,
) -> ListResponse[Notetaker]:
    """
    Return all Notetakers.

    Args:
        identifier: The identifier of the Grant to act upon. Optional.
        query_params: The query parameters to include in the request.
            You can use NotetakerState enum values for the state parameter:
            e.g., {"state": NotetakerState.SCHEDULED.value}
        overrides: The request overrides to use.

    Returns:
        The list of Notetakers.
    """
    path = (
        "/v3/notetakers"
        if identifier is None
        else f"/v3/grants/{identifier}/notetakers"
    )
    return super().list(
        path=path,
        response_type=Notetaker,
        query_params=query_params,
        overrides=overrides,
    )

update(notetaker_id, request_body, identifier=None, overrides=None)

Update a Notetaker.

Parameters:

Name Type Description Default
notetaker_id str

The ID of the Notetaker to update.

required
request_body UpdateNotetakerRequest

The values to update the Notetaker with.

required
identifier str

The identifier of the Grant to act upon. Optional.

None
overrides RequestOverrides

The request overrides to use.

None

Returns:

Type Description
Response[Notetaker]

The updated Notetaker.

Source code in nylas/resources/notetakers.py
123
124
125
126
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
def update(
    self,
    notetaker_id: str,
    request_body: UpdateNotetakerRequest,
    identifier: str = None,
    overrides: RequestOverrides = None,
) -> Response[Notetaker]:
    """
    Update a Notetaker.

    Args:
        notetaker_id: The ID of the Notetaker to update.
        request_body: The values to update the Notetaker with.
        identifier: The identifier of the Grant to act upon. Optional.
        overrides: The request overrides to use.

    Returns:
        The updated Notetaker.
    """
    path = (
        f"/v3/notetakers/{notetaker_id}"
        if identifier is None
        else f"/v3/grants/{identifier}/notetakers/{notetaker_id}"
    )
    return super().patch(
        path=path,
        response_type=Notetaker,
        request_body=request_body,
        overrides=overrides,
    )