CopilotStudioClient class

Client for interacting with Microsoft Copilot Studio services. Provides functionality to start conversations and send messages to Copilot Studio bots.

Constructors

CopilotStudioClient(ConnectionSettings, string)

Creates an instance of CopilotStudioClient.

Properties

scopeFromSettings

Returns the scope URL needed to connect to Copilot Studio from the connection settings. This is used for authentication token audience configuration.

Methods

askQuestionAsync(string, string)

Sends a question to the Copilot Studio service and retrieves the response activities.

execute(Activity, string)

Executes a turn in an existing conversation by sending an activity.

executeStreaming(Activity, string)

Executes a turn in an existing conversation by sending an activity. This method provides explicit control over the conversation ID.

executeWithResponse(Activity, string)

Executes a turn and returns a typed response.

sendActivity(Activity, string)

Sends an activity to the Copilot Studio service and retrieves the response activities.

sendActivityStreaming(Activity, string)

Sends an activity to the Copilot Studio service and retrieves the response activities.

startConversationAsync(boolean)

Starts a new conversation with the Copilot Studio service.

startConversationAsync(StartRequest)

Starts a new conversation with the Copilot Studio service using a StartRequest.

startConversationStreaming(boolean)

Starts a new conversation with the Copilot Studio service.

startConversationStreaming(StartRequest)

Starts a new conversation with the Copilot Studio service using a StartRequest.

startConversationWithResponse(boolean | StartRequest)

Starts a new conversation and returns a typed response.

subscribeAsync(string, string)

Subscribes to a conversation to receive events via Server-Sent Events (SSE). This method allows resumption from a specific event ID.

Constructor Details

CopilotStudioClient(ConnectionSettings, string)

Creates an instance of CopilotStudioClient.

new CopilotStudioClient(settings: ConnectionSettings, token: string)

Parameters

settings
ConnectionSettings

The connection settings.

token

string

The authentication token.

Property Details

scopeFromSettings

Warning

This API is now deprecated.

Use ScopeHelper.getScopeFromSettings instead.

Returns the scope URL needed to connect to Copilot Studio from the connection settings. This is used for authentication token audience configuration.

static scopeFromSettings: (settings: ConnectionSettings) => string

Property Value

(settings: ConnectionSettings) => string

Method Details

askQuestionAsync(string, string)

Warning

This API is now deprecated.

Use sendActivityStreaming instead.

Sends a question to the Copilot Studio service and retrieves the response activities.

function askQuestionAsync(question: string, conversationId?: string): Promise<Activity[]>

Parameters

question

string

The question to ask.

conversationId

string

The ID of the conversation. Defaults to the current conversation ID.

Returns

Promise<Activity[]>

A promise yielding an array of activities.

execute(Activity, string)

Warning

This API is now deprecated.

Use executeStreaming instead.

Executes a turn in an existing conversation by sending an activity.

function execute(activity: Activity, conversationId: string): Promise<Activity[]>

Parameters

activity
Activity

The activity to send.

conversationId

string

The ID of the conversation. Required.

Returns

Promise<Activity[]>

A promise yielding an array of activities.

executeStreaming(Activity, string)

Executes a turn in an existing conversation by sending an activity. This method provides explicit control over the conversation ID.

function executeStreaming(activity: Activity, conversationId: string): AsyncGenerator<Activity, any, unknown>

Parameters

activity
Activity

The activity to send.

conversationId

string

The ID of the conversation. Required.

Returns

AsyncGenerator<Activity, any, unknown>

An async generator yielding the Agent's Activities.

executeWithResponse(Activity, string)

Executes a turn and returns a typed response.

function executeWithResponse(activity: Activity, conversationId: string): Promise<ExecuteTurnResponse>

Parameters

activity
Activity

The activity to send.

conversationId

string

The conversation ID.

Returns

A promise yielding an ExecuteTurnResponse with activities and metadata.

sendActivity(Activity, string)

Warning

This API is now deprecated.

Use sendActivityStreaming instead.

Sends an activity to the Copilot Studio service and retrieves the response activities.

function sendActivity(activity: Activity, conversationId?: string): Promise<Activity[]>

Parameters

activity
Activity

The activity to send.

conversationId

string

The ID of the conversation. Defaults to the current conversation ID.

Returns

Promise<Activity[]>

A promise yielding an array of activities.

sendActivityStreaming(Activity, string)

Sends an activity to the Copilot Studio service and retrieves the response activities.

function sendActivityStreaming(activity: Activity, conversationId?: string): AsyncGenerator<Activity, any, unknown>

Parameters

activity
Activity

The activity to send.

conversationId

string

The ID of the conversation. Defaults to the current conversation ID.

Returns

AsyncGenerator<Activity, any, unknown>

An async generator yielding the Agent's Activities.

startConversationAsync(boolean)

Warning

This API is now deprecated.

Use startConversationStreaming instead.

Starts a new conversation with the Copilot Studio service.

function startConversationAsync(emitStartConversationEvent?: boolean): Promise<Activity[]>

Parameters

emitStartConversationEvent

boolean

Whether to emit a start conversation event. Defaults to true.

Returns

Promise<Activity[]>

A promise yielding an array of activities.

startConversationAsync(StartRequest)

Warning

This API is now deprecated.

Use startConversationStreaming instead.

Starts a new conversation with the Copilot Studio service using a StartRequest.

function startConversationAsync(request: StartRequest): Promise<Activity[]>

Parameters

request
StartRequest

The request parameters for starting the conversation.

Returns

Promise<Activity[]>

A promise yielding an array of activities.

startConversationStreaming(boolean)

Starts a new conversation with the Copilot Studio service.

function startConversationStreaming(emitStartConversationEvent?: boolean): AsyncGenerator<Activity, any, unknown>

Parameters

emitStartConversationEvent

boolean

Whether to emit a start conversation event. Defaults to true.

Returns

AsyncGenerator<Activity, any, unknown>

An async generator yielding the Agent's Activities.

startConversationStreaming(StartRequest)

Starts a new conversation with the Copilot Studio service using a StartRequest.

function startConversationStreaming(request: StartRequest): AsyncGenerator<Activity, any, unknown>

Parameters

request
StartRequest

The request parameters for starting the conversation.

Returns

AsyncGenerator<Activity, any, unknown>

An async generator yielding the Agent's Activities.

startConversationWithResponse(boolean | StartRequest)

Starts a new conversation and returns a typed response.

function startConversationWithResponse(request?: boolean | StartRequest): Promise<StartResponse>

Parameters

request

boolean | StartRequest

The request parameters for starting the conversation.

Returns

Promise<StartResponse>

A promise yielding a StartResponse with activities and conversation metadata.

subscribeAsync(string, string)

Subscribes to a conversation to receive events via Server-Sent Events (SSE). This method allows resumption from a specific event ID.

function subscribeAsync(conversationId: string, lastReceivedEventId?: string): AsyncGenerator<SubscribeEvent, any, unknown>

Parameters

conversationId

string

The ID of the conversation to subscribe to.

lastReceivedEventId

string

Optional. The last received event ID for resumption.

Returns

AsyncGenerator<SubscribeEvent, any, unknown>

An async generator yielding SubscribeEvent objects containing activities and event IDs.