Create a new PartnerUserClient instance.
Configured OAuthClient with access token
Optionalconfig: ClientConfigOptional client configuration (baseURL, timeout, etc.)
ProtectedaddInternalAdd authorization headers, automatically refreshing the token if expired.
Add a participant to a meeting.
The meeting ID to add the participant to
Participant data including email, name, and role
Optionaloptions: RequestOptionsOptional request options
The newly added participant
ProtectedbuildBuild axios config with optional per-request timezone override
Optionaloptions: RequestOptionsOptionalbaseConfig: AxiosRequestConfig<any>Create a new action item.
Action item creation data
Optionaldescription?: stringOptionaldue_date?: stringOptionalpartner_context?: Record<string, unknown>Optionalstatus?: ActionItemStatusOptionaloptions: RequestOptionsOptional request options
The newly created action item
Create a new agenda item for a meeting.
The meeting ID to add the agenda item to
Agenda item creation data
Optionaloptions: RequestOptionsOptional request options
The newly created agenda item
Create a new chat session and submit the first user message.
The agent begins processing immediately. The response includes the session
and the initial user turn as current_turn. Listen for a
session.turn.completed webhook to know when the agent response is ready,
then call getSession to retrieve it.
Requires the chat:write OAuth scope.
Session creation data including the meeting ID and opening message
Optionaloptions: RequestOptionsOptional request options
The newly created session with current_turn populated
Create a new meeting.
Meeting creation data
Optionaloptions: RequestOptionsOptional request options
The newly created meeting
Create a new meeting from a calendar event.
Automatically populates meeting details from the calendar event including title, time, and participants.
The calendar event ID to create a meeting from
Optionaloptions: RequestOptionsOptional request options
The newly created meeting linked to the calendar event
Optionaloptions: RequestOptionsProtecteddeleteMake a DELETE request
Optionaloptions: RequestOptionsDelete an action item.
The unique action item ID to delete
Optionaloptions: RequestOptionsOptional request options
Delete an agenda item.
The meeting ID the agenda item belongs to
The agenda item ID to delete
Optionaloptions: RequestOptionsOptional request options
Delete a context document from a meeting.
This performs a soft-delete — the document's deleted_at timestamp is
set and it will no longer appear in list results or be available for
download.
The meeting ID the document belongs to (UUID format)
The context document ID to delete (UUID format)
Optionaloptions: RequestOptionsOptional request options
Download the raw content of a context document.
Returns the file bytes along with metadata extracted from the response
headers (filename, content type, size). The data field is an
ArrayBuffer that can be written to disk, converted to a Buffer,
or processed in-memory.
The meeting ID the document belongs to (UUID format)
The context document ID to download (UUID format)
Optionaloptions: RequestOptionsOptional request options (e.g., timezone override)
Structured response containing the file bytes and metadata
Ensure the OAuth access token is valid, refreshing if necessary.
Call this before making API requests if you want to proactively refresh expired tokens rather than handling refresh on error.
Execute a next step for a meeting.
Triggers the AI-powered execution of a next step, which may generate content based on the meeting transcript and the step's AI prompt.
The meeting ID
The next step ID to execute
Optionaldata: ExecuteNextStepRequestOptional execution parameters
Optionaloptions: RequestOptionsRequest options
Execution response with result ID for tracking
ProtectedgetMake a GET request
Optionalparams: objectOptionaloptions: RequestOptionsGet a specific action item by ID.
The unique action item ID (UUID format)
Optionaloptions: RequestOptionsOptional request options
The action item with full details
Get a paginated list of action items for the authenticated user.
Optionalparams: ActionItemListParamsOptional pagination and filter parameters
Optionaloptions: RequestOptionsOptional request options (e.g., timezone override)
Paginated action item list with total count
// Get all incomplete action items
const items = await user.getActionItems({ is_completed: false });
// Get action items for a specific meeting
const meetingItems = await user.getActionItems({ meeting_id: 'meeting-uuid' });
// Get action items within a date range
const recent = await user.getActionItems({
start_date: '2026-01-01',
end_date: '2026-01-31',
});
Get all action items by automatically paginating through all pages.
Use this when you need to fetch all action items without manually handling pagination.
For large datasets, consider using getActionItems() with pagination for better control.
Optionalparams: Omit<ActionItemListParams, "limit" | "offset">Optional filter parameters (limit/offset are managed automatically)
Optionaloptions: RequestOptionsOptional request options (e.g., timezone override)
Array of all action items matching the filter criteria
Get all calendar events within a date range by automatically paginating through all pages.
Required date range, optional direction (limit/offset managed automatically)
Optionaloptions: RequestOptionsOptional request options (e.g., timezone override)
Array of all calendar events within the date range
Get all context documents for a meeting by automatically paginating through all pages.
The meeting ID to list context documents for (UUID format)
Optionaloptions: RequestOptionsOptional request options (e.g., timezone override)
Array of all context documents for the meeting
Get all meetings by automatically paginating through all pages.
Optionalparams: Omit<MeetingListParams, "limit" | "offset">Optional filter parameters (limit/offset are managed automatically)
Optionaloptions: RequestOptionsOptional request options
Array of all meetings matching the filter criteria
Get detailed information about a specific calendar event.
The calendar event ID to retrieve
Optionaloptions: RequestOptionsOptional request options
Complete calendar event details
Get calendar events for the authenticated user within a time range.
Requires the user to have connected their calendar via OAuth.
Filter parameters
Optionaldirection?: stringSort direction: asc or desc (default: asc)
Optionalend?: stringEnd time in RFC3339 format
Optionalend_date?: stringEnd date/time in ISO 8601 format (preferred over end)
Optionallimit?: numberNumber of results per page (default 25, max 100)
Optionaloffset?: numberPagination offset (default 0)
Optionalstart?: stringStart time in RFC3339 format
Optionalstart_date?: stringStart date/time in ISO 8601 format (preferred over start)
Optionaloptions: RequestOptionsOptional request options
List of calendar events within the specified range
Get a specific chat session by ID, including its turns.
By default returns only turns not yet seen by the caller (include: 'undelivered').
Pass include: 'all_turns' to retrieve the full conversation history.
Requires the chat:read OAuth scope.
The unique session ID (UUID format)
Optionalparams: GetChatSessionParamsOptional query parameters (include, turn_limit, turn_offset)
Optionaloptions: RequestOptionsOptional request options
The session with its turns
Get a paginated list of chat sessions for the authenticated user.
Requires the chat:read OAuth scope.
Optionalparams: ChatSessionListParamsOptional filter and pagination parameters
Optionaloptions: RequestOptionsOptional request options
Paginated session list with total count
Retrieve a specific turn by ID within a session.
This is useful when a turn_id is received via webhook and the partner
wants to fetch only that turn instead of the full session history.
Requires the chat:read OAuth scope.
The session ID that contains the turn
The turn ID to retrieve
Optionaloptions: RequestOptionsOptional request options
The requested turn with full details
Get a specific meeting by ID.
Automatically follows smart-redirect references (CON-1640) — if the meeting has been merged or moved, the response from the canonical meeting is returned transparently.
The unique meeting ID (UUID format)
Optionaloptions: RequestOptionsOptional request options
The meeting with full details
Get action buttons available for a meeting.
Returns action buttons that can be triggered for the meeting, typically associated with next steps.
The meeting ID
Optionalparams: MeetingActionButtonListParamsOptional pagination parameters
Optionaloptions: RequestOptionsRequest options
Paginated list of action buttons
Get agenda items for a specific meeting.
The meeting ID to get agenda items for
Optionaloptions: RequestOptionsOptional request options
List of agenda items for the meeting
Get a specific context document by ID.
The meeting ID the document belongs to (UUID format)
The context document ID to retrieve (UUID format)
Optionaloptions: RequestOptionsOptional request options (e.g., timezone override)
The context document with full metadata
Get a paginated list of context documents for a meeting.
Returns only documents uploaded by the current partner application — documents created by other partners or by users directly are not visible.
The meeting ID to list context documents for (UUID format)
Optionalparams: MeetingContextListParamsOptional pagination parameters
Pagination parameters for listing meeting context documents.
Optionallimit?: numberMaximum number of documents to return (default: 25, max: 100)
Optionaloffset?: numberNumber of documents to skip for pagination (default: 0)
Optionaloptions: RequestOptionsOptional request options (e.g., timezone override)
Paginated list of context documents with total count
Get next steps for a specific meeting.
Returns the next steps associated with the meeting, including any available action buttons for each next step.
The meeting ID
Optionalparams: MeetingNextStepListParamsOptional pagination parameters
Optionaloptions: RequestOptionsRequest options
Paginated list of next steps
Get participants for a specific meeting.
The meeting ID to get participants for
Optionaloptions: RequestOptionsOptional request options
List of meeting participants with their roles
Get a paginated list of meetings for the authenticated user.
Optionalparams: MeetingListParamsOptional pagination and filter parameters
Optionaloptions: RequestOptionsOptional request options (e.g., timezone override)
Paginated meeting list with total count
Get a specific meeting template.
The unique template ID
Optionaloptions: RequestOptionsRequest options
The meeting template with full details
Get meeting templates available to the user.
Returns templates that the user can use to create meetings, including associated next steps and action buttons.
Optionalparams: UserMeetingTemplateListParamsOptional pagination parameters
Optionaloptions: RequestOptionsRequest options
Paginated list of meeting templates
Get the result of a next step execution.
The result ID from executeNextStep
Optionaloptions: RequestOptionsRequest options
The next step execution result
ProtectedgetMake a GET request that returns the full AxiosResponse, including
headers and raw data.
Use this for endpoints that return binary content (e.g. file downloads)
where the caller needs access to response headers such as
Content-Disposition or Content-Type.
Request path relative to the client's base URL
Optionalparams: objectOptional query parameters
Optionaloptions: RequestOptionsOptional per-request options (e.g. timezone override)
Axios response type (default: 'arraybuffer')
The full axios response
Get a specific toolkit with installation status.
The unique toolkit ID
Optionaloptions: RequestOptionsRequest options
The toolkit with installation status
Get available toolkits with installation status.
Returns toolkits that are active and available to install, along with installation status for the user's workspace.
Optionalparams: ToolkitListParamsOptional pagination parameters
Optionaloptions: RequestOptionsRequest options
Paginated list of toolkits with installation status
Get the authenticated user's profile.
Optionaloptions: RequestOptionsOptional request options
The user's profile including name, email, and preferences
Install a toolkit in the user's workspace.
Creates all toolkit entities (templates, next steps, action buttons) in the user's workspace based on the toolkit manifest.
The unique toolkit ID to install
Optionalparams: InstallToolkitParamsOptionaloptions: RequestOptionsRequest options
The installation record
Link a calendar event to an existing meeting.
The meeting ID to link to
Calendar event linking data
Optionaloptions: RequestOptionsOptional request options
Confirmation of the link with event details
ProtectedpatchMake a PATCH request
Optionaldata: unknownOptionaloptions: RequestOptionsProtectedpostMake a POST request
Optionaldata: unknownOptionaloptions: RequestOptionsProtectedpostMake a POST request with multipart/form-data.
Overrides the default application/json content type so that axios
sets the correct multipart/form-data boundary automatically.
Request path relative to the client's base URL
A FormData instance containing the fields and files to upload
Optionaloptions: RequestOptionsOptional per-request options (e.g. timezone override)
Parsed response body
ProtectedputMake a PUT request
Optionaldata: unknownOptionaloptions: RequestOptionsRemove a participant from a meeting.
The meeting ID to remove the participant from
The participant ID to remove
Optionaloptions: RequestOptionsOptional request options
Enqueue a new user message as the next turn in an existing session.
Returns immediately with the queued turn and its position in the processing
queue. The agent processes all queued turns sequentially — wait for a
session.turn.completed webhook before calling getChatSession.
Requires the chat:write OAuth scope.
The session ID to add a message to
The message to send
Optionaloptions: RequestOptionsOptional request options
The queued turn and its position in the processing queue
Trigger an action button for a meeting.
Executes the action associated with the button, which may send an email, create a document, trigger a webhook, or perform other actions.
The meeting ID
The action button ID to trigger
Optionaldata: TriggerActionButtonRequestOptional trigger parameters
Optionaloptions: RequestOptionsRequest options
Trigger response with result information
Uninstall a toolkit from the user's workspace.
Removes all toolkit-created entities from the user's workspace.
The unique toolkit ID to uninstall
Optionaloptions: RequestOptionsRequest options
Update an existing action item.
The unique action item ID to update
Fields to update (all optional)
Optionaloptions: RequestOptionsOptional request options
The updated action item
Update an existing agenda item.
The meeting ID the agenda item belongs to
The agenda item ID to update
Fields to update
Optionaloptions: RequestOptionsOptional request options
The updated agenda item
Update an existing meeting.
The meeting ID to update
Fields to update (all optional)
Optionaloptions: RequestOptionsOptional request options
The updated meeting
Upload a context document to a meeting.
The file is sent as multipart/form-data. The SDK handles FormData
construction automatically — callers supply a plain request object.
The meeting ID to attach the document to (UUID format)
Upload parameters including the file, source format, and optional metadata
Parameters for uploading a meeting context document.
The file field accepts any Blob-compatible value — in Node.js ≥ 22 this
includes Buffer, File, and Blob instances. The SDK converts the
request into a multipart/form-data upload automatically.
Optionalcontext_type?: stringLogical context type — a free-form partner-defined category.
Document file contents
Source format of the file.
Must match the actual content — the server validates the file against this declaration.
Optionaltitle?: stringHuman-readable document title (defaults to the filename if omitted)
Optionaloptions: RequestOptionsOptional request options (e.g., timezone override)
The newly created context document
import { readFile } from 'node:fs/promises';
const buffer = await readFile('./agenda.md');
const doc = await user.uploadMeetingContextDocument('meeting-id', {
file: new Blob([buffer]),
source_format: 'md',
title: 'Sprint planning agenda',
context_type: 'agenda',
});
console.log(`Uploaded: ${doc.id}`);
Partner User API client for OAuth-authenticated user endpoints.
Provides access to meetings, action items, calendar events, and user profile for the authenticated user. Requires an OAuth access token.
Example