Transfer content from a deprovisioned user
This article outlines how a workspace owner can transfer content from a member who has been deprovisioned from an Enterprise Plan workspace 📖
When a user is deleted, deprovisioned, or leaves a workspace, they may leave behind private page content. This feature allows a workspace owner of an Enterprise Plan workspace to transfer this content to another, current user so it is easily recovered.
Note: This process applies on a user’s private content after they have left a workspace. Content shared with a current workspace member will not be transferrable.
A workspace owner is able to reassign the private content of a user who has recently left the workspace if:
The user is not currently part of the workspace (they have been deprovisioned).
The user had private pages.
The user’s private pages were not already reassigned to another user.
The user was part of the workspace fewer than 30 days ago.
The workspace is on an Enterprise Plan subscription.
Go to
Settings
and click theMembers
section.Navigate to the
Recently left
users tab.For the user who has been deprovisioned (the “recently left user”), select the destination where you would like to send the deprovisioned user’s private pages.
You will see a confirmation modal; select
Transfer private pages
to continue the private page transfer process.All of the deprovisioned user's private pages will appear in the destination user’s sidebar, nested under a new top-level private page.
Note: A user who has had all their private pages reassigned will no longer be visible in the Recently left
list.
Enterprise plan workspace owners can use the Content Transfer API to transfer private pages from recently removed workspace members to another member. This API requires the same eligibility criteria mentioned above.
To use this API, Enterprise Plan workspace owners can:
Create a new internal integration with the
Transfer content
capability.Use the following API call for transferring content:
curl -X POST '<https://api.notion.com/v1/users/transfer>' \\
-H 'Authorization: Bearer <token>' \\
-H 'Notion-Version: 2022-06-28' \\
-H "Content-Type: application/json" \\
-d '{ "from_user_id": <from_user_id>,"to_user_id":<to_user_id>}'
The
from_user_id
represents the removed user. If you’re using the SCIM webhook, the user_id is included in the payload.The
to_user_id
represents the recipient of the transferred content. You can retrieve this user_id by querying the Notion Public API using the list users API endpoint or using the API provided by your Identity Provider. For instance, Okta provides the listAppUsers API. The externalID of the appUser is the notion user ID.
curl '<https://api.notion.com/v1/users>' \\\\
-H 'Authorization: Bearer '"$NOTION_API_KEY"'' \\\\
-H "Notion-Version: 2022-06-28"
3. The API will return a failure response if the validation fails. Validations can fail if the from user is still in the workspace, or the workspace is not on the Enterprise Plan. If the validation passes, the API will return a success response and start processing the transfer. When the transfer is complete, transferred content should appear in the recipient's private Notion content. The recipient will also receive an inbox and email notification.
If a user has left and rejoined a workspace within the last 30 days, workspace owners will be able to restore their private pages, shared pages, group membership, and teamspace membership.
To do this, simply add a member back to your workspace and their content and access will be automatically restored once they rejoin.