Skip to content

Commit 92d8c71

Browse files
authored
Merge pull request #28205 from microsoftgraph/aditijha/user-following-docs
Documenting the new User Follow APIs for Viva Engage
2 parents 1a34501 + 9772133 commit 92d8c71

19 files changed

Lines changed: 1137 additions & 12 deletions
Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
---
2+
title: "storyline: follow"
3+
description: "Follow a user on Viva Engage"
4+
author: "aditijha4"
5+
ms.date: 02/06/2026
6+
ms.localizationpriority: medium
7+
ms.subservice: "viva-engage"
8+
doc_type: apiPageType
9+
---
10+
11+
# storyline: follow
12+
13+
Namespace: microsoft.graph
14+
15+
[!INCLUDE [beta-disclaimer](../../includes/beta-disclaimer.md)]
16+
17+
Follow a user's [storyline](../resources/storyline.md) in the organization.
18+
19+
In Viva Engage, users may follow other users within the platform. This feature helps users stay updated with the activities and posts of the people they follow. It's useful for keeping track of influential or key individuals within the organization, such as leaders or ambassadors who can help spread news and awareness on specific topics.
20+
21+
## Permissions
22+
23+
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](/graph/permissions-overview#best-practices-for-using-microsoft-graph-permissions). For details about delegated and application permissions, see [Permission types](/graph/permissions-overview#permission-types). To learn more about these permissions, see the [permissions reference](/graph/permissions-reference).
24+
25+
<!-- {
26+
"blockType": "permissions",
27+
"name": "storyline-follow-permissions"
28+
}
29+
-->
30+
[!INCLUDE [permissions-table](../includes/permissions/storyline-follow-permissions.md)]
31+
32+
## HTTP request
33+
34+
<!-- {
35+
"blockType": "ignored"
36+
}
37+
-->
38+
``` http
39+
POST /users/{user-id}/employeeExperience/storyline/follow
40+
```
41+
42+
## Request headers
43+
44+
|Name|Description|
45+
|:---|:---|
46+
|Authorization|Bearer {token}. Required. Learn more about [authentication and authorization](/graph/auth/auth-concepts).|
47+
|Content-Type|application/json. Required.|
48+
49+
## Request body
50+
51+
In the request body, supply a JSON representation of the parameters.
52+
53+
For **delegated** permissions (user context), leave the request body empty:
54+
``` json
55+
{}
56+
```
57+
58+
For **application** permissions (app-only context), provide the following parameter:
59+
60+
|Parameter|Type|Description|
61+
|:---|:---|:---|
62+
|followBy|[engagementIdentitySet](../resources/engagementidentityset.md)|The identity information of the user who is following. Required for application permissions.|
63+
64+
65+
66+
## Response
67+
68+
If successful, this action returns a `204 No Content` response code.
69+
70+
## Examples
71+
72+
### Example 1: Follow a user with delegated permissions
73+
74+
The following example shows how to follow a user using delegated permissions.
75+
76+
#### Request
77+
<!-- {
78+
"blockType": "request",
79+
"name": "storyline_follow_delegated"
80+
}
81+
-->
82+
``` http
83+
POST https://graph.microsoft.com/beta/users/f2a84916-d735-41d9-a04a-4ecf6266ae71/employeeExperience/storyline/follow
84+
Content-Type: application/json
85+
86+
{}
87+
```
88+
89+
#### Response
90+
<!-- {
91+
"blockType": "response",
92+
"truncated": true
93+
}
94+
-->
95+
``` http
96+
HTTP/1.1 204 No Content
97+
```
98+
99+
### Example 2: Follow a user with application permissions
100+
101+
The following example shows how to follow a user using application permissions.
102+
103+
#### Request
104+
<!-- {
105+
"blockType": "request",
106+
"name": "storyline_follow_app_only"
107+
}
108+
-->
109+
``` http
110+
POST https://graph.microsoft.com/beta/users/b3c29da7-ff83-4a92-b14e-7c91fe830b96/employeeExperience/storyline/follow
111+
Content-Type: application/json
112+
113+
{
114+
"followBy": {
115+
"user": {
116+
"id": "e7f439cd-2e84-4b15-a903-f6d82a7b9c21"
117+
}
118+
}
119+
}
120+
```
121+
122+
#### Response
123+
<!-- {
124+
"blockType": "response",
125+
"truncated": true
126+
}
127+
-->
128+
``` http
129+
HTTP/1.1 204 No Content
130+
```
131+
Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
---
2+
title: "List follower objects"
3+
description: "Retrieve a list of users who are following a specified user."
4+
author: "aditijha4"
5+
ms.date: 02/06/2026
6+
ms.localizationpriority: medium
7+
ms.subservice: "viva-engage"
8+
doc_type: apiPageType
9+
---
10+
11+
# List follower objects
12+
13+
Namespace: microsoft.graph
14+
15+
[!INCLUDE [beta-disclaimer](../../includes/beta-disclaimer.md)]
16+
17+
Retrieve a list of users who are following a specified user's [storyline](../resources/storyline.md).
18+
19+
## Permissions
20+
21+
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](/graph/permissions-overview#best-practices-for-using-microsoft-graph-permissions). For details about delegated and application permissions, see [Permission types](/graph/permissions-overview#permission-types). To learn more about these permissions, see the [permissions reference](/graph/permissions-reference).
22+
23+
<!-- {
24+
"blockType": "permissions",
25+
"name": "storyline-list-followers-permissions"
26+
}
27+
-->
28+
[!INCLUDE [permissions-table](../includes/permissions/storyline-list-followers-permissions.md)]
29+
30+
## HTTP request
31+
32+
<!-- {
33+
"blockType": "ignored"
34+
}
35+
-->
36+
``` http
37+
GET /users/{user-id}/employeeExperience/storyline/followers
38+
```
39+
40+
## Optional query parameters
41+
42+
This method supports some of the OData query parameters to help customize the response. For general information, see [OData query parameters](/graph/query-parameters).
43+
44+
## Request headers
45+
46+
|Name|Description|
47+
|:---|:---|
48+
|Authorization|Bearer {token}. Required. Learn more about [authentication and authorization](/graph/auth/auth-concepts).|
49+
50+
## Request body
51+
52+
Don't supply a request body for this method.
53+
54+
## Response
55+
56+
If successful, this method returns a `200 OK` response code and a collection of [storylineFollower](../resources/storylinefollower.md) objects in the response body.
57+
58+
## Examples
59+
60+
### Request
61+
62+
The following example shows a request.
63+
<!-- {
64+
"blockType": "request",
65+
"name": "list_storyline_followers"
66+
}
67+
-->
68+
``` http
69+
GET https://graph.microsoft.com/beta/users/b3c29da7-ff83-4a92-b14e-7c91fe830b96/employeeExperience/storyline/followers
70+
```
71+
72+
### Response
73+
74+
The following example shows the response.
75+
>**Note:** The response object shown here might be shortened for readability.
76+
<!-- {
77+
"blockType": "response",
78+
"truncated": true,
79+
"@odata.type": "Collection(microsoft.graph.storylineFollower)"
80+
}
81+
-->
82+
``` http
83+
HTTP/1.1 200 OK
84+
Content-Type: application/json
85+
86+
{
87+
"@odata.context": "https://graph.microsoft.com/beta/$metadata#users('b3c29da7-ff83-4a92-b14e-7c91fe830b96')/employeeExperience/storyline/followers",
88+
"@odata.count": 2,
89+
"value": [
90+
{
91+
"id": "e7f439cd-2e84-4b15-a903-f6d82a7b9c21",
92+
"follower": {
93+
"user": {
94+
"@odata.type": "#microsoft.graph.userIdentity",
95+
"displayName": "Cameron",
96+
"id": "e7f439cd-2e84-4b15-a903-f6d82a7b9c21",
97+
"userPrincipalName": "cameron@contoso.com"
98+
}
99+
}
100+
},
101+
{
102+
"id": "a8c55d92-1374-4e68-bb9f-3c8d7e924156",
103+
"follower": {
104+
"user": {
105+
"@odata.type": "#microsoft.graph.userIdentity",
106+
"displayName": "Jordan",
107+
"id": "a8c55d92-1374-4e68-bb9f-3c8d7e924156",
108+
"userPrincipalName": "jordan@contoso.com"
109+
}
110+
}
111+
}
112+
]
113+
}
114+
```
115+
Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
---
2+
title: "List following objects"
3+
description: "Retrieve a list of users that the specified user is currently following."
4+
author: "aditijha4"
5+
ms.date: 02/06/2026
6+
ms.localizationpriority: medium
7+
ms.subservice: "viva-engage"
8+
doc_type: apiPageType
9+
---
10+
11+
# List following objects
12+
13+
Namespace: microsoft.graph
14+
15+
[!INCLUDE [beta-disclaimer](../../includes/beta-disclaimer.md)]
16+
17+
Retrieve a list of users whose [storyline](../resources/storyline.md) the specified user is currently following.
18+
19+
## Permissions
20+
21+
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](/graph/permissions-overview#best-practices-for-using-microsoft-graph-permissions). For details about delegated and application permissions, see [Permission types](/graph/permissions-overview#permission-types). To learn more about these permissions, see the [permissions reference](/graph/permissions-reference).
22+
23+
<!-- {
24+
"blockType": "permissions",
25+
"name": "storyline-list-followings-permissions"
26+
}
27+
-->
28+
[!INCLUDE [permissions-table](../includes/permissions/storyline-list-followings-permissions.md)]
29+
30+
## HTTP request
31+
32+
<!-- {
33+
"blockType": "ignored"
34+
}
35+
-->
36+
``` http
37+
GET /users/{user-id}/employeeExperience/storyline/followings
38+
```
39+
40+
## Optional query parameters
41+
42+
This method supports some of the OData query parameters to help customize the response. For general information, see [OData query parameters](/graph/query-parameters).
43+
44+
## Request headers
45+
46+
|Name|Description|
47+
|:---|:---|
48+
|Authorization|Bearer {token}. Required. Learn more about [authentication and authorization](/graph/auth/auth-concepts).|
49+
50+
## Request body
51+
52+
Don't supply a request body for this method.
53+
54+
## Response
55+
56+
If successful, this method returns a `200 OK` response code and a collection of [storylineFollowing](../resources/storylinefollowing.md) objects in the response body.
57+
58+
## Examples
59+
60+
### Request
61+
62+
The following example shows a request.
63+
<!-- {
64+
"blockType": "request",
65+
"name": "list_storyline_followings"
66+
}
67+
-->
68+
``` http
69+
GET https://graph.microsoft.com/beta/users/b3c29da7-ff83-4a92-b14e-7c91fe830b96/employeeExperience/storyline/followings
70+
```
71+
72+
### Response
73+
74+
The following example shows the response.
75+
>**Note:** The response object shown here might be shortened for readability.
76+
<!-- {
77+
"blockType": "response",
78+
"truncated": true,
79+
"@odata.type": "Collection(microsoft.graph.storylineFollowing)"
80+
}
81+
-->
82+
``` http
83+
HTTP/1.1 200 OK
84+
Content-Type: application/json
85+
86+
{
87+
"@odata.context": "https://graph.microsoft.com/beta/$metadata#users('b3c29da7-ff83-4a92-b14e-7c91fe830b96')/employeeExperience/storyline/followings",
88+
"@odata.count": 3,
89+
"value": [
90+
{
91+
"id": "e7f439cd-2e84-4b15-a903-f6d82a7b9c21",
92+
"following": {
93+
"group": null,
94+
"audience": null,
95+
"application": null,
96+
"user": {
97+
"@odata.type": "#microsoft.graph.userIdentity",
98+
"displayName": "Cameron",
99+
"id": "e7f439cd-2e84-4b15-a903-f6d82a7b9c21",
100+
"userPrincipalName": "cameron@contoso.com"
101+
}
102+
}
103+
},
104+
{
105+
"id": "d4b89c76-3f8e-4a15-9c72-8e5f6b3d91a2",
106+
"following": {
107+
"user": {
108+
"@odata.type": "#microsoft.graph.userIdentity",
109+
"displayName": "Taylor",
110+
"id": "d4b89c76-3f8e-4a15-9c72-8e5f6b3d91a2",
111+
"userPrincipalName": "taylor@contoso.com"
112+
}
113+
}
114+
},
115+
{
116+
"id": "a8c55d92-1374-4e68-bb9f-3c8d7e924156",
117+
"following": {
118+
"user": {
119+
"@odata.type": "#microsoft.graph.userIdentity",
120+
"displayName": "Jordan",
121+
"id": "a8c55d92-1374-4e68-bb9f-3c8d7e924156",
122+
"userPrincipalName": "jordan@contoso.com"
123+
}
124+
}
125+
}
126+
]
127+
}
128+
```
129+

0 commit comments

Comments
 (0)