Edit

Share via


userTeamwork: sendActivityNotification

Namespace: microsoft.graph

Important

APIs under the /beta version in Microsoft Graph are subject to change. Use of these APIs in production applications is not supported. To determine whether an API is available in v1.0, use the Version selector.

Send an activity feed notification to a user. For more information, see sending Teams activity notifications.

This API is available in the following national cloud deployments.

Global serviceUS Government L4US Government L5 (DOD)China operated by 21Vianet

Permissions

Choose the permission or permissions marked as least privileged for this API. Use a higher privileged permission or permissions only if your app requires it. For details about delegated and application permissions, see Permission types. To learn more about these permissions, see the permissions reference.

Permission typeLeast privileged permissionsHigher privileged permissions
Delegated (work or school account)TeamsActivity.SendNot available.
Delegated (personal Microsoft account)Not supported.Not supported.
ApplicationTeamsActivity.Send.UserTeamsActivity.Send

Note: The TeamsActivity.Send.User permission uses resource-specific consent.

HTTP request

POST /users/{userId | user-principal-name}/teamwork/sendActivityNotification 

Request headers

NameDescription
AuthorizationBearer {token}. Required. Learn more about authentication and authorization.
Content-Typeapplication/json. Required.

Request body

In the request body, supply JSON representation of the parameters.

The following table shows the parameters that can be used with this action.

ParameterTypeDescription
activityTypeStringThe activity type must be declared in the Teams app manifest, except for systemDefaultReserved activity type, which provides free-form text in the Actor+Reason line of the notification.
chainIdInt64Optional. Used to override a previous notification. Use the same chainId in subsequent requests to override the previous notification.
iconIdStringOptional. The unique icon ID that allows apps to send customized icons per activity type. Icon IDs must be present in the Teams app manifest schema. If the icon ID is specified in the manifest but missing from the API request body, the icon falls back to the default icon for the app.
previewTextitemBodyThe preview text for the notification. Microsoft Teams only shows the first 150 characters.
teamsAppIdStringOptional. The Teams app ID of the Teams app associated with the notification. Used to disambiguate installed apps when multiple apps with the same Microsoft Entra ID app ID are installed for the same recipient user. Avoid sharing Microsoft Entra ID app IDs between Teams apps.
templateParameterskeyValuePair collectionThe values for the template variables defined in the activity feed entry corresponding to activityType in the Teams app manifest.
topicteamworkActivityTopicThe topic of the notification. Specifies the resource being talked about.

The following resources are supported when setting the source value of the topic property to entityUrl:

Response

If successful, this action returns a 204 No Content response code.

Examples

Example 1: Send notification to a user for a task created

Request

POST https://graph.microsoft.com/beta/users/{userId}/teamwork/sendActivityNotification Content-Type: application/json { "topic": { "source": "entityUrl", "value": "https://graph.microsoft.com/beta/users/{userId}/teamwork/installedApps/{installationId}" }, "activityType": "taskCreated", "previewText": { "content": "New Task Created" }, "templateParameters": [ { "name": "taskId", "value": "Task 12322" } ] } 

Response

HTTP/1.1 204 No Content 

Example 2: Notify a user about an event using a custom topic

If you want to link an aspect that Microsoft Graph doesn't represent, or you want to customize the name, you can set the source of the topic to text and pass in a custom value for it. webUrl is required when using topic source as text.

Request

POST https://graph.microsoft.com/beta/users/{userId}/teamwork/sendActivityNotification Content-Type: application/json { "topic": { "source": "text", "value": "Deployment Approvals Channel", "webUrl": "https://teams.microsoft.com/l/message/19:448cfd2ac2a7490a9084a9ed14cttr78c@thread.skype/1605223780000?tenantId=c8b1bf45-3834-4ecf-971a-b4c755ee677d&groupId=d4c2a937-f097-435a-bc91-5c1683ca7245&parentMessageId=1605223771864&teamName=Approvals&channelName=Azure%20DevOps&createdTime=1605223780000" }, "activityType": "deploymentApprovalRequired", "previewText": { "content": "New deployment requires your approval" }, "templateParameters": [ { "name": "deploymentId", "value": "6788662" } ] } 

Response

HTTP/1.1 204 No Content 

Example 3: Notify a user about an event using a custom icon

If you want to notify a user with a customized icon instead of the default app icon, you can set the optional iconId property in the request body.

Note: The activityType in the manifest must contain the list of allowed icon IDs in order to use this parameter. The request validation fails if the app manifest is missing the customized list of icons. For more information, see Public developer preview app manifest.

Request

The following example shows a request.

POST https://graph.microsoft.com/beta/users/2f39ffba-51ca-4d2d-a66f-a020a83ce208/teamwork/sendActivityNotification Content-Type: application/json { "topic": { "source": "text", "value": "Deployment Approvals Channel", "webUrl": "https://teams.microsoft.com/l/message/19:448cfd2ac2a7490a9084a9ed14cttr78c@thread.skype/1605223780000?tenantId=c8b1bf45-3834-4ecf-971a-b4c755ee677d&groupId=d4c2a937-f097-435a-bc91-5c1683ca7245&parentMessageId=1605223771864&teamName=Approvals&channelName=Azure%20DevOps&createdTime=1605223780000" }, "activityType": "announcementPosted", "previewText": { "content": "new announcemnet posted" }, "iconId": "announcementCreated", "templateParameters": [ { "name": "deploymentId", "value": "6788662" } ] } 

Response

The following example shows the response.

HTTP/1.1 204 No Content