TeamsActivity.Send
Allows the app to create new notifications in users' teamwork activity feeds without a signed in user. These notifications may not be discoverable or be held or governed by compliance policies.
Permission Details
Send a teamwork activity to any user
Allows the app to create new notifications in users' teamwork activity feeds without a signed in user. These notifications may not be discoverable or be held or governed by compliance policies.
a267235f-af13-44dc-8385-c1dc93023186
Send a teamwork activity as the user
Allows the app to create new notifications in users' teamwork activity feeds on behalf of the signed in user. These notifications may not be discoverable or be held or governed by compliance policies.
7ab1d787-bae7-4d5d-8db6-37ea32df9186
Properties
Properties is shown from stable Microsoft Graph v1.0 metadata.
| Property | Type | Description |
|---|---|---|
chatType |
chatType |
Specifies the type of chat. The possible values are: group, oneOnOne, meeting, unknownFutureValue. |
createdDateTime |
dateTimeOffsetNullable |
Date and time at which the chat was created. Read-only. |
id |
String |
The chat's unique identifier. Read-only. |
isHiddenForAllMembers |
BooleanNullable |
Indicates whether the chat is hidden for all its members. Read-only. |
lastUpdatedDateTime |
dateTimeOffsetNullable |
Date and time at which the chat was renamed or the list of members was last changed. Read-only. |
onlineMeetingInfo |
teamworkOnlineMeetingInfo |
Represents details about an online meeting. If the chat isn't associated with an online meeting, the property is empty. Read-only. |
tenantId |
StringNullable |
The identifier of the tenant in which the chat was created. Read-only. |
topic |
StringNullable |
(Optional) Subject or topic for the chat. Only available for group chats. |
viewpoint |
chatViewpoint |
Represents caller-specific information about the chat, such as the last message read date and time. This property is populated only when the request is made in a delegated context. |
webUrl |
StringNullable |
The URL for the chat in Microsoft Teams. The URL should be treated as an opaque blob, and not parsed. Read-only. |
installedApps |
teamsAppInstallation collection |
A collection of all the apps in the chat. Nullable. |
lastMessagePreview |
object |
Preview of the last message sent in the chat. Null if no messages were sent in the chat. Currently, only the list chats operation supports this property. |
members |
conversationMember collection |
A collection of all the members in the chat. Nullable. |
messages |
chatMessage collection |
A collection of all the messages in the chat. Nullable. |
permissionGrants |
resourceSpecificPermissionGrant collection |
A collection of permissions granted to apps for the chat. |
Showing 15 of 17 properties.
JSON Representation
JSON representation is shown from stable Microsoft Graph v1.0 metadata.
{
"createdDateTime": "dateTimeOffset",
"chatType": "string",
"id": "string (identifier)",
"isHiddenForAllMembers": "Boolean",
"lastUpdatedDateTime": "dateTimeOffset",
"onlineMeetingInfo": {
"@odata.type": "microsoft.graph.teamworkOnlineMeetingInfo"
},
"tenantId": "string",
"topic": "string",
"viewpoint": {
"@odata.type": "microsoft.graph.chatViewpoint"
},
"webUrl": "string",
}
Relationships
Relationships is shown from stable Microsoft Graph v1.0 metadata.
| Relationship | Type | Description |
|---|---|---|
installedApps |
teamsAppInstallation collection |
A collection of all the apps in the chat. Nullable. |
lastMessagePreview |
chatMessageInfo |
Preview of the last message sent in the chat. Null if no messages were sent in the chat. Currently, only the list chats operation supports this property. |
members |
conversationMember collection |
A collection of all the members in the chat. Nullable. |
messages |
chatMessage collection |
A collection of all the messages in the chat. Nullable. |
permissionGrants |
resourceSpecificPermissionGrant collection |
A collection of permissions granted to apps for the chat. |
pinnedMessages |
pinnedChatMessageInfo collection |
A collection of all the pinned messages in the chat. Nullable. |
tabs |
teamsTab collection |
A collection of all the tabs in the chat. Nullable. |
chatType |
chatType |
Related chatType data exposed by this resource. |
operations |
teamsAsyncOperation collection |
A collection of all the Teams async operations that ran or are running on the chat. Nullable. |
Graph Methods
Microsoft Graph v1.0 endpoints are mapped directly from refreshed Microsoft Learn permissions tables.
Microsoft Graph beta endpoints are mapped directly from refreshed Microsoft Learn permissions tables.
Microsoft Graph PowerShell v1.0 commands are not available from refreshed Microsoft Learn PowerShell snippets for this permission.
No deterministic PowerShell command map is available for this permission.
Browse PowerShell docsMicrosoft Graph PowerShell beta commands are not available from refreshed Microsoft Learn PowerShell snippets for this permission.
No deterministic PowerShell command map is available for this permission.
Browse PowerShell docsCode Examples
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Chats.Item.SendActivityNotification;
using Microsoft.Graph.Models;
var requestBody = new SendActivityNotificationPostRequestBody
{
Topic = new TeamworkActivityTopic
{
Source = TeamworkActivityTopicSource.EntityUrl,
Value = "https://graph.microsoft.com/v1.0/chats/{chatId}",
},
ActivityType = "taskCreated",
PreviewText = new ItemBody
{
Content = "New Task Created",
},
Recipient = new AadUserNotificationRecipient
{
OdataType = "microsoft.graph.aadUserNotificationRecipient",
UserId = "569363e2-4e49-4661-87f2-16f245c5d66a",
},
TemplateParameters = new List<KeyValuePair>
{
new KeyValuePair
{
Name = "taskId",
Value = "Task 12322",
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
await graphClient.Chats["{chat-id}"].SendActivityNotification.PostAsync(requestBody);
const options = {
authProvider,
};
const client = Client.init(options);
const sendActivityNotification = {
topic: {
source: 'entityUrl',
value: 'https://graph.microsoft.com/v1.0/chats/{chatId}'
},
activityType: 'taskCreated',
previewText: {
content: 'New Task Created'
},
recipient: {
'@odata.type': 'microsoft.graph.aadUserNotificationRecipient',
userId: '569363e2-4e49-4661-87f2-16f245c5d66a'
},
templateParameters: [
{
name: 'taskId',
value: 'Task 12322'
}
]
};
await client.api('/chats/{chatId}/sendActivityNotification')
.post(sendActivityNotification);
Import-Module Microsoft.Graph.Teams
$params = @{
topic = @{
source = "entityUrl"
value = "https://graph.microsoft.com/v1.0/chats/{chatId}"
}
activityType = "taskCreated"
previewText = @{
content = "New Task Created"
}
recipient = @{
"@odata.type" = "microsoft.graph.aadUserNotificationRecipient"
userId = "569363e2-4e49-4661-87f2-16f245c5d66a"
}
templateParameters = @(
@{
name = "taskId"
value = "Task 12322"
}
)
}
Send-MgChatActivityNotification -ChatId $chatId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.chats.item.send_activity_notification.send_activity_notification_post_request_body import SendActivityNotificationPostRequestBody
from msgraph.generated.models.teamwork_activity_topic import TeamworkActivityTopic
from msgraph.generated.models.teamwork_activity_topic_source import TeamworkActivityTopicSource
from msgraph.generated.models.item_body import ItemBody
from msgraph.generated.models.aad_user_notification_recipient import AadUserNotificationRecipient
from msgraph.generated.models.key_value_pair import KeyValuePair
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = SendActivityNotificationPostRequestBody(
topic = TeamworkActivityTopic(
source = TeamworkActivityTopicSource.EntityUrl,
value = "https://graph.microsoft.com/v1.0/chats/{chatId}",
),
activity_type = "taskCreated",
preview_text = ItemBody(
content = "New Task Created",
),
recipient = AadUserNotificationRecipient(
odata_type = "microsoft.graph.aadUserNotificationRecipient",
user_id = "569363e2-4e49-4661-87f2-16f245c5d66a",
),
template_parameters = [
KeyValuePair(
name = "taskId",
value = "Task 12322",
),
],
)
await graph_client.chats.by_chat_id('chat-id').send_activity_notification.post(request_body)
App Registration
Navigate to Azure Portal
Go to App registrations in Microsoft Entra admin center
Add API Permission
Select your app → API permissions → Add a permission → Microsoft Graph
Select Permission Type
Choose Application permissions or delegated permissions and search for TeamsActivity.Send
Grant Admin Consent
Application permissions always require admin consent.