This article is applicable to configuring enhanced collaborative authoring, which was released with 25R1. For users still on legacy collaborative authoring, see collaborative authoring legacy migration
Collaborative authoring connects Vault to Microsoft 365 to allow multiple users to edit a document at the same time using the Microsoft 365 desktop software, the Microsoft 365 mobile apps, or Microsoft 365 on the web. Only users with Edit and Download permissions can edit a document with collaborative authoring. Collaborative authoring can be used with Microsoft Word (.docx), Excel (.xlsx and .xlsm), and PowerPoint (.pptx) documents.
Collaborative authoring is not enabled in your Vault by default. You must configure your Vault to make this feature available to users.
Configuration Overview
To configure collaborative authoring with Microsoft 365, you need to:
- Have a Microsoft 365 tenant.
- Register your Vault as an Entra ID application.
- Create a dedicated SharePoint team site and grant the Entra ID application access to manage the site.
- Secure the SharePoint team site.
- Connect your Vault to your Microsoft 365 tenant.
- Set up automatic invitations for external users.
- Enable external collaboration in SharePoint.
Step 1: Registering Your Vault as an Entra ID Application
Your Microsoft 365 business subscription includes Entra ID. To use collaborative authoring, you must register your Vault as an application in Entra ID. Vault needs certain permissions to access your Microsoft 365 account.
- Register a new application in Entra ID.
- Navigate to Home > App Registrations
- Select New Registration
- In name specify Veeva Vault Collaborative Authoring
- Under Redirect URIs, select Web.
- Enter your Vault’s Redirect URI as follows:
https://[Your Vault DNS]/ui/clientTiles/office365/oauth2. For example:https://veeva-qms.veevavault.com/ui/clientTiles/office365/oauth2 - Click Register button
- Overview Page will be displayed, from Essentials section note values for (these values will be used later in the setup and in setup of additional vaults) Application (client) ID Directory (tenant) ID
- In left menu Manage Section select + Add permissions
- Select Microsoft Graph > Application permissions. In the Select permission search bar, search for and add following:
Sites.Selected User.ReadBasic.All
Optional: For external user access, add a Microsoft Graph permission with the following Application permissions:
User.Invite.All
User.ReadWrite.All
Directory.ReadWrite.All
- Click Add permissions button
- In left menu Manage section click Certificates & Secrets.
- Click new client secret
- In Description specify: Veeva Vault Collaboration
- In Expires specify: 730 Days (24 months)
- Click Add button
- IMPORTANT note the Secret Value of the new Client Secret before moving to any other screen, once you move to a different page, the Secret Value will be hidden. (this value will be used later in the setup and in setup of additional vaults)
Step 2: Creating the SharePoint Team Site & Granting App Access
The shared document library is a SharePoint team site where your Vault documents are temporarily stored while they’re being edited. The SharePoint permissions should not allow users to access or share Vault documents directly through Office 365.
To create the site and grant app access:
- Create a new team site in the SharePoint Admin Center. See details about site naming restrictions below
- In Sharepoint Admin Center, in left menu, go to Sites > Active Sites > Create > Team Site
- Select a template in From Microsoft section: Standard team
- Click Use Template button
- On Give your site a name page
- Site name: Veeva Vault
- Group email address: Veeva Vault
- Site address: will be automatically populated
- Group Owner: Specify the admin account which you use to manage sharepoint and access Entra
- Click Next button
- On Set language and other options page
- Set the privacy settings for the team site to Private
- Defaults can be left for Select a language and Time zone
- Click Create site button (members don’t need to be added)
Step 3: Securing the SharePoint Team Site
The Microsoft SharePoint team site is a shared document library where your Vault documents are temporarily stored while they are being edited. The SharePoint permissions should not allow users to access or share Vault documents directly through Microsoft 365.
To secure the site:
- Login to sharepoint site we just created using the Administrator account you specified in step 5.
In the next steps we will harden the security of the site we’ve created.
- Url is typically:
clientdomain.sharepoint.com/site/VeevaVault
- Url is typically:
- Once logged in, click on gear icon in the top left (may take a few moments to show up if logging into the site for the first time)
- Click Site permissions
- In Site Sharing section click on Change how members can share link
- Sharing Permissions: Only site owner can share files, folders and site
- Allow access requests: Set setting to off
- Click Save button
- Click Advanced permission settings
- Click Permission Levels (in PERMISSIONS tab in top ribbon)
- Click Contribute link
- In List Permission section, uncheck Delete Items - Delete items from a list and documents from a document library
- Click Submit button (on bottom of the page)
- Click Documents on the left side
- Click on gear icon on the top left
- Go to Library settings > More library settings > Permissions for this document library (Under Permissions and Management)
- Click Stop Inheriting Permissions (click ok to pop up)
- Check {Site Name} Members and {Site Name} Visitors
- Click Remove User Permissions (in PERMISSIONS tab in top ribbon), confirm the prompt
- Click Documents on the left side
- Copy and note sharepoint URL in browser address bar (will be used later in the setup and in provisioning additional Vaults)
Step 4 Grant Application Access
The Sites.Selected Entra ID application permission specifies the SharePoint sites to which your Entra ID application has access. This permission is only configurable via powershell script and must be configured in order to allow Vault to temporarily store collaborative authoring documents while they are being edited.
We have provided a PowerShell script (Basics_SitePnP_Update.ps1) to simplify the process of configuring the Sites.Selected permission to grant your Entra ID application access to your SharePoint site. This script uses a separate Entra app with the AllSites.FullControl permission. The app provides the app setup for Vault permissions to manage documents on your SharePoint site.
To grant application access:
Use the
Basics_SitePnP.ps1script to create the Admin Application and grant permissions to the Application for site access.Prior to running the script:
- Ensure the Administrator executing the script has admin access to Existing Veeva Collaborative Authoring sharepoint site and Administrator access to Entra
- Install PowerShell 7.0
1winget install --id Microsoft.PowerShell --source winget - Install PnP module in PowerShell 7 by running PowerShell 7 and executing the following command
1Install-Module PnP.PowerShell -RequiredVersion 2.12 - Confirm PnP.PowerShell module 2.12 is installed by running:
1Get-Command -Module PnP.PowerShell
If you see any version other than 2.12 displayed after running the above command, you need to uninstall all versions prior to installing 2.12. Run the following commands to uninstall all versions, then install PnP module 2.12:
Uninstall-Module PnP.PowerShell -Force –AllVersionsInstall-Module PnP.PowerShell -RequiredVersion 2.12
- Populate the following variables in the script:
1. Get adminDomainUrl by going to Sharepoint Admin Center and getting the domain of your URL
```powershell
$adminDomainUrl = "client-admin.sharepoint.com"
```
2. Get siteDomainUrl by going to any Active Site > Click on site > get Domain existing site in Sharepoint and getting the domain of that site
```powershell
$siteDomainUrl = "client.sharepoint.com"
```
3. Get from Entra Admin Center > Home > Primary domain
```powershell
$primaryDomain = "domain.com"
```
4. Get by going to Entra app registration Veeva Vault Collaborative Authoring > Overview > Application (client) ID
```powershell
$appId = "xxx-xxx-xxx-xxx"
```
5. Get by going to Entra app registration Veeva Vault Collaborative Authoring > Overview > Display name
```powershell
$displayName = "Veeva Vault Collaborative Authoring"
```
6. Get created sharepoint site URL by going to Shareoint Admin Center > Site > Active Sites > Find your Vault Site > Site Address -- copy the full site Address
```powershell
$siteUrl = "https://test.sharepoint.com/sites/siteAlias"
```
Ensure the person executing
Basics_SitePnP.ps1script is added as the owner of the share point site used by Collaborative Authoring.- SharePoint Admin Center > Site > Active Sites > Find your Vault Site > Membership
Once step 2 is completed, execute the script
Basics_SitePnP.ps1. You will have multiple prompts to authenticate.Note
If the script returns an error because it is not signed, you can resolve it using either Windows Explorer or Command Line:
- Via Windows Explorer: Right click on the script > Properties > General tab > Security section. If the file is blocked, you will see a checkbox labeled Unblock. Check the unblock checkbox.
- Via Command Line:
1powershell -ExecutionPolicy Bypass -File "C:\Path\To\Your\Script\Basics_SitePnP.ps1"
Step 5: Connecting Your Vault to Your Microsoft 365 Account
Once you have configured Microsoft 365 to work with Vault, you must connect your Vault to your Microsoft 365 account.
In your Vault, navigate to Admin > Settings > Checkout Settings and click Edit in the Collaborative Authoring with Microsoft Office section.
Fill in the following fields:
- Directory (tenant) Id: The automatically-generated Tenant ID listed on the App Overview page of the Vault application you created in Entra ID.
- Application (client) Id: The automatically-generated Client ID listed on the App Overview page of the Vault application you created in Entra ID.
- Client Secret: The client secret Value generated when registering your Vault in Entra ID.
- Collaboration Drive: The URL to the Documents folder on the SharePoint team site you created.
Click Authorize. When the checkout settings are authorized, the Integration Status is displayed as Verified.
Click Save.
Optional External User Collaboration Setup
Automatically Inviting External Users
External users are collaborators with email addresses from different domains. In order to use collaborative authoring with external users, you must enable automatic invitations through Entra ID in your Vault. Once automatic invitations are enabled, Vault sends external users an email invitation when they click Edit to start or join a collaborative authoring session, automatically adding them to the session. External users can then join or start the session by clicking Edit. External users do not need to accept the email invitation to collaborate and join a session.
To enable automatic invitations:
- In your Vault, navigate to Admin > Settings > Checkout Settings.
- Click Edit in the Collaborative Authoring with Microsoft Office section.
- Select the Auto Invite External Users checkbox.
- Click Confirm in the Re-authorization Required dialog.
- Click Authorize.
- Click Save.
Enabling External Collaboration in SharePoint
When configuring collaborative authoring, ensure that you enable external collaboration and access to your SharePoint content. To learn more, view the SharePoint documentation.
Configuring Automatic Mentioning
Vault automatically adds workflow participants as editors on collaborative authoring documents, which allows them to be @mentioned in a collaborative authoring session. To use this functionality, ensure that you add the User.ReadBasic.All application permission to the Microsoft Graph permission in the Entra ID application.
Removing Collaborative Authoring with Microsoft 365 Settings
To turn off collaborative authoring, remove the checkout settings. This option is available only when no documents are currently being edited in Microsoft 365.
- In your Vault, navigate to Admin > Settings > Checkout Settings and click Edit.
- Click Remove Settings.
- Click OK to confirm that you want to remove these settings.
- Click Save.
Naming Restrictions for SharePoint Sites
Follow these rules when naming your SharePoint site:
- In general, your site name should not include the following special characters:
.,(,),{,},[,],',",<,>,?. In some cases, you can use some of these characters before.comin your site URL. - You cannot end your site URL with a forward slash (
/).
SharePoint Site Limits
SharePoint allows up to 50,000 unique permissions per site.
To avoid reaching the SharePoint site limit, ensure documents are checked in after collaborative authoring is completed. If multiple documents are left checked out, Vault may encounter the SharePoint site limit.
Enablement in Additional Vault(s)
Login as Admin to Azure Active Directory
Navigate to Home > App Registrations
Find App Registration Veeva Vault Collaborative Authoring
From Veeva Vault Collaborative Authoring Page Click Authentication
Click Add a platform
Select Web as the Application Type
Enter your Vault’s Redirect URL as follows:
https://{Your Vault DNS}/ui/clientTiles/office365/oauth2e.g.:
https://yourdomain-clinical.veevavault.com/ui/clientTiles/office365/oauth2Click Configure to save the changes
Follow instructions above for Connecting Your Vault to Your Office 365 Account for additional Vault Setup
Migrating from Legacy to Enhanced Collaborative Authoring Configuration
Beginning with 25R1, the collaborative authoring configuration is enhanced to allow Admins to configure collaborative authoring without requiring a Microsoft 365 service account. Customers with collaborative authoring configured prior to 25R1 can migrate from the legacy configuration to the enhanced configuration and can revert back to the legacy settings if needed. Customers who have never configured collaborative authoring must use the enhanced configuration available with 25R1.
See the legacy migration guide for more info.
Appendix
PowerShell Configuration Scripts
Download the script .ZIP file.
- Basics_SitePnP.ps1: This script is intended for sites that are configuring collaborative authoring for the first time. It grants your Entra ID application access to the created SharePoint team site using the Sites.Selected app permission.