Scheduling and Starting Microsoft Teams Meetings
- Browser
- CRM Desktop (Windows)
- iPad
Users can schedule and start Microsoft Teams meetings from Veeva CRM. Meetings are conducted in Microsoft Teams, using the host’s corporate Microsoft Teams account. The meeting is hosted by Microsoft Teams and the meeting experience is controlled by the user’s corporate Microsoft Teams configuration.
Who Can Use This Feature?
- Platforms – Browser, CRM Desktop (Windows), iPad
- Licensing – An Engage license is required. Users do not need to be assigned to Engage groups.
- Users – Admin Users, End Users
Configuring Microsoft Teams Meetings
Granting Veeva Consent in the Azure Tenant as a Microsoft Global Administrator
Before enabling this functionality for all users, Microsoft Global Administrators must grant tenant wide consent to the Veeva App in the Azure tenant from the Veeva-hosted webpage.
This allows the app to do the following:
- Create, read, update and delete events in all calendars the user has permission to access. This includes delegate and shared calendars.
- Read users’ primary email addresses
- See and update the data you gave it access to, even when users are not currently using the app
- Read and create online meetings on behalf of the signed-in user. Required for Scheduling and Starting Microsoft Teams Meetings.
- Read online meeting artifacts on behalf of the signed-in user. Required for Scheduling and Starting Microsoft Teams Meetings.
- See basic user profile information when the user signs in with their work or another account
- Read the full set of profile properties, reports, and managers of other users in the organization, on behalf of the signed-in user
Ensure the Veeva CRM Graph API integration is granted the following permissions:
Multiple Veeva CRM orgs can connect to the same Microsoft tenant.
Granting tenant wide consent enables Veeva CRM to request information through the Microsoft Graph API, but it does not provide access to Microsoft Office 365 information. Information about users' Microsoft Outlook or Microsoft Teams accounts is only gathered after the individual user authenticates their Microsoft credentials from Veeva CRM. The Veeva CRM Microsoft Integration uses Microsoft's best practices for authorization (authZ), authentication (OpenId Connect over OAuth 2), data in transit (HTTPS and TLS 1.2+ encryption) and data at rest. Only Microsoft has access to user credentials.
For more control over the integration from the Microsoft side, admins can assign the application to specific users or groups of users, instead of granting access to all users. For more information on assigning applications to Microsoft groups, see Microsoft's Manage users and groups assignment documentation.
Configuring the Microsoft Teams Integration in Veeva CRM
To enable this functionality:
- Ensure Configuring Call Reporting is complete and Engage licenses are provisioned for the appropriate orgs. Users do not need to be assigned to Engage groups.
- Ensure Lightning for My Schedule is enabled for Browser users.
- Grant admins the following permissions:
Object
OLS
Record Types
Fields
FLS
Call2_vod
CRU
n/a
- Call_Datetime_vod
- Duration_vod
- MS_Teams_Remote_Meeting_vod
- Remote_Meeting_Type_vod
Edit
Remote_Meeting_vod
CRU
MS_Teams_Call_Meeting_vod
- Meeting_Id_vod
- Meeting_Name_vod
- Meeting_Password_vod
- Mobile_ID_vod
- MS_Teams_Meeting_External_Id_vod
- MS_Teams_Meeting_Link_vod
- Scheduled_vod
- Scheduled_DateTime_vod
- VExternal_Id_vod
Edit
Sent_Message_vod
CRU
Remote_Meeting_Invite_Link_vod
- Call_vod
- Capture_Datetime_vod
- Engage_Link_vod
- Mobile_ID_vod
- Sent_From_Platform_vod
- Sent_Via_vod
- Transaction_Type_vod
- User_vod
Edit
User
n/a
n/a
- Enable_MS_Teams_vod
- MS_Graph_API_Authorized_vod
Edit
User_Detail_vod
CRU
n/a
Remote_Meeting_Name_vod (optional; edit this field to change the default Meeting Topic text for remote meetings)
Edit
- Grant end users the following permissions:
Object
OLS
Record Types
Fields
FLS
Call2_vod
CRU
n/a
- Call_Datetime_vod
- Duration_vod
- MS_Teams_Remote_Meeting_vod
- Remote_Meeting_Type_vod
Edit
Remote_Meeting_vod
CRU
MS_Teams_Call_Meeting_vod
- Meeting_Id_vod
- Meeting_Password_vod
- Meeting_Name_vod
- Mobile_ID_vod
- MS_Teams_Meeting_External_Id_vod
- MS_Teams_Meeting_Link_vod
- Scheduled_vod
- Scheduled_DateTime_vod
- VExternal_Id_vod
Edit
Sent_Message_vod
CRU
Remote_Meeting_Invite_Link_vod
- Call_vod
- Capture_Datetime_vod
- Engage_Link_vod
- Mobile_ID_vod
- Sent_From_Platform_vod
- Sent_Via_vod
- Transaction_Type_vod
- User_vod
Edit
User
n/a
n/a
Enable_MS_Teams_vod Read
MS_Graph_API_Authorized_vod Edit
User_Detail_vod
CRU
n/a
Remote_Meeting_Name_vod (optional; edit this field to change the default Meeting Topic text for remote meetings)
Edit
-
Grant user attendees at least the following permissions:
Object
OLS
Record Types
Fields
FLS
Call2_vod
n/a
n/a
- Call_Datetime_vod
- MS_Teams_Remote_Meeting_vod
- Remote_Meeting_Type_vod
Read
Remote_Meeting_vod
R
MS_Teams_Call_Meeting_vod
MS_Teams_Meeting_Link_vod
Read
Ensure user attendees have visibility to call reports where they are added, and that they are able to sync calls.
-
Add the --rem section signal to Call2_vod page layouts to display the Microsoft Teams meeting user interface.
Do not add the --rem section signal to the zvod_buttons section. The remote meeting controls will not display on the call report.
-
Add the Meeting_Name_vod field to the MS_Teams_Call_Meeting_vod page layout on the Remote_Meeting_vod object and set the Meeting_Name_vod field to read-only (optional; prevents users from editing the Meeting Name in the meeting information modal on the call report).
- Enable the following picklist values for the Remote_Meeting_Invite_Link_vod record type on the Sent_Message_vod object:
- Enable the Engage_Chat_vod picklist value for the Sent_Via_vod field
- Enable the MS_Teams_Join_URL_vod picklist value for the Transaction_Type_vod field
- Populate the following Engage Settings appropriately, so users can share the Microsoft Teams Join URL with HCPs:
- ENGAGE_LINK_ACCOUNT_SELECTION_vod – Determines if users must select an account before sending a web link. Populate with one of the following values:
- 0 – Users are required to select an account. This is the default value.
- 1 – Users cannot select an account. After selecting a sharing option, users can select the recipient if not already populated.
- ENGAGE_LINK_APPS_vod – References the ENGAGE_LINK_APPS;;EngageLink Veeva Message. Edit the list in the Veeva Message to control the number and order of sharing options available for users to send website links with accounts. Available values are:
- Messages
- LINE
- LINEWORKS
- EngageConnect
- EngageChat
- The Engage tab must be configured
Engage Chat is only supported on iPad and iPhone.
- CopyURL (includes QR code)
Populate the list using the format App1;;App2. Configuring EngageChat and EngageConnect together is not supported.
-
Select the check box for the Enable_MS_Teams_vod field on the User record, for each user who should have access to this functionality.
-
Edit the policies for the Veeva Microsoft Graph API Integration Connected App (if not already edited for Integrating My Schedule and Microsoft Outlook Calendars):
- Navigate to the App Manager in Salesforce Setup.
- Select Manage for the Veeva Microsoft Graph API Integration App.
- Select Edit Policies.
- In the OAuth Policies section, select Admin approved users are pre-authorized from the Permitted Users picklist.
- Select Save.
- Select OK to confirm the change.
- Select Manage Profiles or Manage Permission Sets and assign the Veeva Microsoft Graph API Integration Connected App to the appropriate profiles or permission sets.
- Navigate to the App Manager in Salesforce Setup.
-
Ensure the following VMOCs are enabled for the appropriate platforms:
-
Call2_vod
-
Engage_Link_Settings_vod
- Message_vod, with the following where clause:
- WHERE Category_vod__c IN ('RemoteMeeting', 'iPad', 'CONTENT', 'CLM', 'Common', 'EngageLink') AND Language_vod__c IN (@@VOD_USER_LANG_CD@@,'en_US')
-
Remote_Meeting_vod
-
Sent_Message_vod
-
User_Detail_vod (optional; to change the default Meeting Topic text for remote meetings)
-
Ensure the VeevaOrgConfigurationService Apex class is enabled for the appropriate users.
Testing the Microsoft Teams Integration
For Sandbox testing, connect the Sandbox org with a test Microsoft Teams account. Within an org, each Microsoft Teams account can only be connected to one user, and vice versa. The same Microsoft Teams account cannot be used for multiple users.
Using multiple Microsoft accounts for the same Salesforce user is not supported. This means once a Salesforce user is authenticated with one Microsoft account, the same user cannot be re-authenticated with a different Microsoft account. To re-authenticate the user with a different Microsoft account, admins must contact Veeva.
If authentication errors occur, check your organization’s IT logs and policies, and contact Veeva.
Enabling SSO with Microsoft Intune
If required by the organization's IT policies, admins can use Microsoft Intune to enable Apple single sign-on (SSO) for Microsoft integrations with Veeva CRM. To configure SSO for Microsoft integrations, admins must create a single sign-on app extension configuration profile in the Microsoft Intune admin center and assign the profile to the appropriate devices and user groups.
When creating the configuration profile in Microsoft Intune, set the device features for the configuration profile as follows:
- Select the Single sign-on app extension section from the Device Features page.
- Select Microsoft Azure AD from the SSO app extension type picklist.
- Enter the following text in the App bundle ID field: com.veevasystems.Veeva
- Enter the following attributes under Additional configuration:
- Key:
AppPrefixAllowList
- Type:
String
- Value:
com.veevasystems.
The period at the end of com.veevasystems. must be included.
For more information on SSO with Microsoft Intune, see Microsoft's Use the Microsoft Enterprise SSO plug-in on iOS/iPadOS devices documentation.
Signing in to Microsoft Teams from Veeva CRM
Users are prompted to sign into their Microsoft account the first time they schedule or start a Microsoft Teams meeting from Veeva CRM.
For iPad and CRM Desktop (Windows) users, the authentication window opens in the device's default browser.
When they complete the authentication prompt, iPad and CRM Desktop (Windows) users are automatically redirected from their default browser. If the authentication fails, users are notified with an authentication failure message.
Ensure users sign in with their company-provided Microsoft account. Before signing in, users must clear Microsoft cookies if they have both a company-provided Microsoft Teams account and a personal Microsoft Teams account.
If users do not clear Microsoft cookies before signing in, their personal Microsoft Teams account is linked to Veeva CRM. To remove a personal Microsoft Teams account, your organization's admin must log a support ticket with Veeva CRM and clear Microsoft cookies.
If users have already authenticated their Microsoft account for Integrating My Schedule and Microsoft Outlook Calendars they do not need to sign in again.
Scheduling Microsoft Teams Meetings in Veeva CRM
To schedule a Microsoft Teams meeting in Veeva CRM, select Schedule Microsoft Teams Meeting from the call report. On the Browser platform, the Schedule button displays on the call report user interface. On the iPad platform and on the high performance call report, the Schedule option is under the More Actions menu. When users schedule Microsoft Teams meetings from Veeva CRM, a passcode is automatically generated for the meeting, regardless of the user’s corporate Microsoft Teams configuration.
Users can only schedule meetings for call reports they own. The Schedule option displays when a remote meeting is not scheduled for the call and the call is not submitted.
If both Engage Meeting and Microsoft Teams are enabled, select Schedule Meeting from the More Actions menu, then select the appropriate meeting type.
Once the meeting is scheduled, a related Remote_Meeting_vod record is created with the MS_Teams_Call_Meeting_vod record type, and the meeting type displays in the call report header. To edit the meeting datetime, edit the datetime on the call report or reschedule the call through My Schedule. The updated meeting time is reflected in Microsoft Teams.
To view or edit meeting details, select the information icon on the call report. The information modal displays.
Switching Remote Meeting Types
When both Engage Meeting and Microsoft Teams are enabled, users can switch meeting types after scheduling a meeting. Select the More Actions icon on the call report, then select the appropriate Switch to option.
Select Schedule to confirm the change.
When users switch meeting types, the original remote meeting data is retained. The user interface only displays the currently scheduled meeting type. If users switch between meeting types multiple times, the previously saved Remote_Meeting_vod record is reused.
If Starting Microsoft Teams Meetings from Calls in Microsoft Outlook is enabled, switching from a Microsoft Teams meeting to an Engage meeting removes the Microsoft Teams meeting reference from the call in Microsoft Outlook. If users switch from an Engage meeting to a Microsoft Teams meeting, a Microsoft Teams meeting reference is added to the call in Microsoft Outlook.
Users can only switch meeting types prior to the meeting. Conducting both an Engage meeting and a Microsoft Teams meeting from the same call report is not supported.
Sharing Microsoft Teams Meeting Links
To share the Microsoft Teams meeting URL with attendees, select the Copy icon from the information modal. The URL is copied to your device’s clipboard.
On the call report, users select the Send Email button in the More Actions menu to begin composing an Approved Email with the attendees of the call selected as recipients.
Alternatively, select the Send Invite link on the call report, then select the appropriate messaging platform. This option is only available for iPad and CRM Desktop (Windows) users.
The account selector does not display when sending invites from the call report, regardless of whether the ENGAGE_LINK_ACCOUNT_SELECTION_vod Engage Link Setting is enabled.
Starting Microsoft Teams Meetings from Veeva CRM
To start a scheduled meeting, select Start. The Microsoft Teams landing page displays in the user’s default browser. The meeting is conducted in Microsoft Teams, using the user’s Microsoft Teams configuration.
When users start a Microsoft Teams meeting from the Browser platform and the Start Media button or the high performance call report are enabled, the CRM Desktop app launches. If the high performance call report is enabled, the call report opens as a high performance call report in the CRM Desktop app. If only the Start Media button is configured, the CRM Desktop app launches in call mode.
Starting Microsoft Teams Meetings with the Meet Now Button
If a meeting is not scheduled for the call and you want to start a meeting immediately, select the Meet Now button to schedule and start a meeting immediately. On the Browser platform, the Meet Now button displays on the call report user interface. On the iPad platform and on the high performance call report, the Meet Now option is under the More Actions menu.
Starting Microsoft Teams Meetings from My Schedule
- Browser
- iPad
To start Microsoft Teams meetings from My Schedule (iPad and Lightning for My Schedule):
- Select the appropriate call from the calendar.
- Select the Start button from the popover (iPad only). On Browser, select More Details from the popover, then select the Microsoft Teams meeting link from the call record.
The call report launches before users are redirected to the Microsoft Teams landing page.
Support for User Attendees in Microsoft Teams Meetings
When a Microsoft Teams meeting is scheduled for a call, user attendees can join the meeting from the call report. On the iPad platform, user attendees can also join from the call popover in My Schedule.
To join a Microsoft Teams meeting as a user attendee, select the Join button.
Users cannot join a Microsoft Teams meeting while in an Engage Meeting. If users attempt to join a Microsoft Teams meeting while in an Engage Meeting, they are prompted to either select Continue to launch the Microsoft Teams meeting, or select Cancel to remain in the Engage Meeting.
Starting Microsoft Teams Meetings from Microsoft Outlook
If Integrating My Schedule and Microsoft Outlook Calendars is enabled, users can start Microsoft Teams meetings from their calls in Microsoft Outlook. See Starting Microsoft Teams Meetings from Calls in Microsoft Outlook for more information.
Tracking CLM Activity
If users share CLM content in a Microsoft Teams meeting, the CLM activity is captured in Veeva CRM:
- When users return to Veeva CRM after starting a Microsoft Teams meeting and share CLM from the call report, media is tracked against the call. The Share_Channel_vod field on the Call2_Key_Message_vod record if stamped with the value MS_Teams_Meeting_vod.
- If Tracking CLM Activity Anonymously is enabled, media activity is also saved when users share CLM from the media library during a Microsoft Teams meeting
Considerations
- The following default browsers are supported for user authentication:
- Microsoft Edge
- Safari
- Google Chrome
- Users cannot start or join a Microsoft Teams meeting while in an Engage Meeting. If users attempt to start or join a Microsoft Teams meeting while in an Engage Meeting, they are prompted to either select Continue to start the Microsoft Teams meeting, or select Cancel to remain in the Engage Meeting.
- Once users start a Microsoft Teams meeting, the meeting experience is controlled by Microsoft Teams. For example, iPad users may encounter screen sharing limitations in Microsoft Teams.
- When users share their screens via Microsoft Teams on iPad, meeting attendees see all activity on the user's screen
- When using only one screen to share content from Veeva CRM Desktop via the Microsoft Teams Desktop app, Presenter View is not supported. Users can share content in Presenter View either via Microsoft Teams in the browser with only one screen or via the Microsoft Teams Desktop app with two or more screens.