Share via


Deploy the Veeva QualityDocs Microsoft 365 Copilot connector

The Veeva QualityDocs Microsoft 365 Copilot connector enables organizations to index controlled quality documents—such as Standard Operating Procedures (SOPs), work instructions, policies, CAPAs, and batch records—from Veeva Vault QualityDocs into Microsoft Graph. This integration makes them accessible across Microsoft 365 experiences, including Microsoft 365 Copilot and Microsoft Search. The connector respects Vault QualityDocs' granular permission model, ensuring that only authorized users can see or interact with relevant documents. By pairing Microsoft's AI capabilities with QualityDocs' single source of truth, quality, regulatory, manufacturing, and supply-chain teams can collaborate more efficiently while maintaining compliance.

This article describes the steps to deploy and customize the Veeva QualityDocs connector. For general information about Copilot connector deployment, see Set up Copilot connectors in the Microsoft 365 admin center.

Prerequisites

Before you deploy the connector, make sure that you meet the following prerequisites:

  • You must be a Microsoft 365 admin.
  • Your organization must have a configured Veeva Vault QualityDocs environment.
  • Microsoft Entra ID must be set up for OAuth 2.0/OpenID Connect authentication.
  • You must have the client ID and client secret from your Microsoft Entra application.
  • You must have the Veeva Vault QualityDocs instance URL.
  • User identity mapping between Veeva Vault QualityDocs and Microsoft Entra ID must be configured.

Register an application and configure OAuth

Use the following steps to configure Microsoft Entra ID OAuth 2.0/OpenID Connect for the Veeva QualityDocs connector.

  1. Register an application in Microsoft Entra ID.

    • Go to Microsoft Entra admin center > App registrations > New registration.
    • Name the application and select Accounts in this organizational directory only.
    • Add the redirect URI:
      • For Microsoft 365 Enterprise: https://gcs.office.com/v1.0/admin/oauth/callback
      • For Microsoft 365 Government: https://gcsgcc.office.com/v1.0/admin/oauth/callback
    • Generate a client secret under Certificates & Secrets and store it securely.
  2. Configure OAuth in Veeva QualityDocs.

    • Go to Admin > Settings > OAuth 2.0/OpenID Connect Profiles.
    • Create a new profile, set the Status to active, and select Azure AD as the provider.
    • Choose Upload AS metadata > Provide Authorization Server Metadata URL, and paste the following link. Replace {tenant-id} with your tenant ID. https://login.microsoftonline.com/{tenant-id}/v2.0/.well-known/openid-configuration
    • Set Identity is in another claim to upn, and in User ID Type, select Federated ID. The UPN should be the same as the federated ID.
    • Choose Client Applications > Add, and use the client ID from your Microsoft Entra ID application for both Application Client ID and Authorization Server Client ID. Add an Application Label.

    Note

    To enable Perform strict Audience Restriction validation, add the client ID to the Audience field.

  3. Create security policies and link users.

    • Go to Admin > Settings > Security Policies > Create > Single sign-on. Provide a name and description, and set the status to active.
    • For the authentication type, choose Single Sign-on, and choose a profile. For more information, see Configuring Single Sign-on.
    • In eSignature Profile, select None, and in OAuth 2.0 / OpenID Connect Profile, select the OAuth 2.0 profile that you created. Keep the default values for the remaining settings.
    • Go to Admin > Users & Groups, select the vault owner, and choose Edit.
    • In Details > Security Policy, change the values to the new policy, and in Federated ID, change the value to the UPN of the connector admin account.

Deploy the connector

To add the Veeva QualityDocs connector for your organization:

  1. In the Microsoft 365 admin center, in the left pane, choose Copilot > Connectors.
  2. Go to the Connectors tab, and in the left pane, choose Gallery.
  3. From the list of available connectors, choose Veeva QualityDocs.

Set display name

The display name is used to identify references in Copilot responses to help users recognize the associated file or item. The display name also signifies trusted content and is used as a content source filter.

You can accept the default Veeva QualityDocs display name, or customize the value to use a display name that users in your organization recognize.

