Create a linkedResource object to associate a specified task with an item in a partner application. For example, you can associate a task with an email item in Outlook that spurred the task, and you can create a linkedResource object to track its association.
You can also create a linkedResource object while creating a task.
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 type
Least privileged permissions
Higher privileged permissions
Delegated (work or school account)
Tasks.ReadWrite
Not available.
Delegated (personal Microsoft account)
Tasks.ReadWrite
Not available.
Application
Tasks.ReadWrite.All
Not available.
HTTP request
POST /me/todo/lists/{todoTaskListId}/tasks/{taskId}/linkedResources
POST /users/{id|userPrincipalName}/todo/lists/{todoTaskListId}/tasks/{taskId}/linkedResources
Request headers
Name
Description
Authorization
Bearer {token}. Required.
Content-Type
application/json. Required.
Request body
In the request body, supply a JSON representation of the linkedResource object.
The following table lists the properties that are required when you create the linkedResource.
Property
Type
Description
id
String
Server generated Id for the linked entity Inherited from entity
webUrl
String
Deeplink to the linked entity
applicationName
String
Field indicating app name of the source that is sending the linked entity
displayName
String
Field indicating title of the linked entity.
externalId
String
Id of the object that is associated with this task on the third-party/partner system
Response
If successful, this method returns a 201 Created response code and a linkedResource object in the response body.
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new LinkedResource
{
WebUrl = "https://microsoft.com",
ApplicationName = "Microsoft",
DisplayName = "Microsoft",
ExternalId = "dk9cddce2-dce2-f9dd-e2dc-cdf9e2dccdf9",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Me.Todo.Lists["{todoTaskList-id}"].Tasks["{todoTask-id}"].LinkedResources.PostAsync(requestBody);
<?php
// THIS SNIPPET IS A PREVIEW VERSION OF THE SDK. NON-PRODUCTION USE ONLY
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new LinkedResource();
$requestBody->setWebUrl('https://microsoft.com');
$requestBody->setApplicationName('Microsoft');
$requestBody->setDisplayName('Microsoft');
$requestBody->setExternalId('dk9cddce2-dce2-f9dd-e2dc-cdf9e2dccdf9');
$result = $graphServiceClient->me()->todo()->lists()->byTodoTaskListId('todoTaskList-id')->tasks()->byTodoTaskId('todoTask-id')->linkedResources()->post($requestBody)->wait();
# THE PYTHON SDK IS IN PREVIEW. FOR NON-PRODUCTION USE ONLY
graph_client = GraphServiceClient(credentials, scopes)
request_body = LinkedResource(
web_url = "https://microsoft.com",
application_name = "Microsoft",
display_name = "Microsoft",
external_id = "dk9cddce2-dce2-f9dd-e2dc-cdf9e2dccdf9",
)
result = await graph_client.me.todo.lists.by_todo_task_list_id('todoTaskList-id').tasks.by_todo_task_id('todoTask-id').linked_resources.post(request_body)