@microsoft/agents-copilotstudio-client package

Classes

ConnectionSettings

Represents the settings required to establish a connection to Copilot Studio.

CopilotStudioClient

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

CopilotStudioWebChat

A utility class that provides WebChat integration capabilities for Copilot Studio services.

Example

Basic WebChat Integration

import { CopilotStudioClient } from '@microsoft/agents-copilotstudio-client';
import { CopilotStudioWebChat } from '@microsoft/agents-copilotstudio-client';

// Initialize the Copilot Studio client
const client = new CopilotStudioClient({
  botId: 'your-bot-id',
  tenantId: 'your-tenant-id'
});

// Create a WebChat-compatible connection
const directLine = CopilotStudioWebChat.createConnection(client, {
  showTyping: true
});

// Integrate with WebChat
window.WebChat.renderWebChat({
  directLine: directLine,
  // ... other WebChat options
}, document.getElementById('webchat'));

Example

Advanced Usage with Connection Monitoring

const connection = CopilotStudioWebChat.createConnection(client);

// Monitor connection status
connection.connectionStatus$.subscribe(status => {
  switch (status) {
    case 0: console.log('Disconnected'); break;
    case 1: console.log('Connecting...'); break;
    case 2: console.log('Connected and ready'); break;
  }
});

// Listen for incoming activities
connection.activity$.subscribe(activity => {
  console.log('Received activity:', activity);
});
ExecuteTurnRequest

Represents a request to execute a turn in a conversation. This class encapsulates the activity and optional conversation context.

ScopeHelper

Utility class for generating authentication scope URLs for Copilot Studio.

UserAgentHelper

Utility class for generating user agent strings for Copilot Studio client requests.

Interfaces

CopilotStudioConnectionSettings

Represents the settings required to establish a direct connection to the engine.

CopilotStudioWebChatConnection

Represents a connection interface for integrating Copilot Studio with WebChat.

CopilotStudioWebChatSettings

Configuration settings for the Copilot Studio WebChat connection. These settings control the behavior and appearance of the WebChat interface when connected to the Copilot Studio service.

ExecuteTurnResponse

Response returned when executing a turn in an existing conversation.

ResponseBase

Base interface for all Copilot Studio API responses.

StartRequest

Represents a request to start a new conversation with a Copilot Studio agent. This request encapsulates all parameters needed to initiate a conversation.

StartResponse

Response returned when starting a new conversation.

SubscribeEvent

Represents an event received from a subscription to a Copilot Studio conversation.

SubscribeRequest

Represents a request to subscribe to a conversation.

Enums

AgentType

Enum representing the type of agent.

PowerPlatformCloud

Enum representing different Power Platform cloud environments.

Functions

createExecuteTurnResponse(Activity[], string)

Creates an ExecuteTurnResponse from an array of activities.

createStartRequest(boolean, string, string)

Creates a StartRequest with default values.

createStartResponse(Activity[], string)

Creates a StartResponse from an array of activities.

getCopilotStudioConnectionUrl(ConnectionSettings, string)

Generates the connection URL for Copilot Studio.

getCopilotStudioSubscribeUrl(ConnectionSettings, string)

Generates the subscribe URL for Copilot Studio Server-Sent Events (SSE).

getTokenAudience(ConnectionSettings, PowerPlatformCloud, string, string)

Returns the Power Platform API Audience.

loadCopilotStudioConnectionSettingsFromEnv()

Loads the connection settings for Copilot Studio from environment variables.

Function Details

createExecuteTurnResponse(Activity[], string)

Creates an ExecuteTurnResponse from an array of activities.

function createExecuteTurnResponse(activities: Activity[], conversationId: string): ExecuteTurnResponse

Parameters

activities

Activity[]

The activities to include in the response.

conversationId

string

The conversation ID.

Returns

A new ExecuteTurnResponse object.

createStartRequest(boolean, string, string)

Creates a StartRequest with default values.

function createStartRequest(emitStartConversationEvent?: boolean, locale?: string, conversationId?: string): StartRequest

Parameters

emitStartConversationEvent

boolean

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

locale

string

Optional locale for the conversation.

conversationId

string

Optional conversation ID.

Returns

A new StartRequest object.

createStartResponse(Activity[], string)

Creates a StartResponse from an array of activities.

function createStartResponse(activities: Activity[], conversationId: string): StartResponse

Parameters

activities

Activity[]

The activities to include in the response.

conversationId

string

The conversation ID.

Returns

A new StartResponse object.

getCopilotStudioConnectionUrl(ConnectionSettings, string)

Generates the connection URL for Copilot Studio.

function getCopilotStudioConnectionUrl(settings: ConnectionSettings, conversationId?: string): string

Parameters

settings
ConnectionSettings

The connection settings.

conversationId

string

Optional conversation ID.

Returns

string

The connection URL.

getCopilotStudioSubscribeUrl(ConnectionSettings, string)

Generates the subscribe URL for Copilot Studio Server-Sent Events (SSE).

function getCopilotStudioSubscribeUrl(settings: ConnectionSettings, conversationId: string): string

Parameters

settings
ConnectionSettings

The connection settings.

conversationId

string

The conversation ID to subscribe to.

Returns

string

The subscribe URL.

getTokenAudience(ConnectionSettings, PowerPlatformCloud, string, string)

Returns the Power Platform API Audience.

function getTokenAudience(settings?: ConnectionSettings, cloud?: PowerPlatformCloud, cloudBaseAddress?: string, directConnectUrl?: string): string

Parameters

settings
ConnectionSettings

Configuration Settings to use.

cloud
PowerPlatformCloud

Optional Power Platform Cloud Hosting Agent.

cloudBaseAddress

string

Optional Power Platform API endpoint to use if Cloud is configured as "other".

directConnectUrl

string

Optional DirectConnection URL to a given Copilot Studio agent, if provided all other settings are ignored.

Returns

string

The Power Platform Audience.

loadCopilotStudioConnectionSettingsFromEnv()

Loads the connection settings for Copilot Studio from environment variables.

function loadCopilotStudioConnectionSettingsFromEnv(): ConnectionSettings

Returns

The connection settings.