For more information about connector display names and descriptions, see Enhance Copilot discovery of connector content.

Set instance URL

Enter the URL of your Veeva QualityDocs instance. For example: https://<your-vault-domain>.veevavault.com.

Choose authentication type

To authenticate the Veeva QualityDocs connector, for the Authentication type, choose Microsoft Entra ID OIDC, and provide the following information:

  • Vault session ID URL: In Veeva QualityDocs, go to Admin panel > Settings > OAuth 2.0/ OpenID Connect Profiles, and choose the profile you created for this connection. Copy the Vault Session ID URL.
  • Client ID: The application ID for the Entra application you registered for Veeva QualityDocs.
  • Client secret: The client secret associated with the Entra application.

Select Authorize to sign in with your Entra ID account, and select Consent on behalf of your organization, and the on the permission request screen, choose Accept.

Important

Configure both Microsoft Entra ID and Veeva QualityDocs admin settings to enable Microsoft Entra ID authentication.

Roll out

To roll out to a limited audience, choose the toggle next to Rollout to limited audience and specify the users and groups to roll the connector out to. For more information, see Staged rollout for Copilot connectors.

Choose Create to deploy the connection. The Veeva QualityDocs Copilot connector starts indexing content right away.

The following table lists the default values that are set.

Category Default value
Users Respects Veeva QualityDocs permissions; only viewable documents are accessible.
Content Indexes key metadata, such as document name, owner, and lifecycle stage.
Sync Full crawls every day.

To customize these values, choose Custom setup. For more information, see Customize settings.

After you create your connection, you can review the status in the Connectors section of the Microsoft 365 admin center.

Customize settings (optional)

You can customize the default values for the Veeva QualityDocs connector settings. To customize settings, on the connector page in the admin center, choose Custom setup.

Customize user settings

Access permissions

The connector adheres to the access control lists (ACLs) defined in Veeva QualityDocs. Only users with view permissions in Veeva QualityDocs can see the indexed content in Microsoft 365. Admins can optionally allow all users access to all indexed content, although this approach isn't recommended for regulated repositories.

Mapping identities

The connector relies on mapping Veeva QualityDocs user identities (for example, Federated ID) to Microsoft Entra ID user accounts. Make sure that the Microsoft Entra UPN matches the Federated ID used in QualityDocs, or configure custom identity mapping so security permissions can be enforced correctly.

If you want to enforce the security settings of your Veeva QualityDocs instance, choose Non-ME-ID as the identity type for your content source.

Enter the required information for identity mapping. For example, if you want to map identities based on email addresses:

  1. For the Microsoft Entra user property, select Mail.
  2. Under non-Microsoft Entra user property, select Add identity property, and choose Email. Use an expression such as ([^@]+) to capture a sequence of one or more characters that are not the @ symbol. Create a formula to complete the mapping, such as {0}@<your-domain>.

Customize content settings

Query string

You can use query-string conditions to include only relevant documents to enable more targeted and efficient indexing.

Manage properties

The following table lists the properties that the Veeva QualityDocs connector indexes by default.

