You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: specs/activity/protocol-activity.md
+33-4Lines changed: 33 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -508,7 +508,7 @@ Conversation update activities are identified by a `type` value of `conversation
508
508
509
509
`A4101`: Each `channelAccount` (identified by `id` field) SHOULD appear at most once within the `membersAdded` and `membersRemoved` fields. An ID SHOULD NOT appear in both fields. An ID SHOULD NOT be duplicated within either field.
510
510
511
-
`A4102`: Channels SHOULD NOT use conversation update activities to indicate changes to a channel account's fields (e.g., `name`) if the channel account was not added to or removed from the conversation.
511
+
`A4102`: Channels SHOULD NOT use conversation update activities to indicate changes to a [Channel account's](#channel-account) fields (e.g., `name`) if the [Channel account](#channel-account) was not added to or removed from the conversation.
512
512
513
513
`A4103`: Channels SHOULD NOT send the `topicName` or `historyDisclosed` fields if the activity is not signaling a change in value for either field.
514
514
@@ -1196,12 +1196,14 @@ A `call` action represents a telephone number that may be called. Call uses the
1196
1196
1197
1197
### Channel account
1198
1198
1199
-
Channel accounts represent identities within a channel. The channel account includes an ID that can be used to identify and contact the account within that channel. Sometimes these IDs exist within a single namespace (e.g. Skype IDs); sometimes, they are federated across many servers (e.g. email addresses). In addition to the ID, channel accounts include display names and Azure Active Directory (AAD) object IDs.
1199
+
Channel accounts represent identities within a channel. The channel account includes an ID that can be used to identify and contact the account within that channel. Sometimes these IDs exist within a single namespace sometimes, they are federated across many servers (e.g. email addresses). In addition to the ID, channel accounts include display names and Azure Active Directory (AAD) object IDs.
1200
1200
1201
1201
#### Channel account ID
1202
1202
1203
1203
The `id` field is the identifier and address within the channel. The value of the `id` field is a string. An example `id` within a channel that uses email addresses is "name@example.com"
1204
1204
1205
+
In the case where role is of type `agenticUser` or `agenticInstance` this id will be the UPN of the Agentic User.
1206
+
1205
1207
`A7510`: Channels SHOULD use the same values and conventions for account IDs regardless of their position within the schema (`from.id`, `recipient.id`, `membersAdded`, etc.). This allows Agents and clients to use ordinal string comparisons to know when e.g. they are described in the `membersAdded` field of a `conversationUpdate` activity.
1206
1208
1207
1209
#### Channel account name
@@ -1212,11 +1214,35 @@ The `name` field is an optional, friendly name within the channel. The value of
1212
1214
1213
1215
The `aadObjectId` field is an optional ID corresponding to the account's object ID within Azure Active Directory (AAD). The value of the `aadObjectId` field is a string.
1214
1216
1217
+
#### Channel account Agentic App ID
1218
+
1219
+
The `agenticAppId` field is an optional ID corresponding to the account's Agentic Instance Client\App ID within Entra ID. The value of the `agenticAppId` field is a string representation of a GUID.
1220
+
1221
+
This field is REQUIRED if the role is set to `agenticuser` or `agenticinstance`.
1222
+
1223
+
#### Channel account Agentic User ID
1224
+
1225
+
The `agenticUserId` field is an optional ID corresponding to the account's Agentic object ID within Entra ID. The value of the `agenticUserId` field is a string representation of a GUID.
1226
+
1227
+
This field is REQUIRED if the role is set to `agenticuser` or `agenticinstance`.
1228
+
1215
1229
#### Channel account role
1216
1230
1217
-
The `role` field indicates whether entity behind the account is a user or Agent. This field is intended for use in the [Transcript format](../transcript/transcript.md)[[15](#references)] to distinguish between activities sent by users and activities sent by Agents. The value of the `role` field is a string.
1231
+
The `role` field indicates the treatment of the Channel Account. The value of the `role` field is a string.
1232
+
1233
+
Known roles are:
1234
+
1235
+
Role | Description
1236
+
:-----|:-------------
1237
+
**agent** | indicates that this channel account is describing the agent identity in the channel. Legacy agents may see this as `bot`
1238
+
**agenticInstance** | indicates that this channel account is describing an Agentic Instance in the channel.
1239
+
**agenticUser** | indicates that this channel account is describing an Agentic User in this channel.
1240
+
**connectoruser** | indicates that this channel account is describing a connector user from Microsoft Copilot Studio
1241
+
**user** | indicates that this channel account is describing a end user account.
1242
+
1243
+
1244
+
This field is intended for use in the [Transcript format](../transcript/transcript.md)[[15](#references)] to distinguish between activities sent by users and activities sent by Agents.
1218
1245
1219
-
`A7511`: Senders SHOULD NOT include this field. Receivers SHOULD ignore this field.
1220
1246
1221
1247
### Conversation account
1222
1248
@@ -1568,6 +1594,9 @@ The `error` field contains the reason the original [command activity](#command-a
1568
1594
1569
1595
# Appendix I - Changes
1570
1596
1597
+
# 2025-09-30 - mattb-msft
1598
+
* Updated Channel Account definition to reflect current rules and usages.
1599
+
1571
1600
# 2025-05-21 - guhiriya@microsoft.com
1572
1601
* Added `streaminfo` entity for streaming text via `typing` and `message` activities
1573
1602
* Defined `streamType`, `streamSequence`, and optional `streamResult`
0 commit comments