Property Veeva field Semantic Label Description Schema Attributes
Id document_number + document version Unique identifier for the document record Query, Retrieve
FileName filename__v fileName Name of the uploaded source file Query, Retrieve, Search
Title title__v title Document title Retrieve, Search
Description description__v Free-text description of the document Retrieve, Search
Extension file extension of filename__v fileExtension File type extension such as PDF, DOCX, XLSX Query, Retrieve, Search
Url https://{vaultDns}/ui/#doc_info/{id}/{major_version_number__v}/{minor_version_number__v} url Direct URL to access or preview the document in Veeva Vault Query, Retrieve
Status status__v state Current lifecycle state of the document (for example, Draft, Approved, Effective) Query, Retrieve
DocumentId id Unique document identifier (primary key) in the Veeva system Query, Retrieve
GlobalId global_id__sys System-generated globally unique identifier across Vaults Query, Retrieve
DocumentNumber document_number__v System-assigned document number in the Veeva system Query, Retrieve
Version {major_version_number__v}_{minor_version_number__v} Combined version string of the document Query, Retrieve
UrlRoutingId concat(id, '/', major_version_number__v, '/', minor_version_number__v) Composite routing identifier used for URL resolution Query, Retrieve
MajorVersion major_version_number__v Major version number of the document Query, Retrieve
MinorVersion minor_version_number__v Minor version number of the document Query, Retrieve
Type type__v containerName Top-level document type classification Query, Retrieve
Subtype subtype__v Second-level document classification under type Query, Retrieve
Product product__v.name__v Product related to or covered by the document Query, Retrieve
Tags tags__v tags Tags or keywords associated with the document Query, Retrieve, Refine
Country country__v.name__v Country or region associated with the document Query, Retrieve
Format format__v Document format or type information Query, Retrieve
ItemType format__v itemType Item type derived from the document format Query, Retrieve, Refine
ItemPath {type__v}/{subtype__v} itemPath Hierarchical path combining the document type and subtype Query, Retrieve
Owner source_owner__v Document owner in the Veeva system Query, Retrieve, Search, Refine
DocumentCreationDate document_creation_date__v createdDateTime Date and time when the document was originally created Query, Retrieve
VersionModifiedDate version_modified_date__v lastModifiedDateTime Date and time when this version was last modified Query, Retrieve
CreatedBy created_by__v (name, email) createdBy User who initially created the document Query, Retrieve, Search
CreatedByUserId created_by__v Internal user identifier for the document creator Query, Retrieve
LastModifiedByUserId last_modified_by__v Internal user identifier of the last modifier Query, Retrieve
LastModifiedBy last_modified_by__v (name, email) lastModifiedBy User who last modified the document Query, Retrieve, Search
Lifecycle lifecycle__v Lifecycle assigned to the document Query, Retrieve
OwningDepartment owning_department__v.name__v Department responsible for owning the document Query, Retrieve
OwningFacility owning_facility__c.name__v Facility associated with the document ownership Query, Retrieve
ReferenceModelCategory reference_model_category__c.name__v High-level reference model category of the document Query, Retrieve
ReferenceModelSubcategory reference_model_subcategory__c.name__v Subcategory within the reference model classification Query, Retrieve
PeriodicReviewFrequency periodic_review_frequency1__c Frequency at which the document undergoes periodic review Query, Retrieve
DaysBeforeToStartPeriodicReview days_before_to_start_periodic_review__c Number of days before the document's periodic review begins Query, Retrieve
ObsolescenceApproved obsolescence_approved__c Indicates whether obsolescence is approved Query, Retrieve
Scope scope__c Scope or applicability of the document Query, Retrieve
ImplementationPeriodDays implementation_period_days__c Number of days designated for implementation of the document Query, Retrieve
RequiresDcc requires_dcc__c Indicates if Document Change Control is required Query, Retrieve
ImportedDocument imported_document__c Indicates if the document was imported Query, Retrieve
Size size__v File size of the document
Content document content Main text or body content extracted from the document Search

Add custom properties

In addition to the default properties, the connector automatically discovers custom and other document properties from your Veeva QualityDocs instance. During setup, the connector retrieves all available document fields that are queryable, not disabled, and not hidden, and presents them as additional properties under Manage properties.

You can select and add these custom properties one by one to the connector schema. Each added custom property has the following default schema attributes:

  • Query and Retrieve are enabled by default.
  • Search and Refine aren't enabled by default but can be turned on under Manage properties.

For properties that reference Veeva Vault objects (ObjectReference type), the connector also fetches the referenced object's metadata and exposes its fields as nested properties. For example, if a custom property references a VObject of type campaign__v, the connector generates properties like campaign__v.name__v, campaign__v.status__v, and so on.

After adding custom properties, you can customize the schema attributes for any property—both default and custom—under Manage properties. You can enable or disable Query, Retrieve, Search, and Refine for each property based on your organization's requirements.

Customize sync intervals

You can modify the frequency of full crawls to fit your organization's requirements. The default is a full crawl every day. For more information, see Guidelines for sync settings.