...
The M365 tenant must be set up with at least a Microsoft Entra ID P1 tier.
The user completing the initial configuration must be an M365 Administrator and have access to the Microsoft Identity Manager portal (Admin centers->Identity from admin.microsoft.com)
The service account that CAM will use should have at least a Microsoft 365 Business Basic license (for Teams, Sharepoint, Planner) and the separate Teams license group if using MS Teams, or a Planner license group if using MS Planner, or Sharepoint license group if using MS Sharepoint.
...
...
Note |
---|
As of January 30, 2021 Azure is not allowing custom token expiry settings. The conditional access policies determine how the token expires are configured. This requires at least a P1 license. See the Microsoft link here. |
...
Service Account Permissions
...
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CAM App RegistrationsThis process allows adding the CAM App (by Litera) via the Azure Active Directory. User/organization can be imported to the Teams app once the registration completes. For iManage M365 App Proxy, see iManage Note: The following details are required when configuring M365 in CAM using External System Configuration:
Domain |
Region | URI |
Production URLs are used for CAM to connect M365. Select the production URIs based on the environment you are setting up.
Production
UK(prosperoware.co.uk) (eu-west-2) |
Production
EU(prosperoware.eu) (eu-west-1) |
Production
US East (prosperoware.io) |
Production
Apac(Singapore)(camapac.com) (ap-southeast-1) |
Production
US West(Oregon)(camuswest.com) |
Production
US West
Australia (Sydney)(pwcamau.com) (ap-southeast-2) |
If you are using the CAM teams app, then Microsoft M365 URIs are required. It allows accessing documents that a user has access to in Teams or all shared documents like Teams/SharePoint/OneNote/OneDrive.
Microsoft M365
APAC
https://camteamapp.camapac.com/team/apacprod/web/auth-end.html
Microsoft M365
EU
https://camteamapp.prosperowaredev.eu/team/euprod/web/auth-end.html
Microsoft M365
UK
https://camteamapp.prosperowaredev.co.uk/team/ukprod/web/auth-end.html
Microsoft M365
US
https://camteamapp.prosperoware.io/team/usprod/web/auth-end.html
Click Register to register the Add-in. The system will show a successfully created message with the information created. Save the retrieved information (client id and client secret), since you will need this in the next step ahead and to enter in the M365 configuration setup.
On the App Registration page, click into APP, find the Application ID, Directory (Tenant) Id field.
Save this information in Notepad - The ID and Directory (Tenant) Id fields will be used when completing the M365 configuration panel in CAM later in the process.
Click on the Certificates and Secrets page in the left-hand menu.
In the Client Secret section, click New client secret; Enter a description and select an expiry length. Save the Value in Notepad- You will need to put this into the Application Password field in the M365 Configuration panel in CAM later in the process.
Enterprise Applications
If a user doesn’t have access in the Entra portal to App registrations, they can use Enterprise applications instead.
Click on Enterprise Applications fromApplications on the entra.microsoft.com portal.
Click New Application.
Click the button tab on top called Create your own application.
Put a friendly name like CAM Azure proxy. Click on Register an Application to integrate with Microsoft Entra ID
Follow the steps under App registrations above from Step 5.
title | Step 2. Setting Microsoft Graph Permissions in M365 for the CAM App |
---|
Microsoft Graph Permissions in M365
The following permissions will need to be enabled in the Entra Portal.
Go to "Entra Portal" entra.microsoft.com .
Click on "App registration" in the left side bar.
Select the registered app.
Click on "API permissions" in the left side bar.
To configure new permissions, Click on "+ Add a permission"
Select "Microsoft Graph"
Now add Delegated and Application Permissions provided below
Click on "Add permissions" and select "Grant admin consent for <global admin user>"
Required Permissions to Create or Manage Teams
Permission
Type
Operation
Description
Channel.Create
Application
Create channel
Used for creating a channel. Used in conjunction with Group.ReadWrite.All.
ChannelMember.ReadWrite.All
Application
Add Channel Members
Used for assigning and reassigning team channel members.
Files.ReadWrite.All
Application
Can be Delegated
Get Channel SharePoint Folder, Create Channel Folder
Used for file creation and editing in channels or sharepoint.
Needed if you use Content Mover. Not needed if you don’t use Content Mover.
Application
Create/Edit Group, Team, Channel
Set Group Owner
Delete Group
Used for creating and editing Groups, Teams, Channels, Planners, and Sharepoint folders. Allows to set the group owner. Allows to delete groups.
GroupMember.ReadWrite.All
Application
Can be Delegated
Create/Edit Group memberships
Used for creating or modifying group memberships for groups.
Sites.ReadWrite.All
Application
Create Channel Folder, Create List, Create List Item
Used for creating channel folders, and lists and assigning items to the lists in Teams and Sharepoint.
For creating lists, you will need to add the Sites.Manage.All permission.
User.ReadWrite.All
Application
Create/Edit/Delete User
Used for creating, editing and deleting users.
You cannot delete a user without the Global Admin or User Admin role.
Note |
---|
If Group.ReadWrite.All, Channel.Create and User.ReadWrite.All permissions (all three) are not provided, then Directory.ReadWrite.All is needed to be delegated and enabled. |
Permissions for -APIs my Organization Uses-> Microsoft Teams Services
Permission
Type
Operation
Description
Region.ReadWrite
Delegated
Read or write user region
This is an API permission found under ‘Request API Permissions’ and the purpose of this permission is not strictly for private channel creation, but rather to read and write users’ regions in their profiles. A dependency for private channel creation in CAM. Find the permission under APIs my Organization uses->Search for Microsoft Teams Services and add this permission.
User_impersonation
Delegated
Have full access to the Team service.
Needed for private channel creation. Follow the Manifest instructions below in Step 3 to add. The Sharepoint site won’t get created without this. Add this by APIs my Organization uses->Search for User_impersonation and add this permission.
Optional Permissions
These permissions are optional and can be added based on your firm’s usage of CAM.
Permission
Type
Operation
Description
AllSites.FullControl
Delegated
Manage sharepoint sites
This gives full control to manage Sharepoint site collections
AppCatalog.Read.All
Application
Used to get custom app detail from app store
Used to display the iManage Teams application in Teams for example inside a tab in a team
Calendars.Read
Application
Read Calendar
Used for reading and visualizing the Calendar tab in the CAM Teams App.
Files.Read.All
Delegated
Read Documents
Used for reading and visualizing the Documents tab in the CAM Teams App.
Mail.Read
Application
Read Mail
Used for reading mail and visualizing the Calendar tab in the CAM Teams App.
Notes.ReadWrite.All
Application
OneNote
Read and write all OneNote notebooks and use OneNote in Teams.
Tasks.ReadWrite
Application
Create, read, update, and delete user’s planner tasks and task lists.
Allows creating, reading and updating planner tasks and lists.
TeamMember.Read.
All
Application
Read Team Members within the CAM Teams app
Read the members of all teams so they can be shown in the CAM Teams app.
TeamsAppInstallation.ReadForTeam.All
Application
Read the app name
Get the name of app in the app store of Teams. Sets it as a custom tab.
If using the iManage app in Teams, they will need this permission.
User.invite.All
Application
Adding/Inviting external users to team and channel
Invite guest/external users to the Teams organization.
User.Read.All
Application
Read Directory
Canada(Central)(pwcamcanada.com) | https://5y7l4fx7x1.execute-api.ca-central-1.amazonaws.com/v1/cam/auth/redirect |
Click Register to register the Add-in. The system will show a successfully created message with the information created. Save the retrieved information (client id and client secret), since you will need this in the next step ahead and to enter in the M365 configuration setup.
On the App Registration page, click into APP, find the Application ID, Directory (Tenant) Id field.
Save this information in Notepad - The ID and Directory (Tenant) Id fields will be used when completing the M365 configuration panel in CAM later in the process.
Click on the Certificates and Secrets page in the left-hand menu.
In the Client Secret section, click New client secret; Enter a description and select an expiry length. Save the Value in Notepad- You will need to put this into the Application Password field in the M365 Configuration panel in CAM later in the process.
Enterprise Applications
If a user doesn’t have access in the Entra portal to App registrations, they can use Enterprise applications instead.
Click on Enterprise Applications fromApplications on the entra.microsoft.com portal.
Click New Application.
Click the button tab on top called Create your own application.
Put a friendly name like CAM Azure proxy. Click on Register an Application to integrate with Microsoft Entra ID
Follow the steps under App registrations above starting from Step 5.
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Microsoft Graph Permissions in M365The following permissions will need to be enabled in the Entra Portal.
Required Permissions to Create or Manage Teams
Permissions for -APIs my Organization Uses-> Microsoft Teams Services
Optional PermissionsThese permissions are optional and can be added based on your firm’s usage of CAM.
OneNote Permission Change StepsEffective March 31, 2025, the Microsoft OneNote API does not support the Application permission type for the OneNote permissions including Notes.ReadWrite.All. This warning note can be read on Microsoft here. If you as a CAM user, utilize OneNote, and get the error “The request does not contain a valid authentication token. This API will no longer support app-only tokens starting from March 31, 2025”, you will need to perform the steps below. The steps to modify the Application permission type to the supported Delegated permission type are:
|
Expand | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Private Channel PermissionsCAM uses Azure AD - Microsoft Graph API - to access resources in M365 to create Groups and Teams. When you create a private channel, it has its own SharePoint site collection. The separate site collection is to ensure access to that private channel files are restricted to only members of the private channel compared to the team site where team owners have access to all the assets within the site collection. The site collection created using private channels as per Microsoft documentation is not visible in the SharePoint admin center unless someone manually clicks on the Files tab in teams once the SharePoint site will be available in 1-2 min or almost instantly. To trigger the click event on the Files tab, CAM needs the Microsoft native API permission which can be added by following the steps -
10. Click Save. 11. Now click on API permissions on the left bar. 12. On the right side, scroll down till the end. 13. Under "Microsoft Teams Services (1)", it will list user_impersonation under Microsoft Teams Services, status as Not granted for <global admin user>. 14. In order to provide admin consent, scroll to the top of the page and click on select Grant admin consent for <global admin user>. 15. Confirmation message pop up displays, select “Yes”, add other granted permissions to configured permissions.
Snapshot of Manifest |
Expand | ||||
---|---|---|---|---|
| ||||
Service Account Permission - Use Planner in TeamsNote: If you would like to have Microsoft's Planner app within MS Teams, refer to Microsoft’s Planner app documentation. To be able to create the Planner tab in Team Channels, Microsoft requires that delegated / service account users be created and is a member of the team. However, to build a team, there must be an appointed owner. Because of this requirement, you need an additional service account so that you can switch to it to create a planner.
Configuration in CAM PlannerFollow the steps to create a Planner inside a Channel. Follow these steps to create a Planner.
Note: Microsoft has a restriction, only group members can access Planners. As group owners cannot access Planners, you need an additional service account (group member) to create a Planner. Token roles can be assigned to group members while creating a planner. After a group member creates the Planner, the token role can be reassigned to the owner. A token role is assigned to a group member so that the group member is able to receive the token and approve the creation of planners.
|
Note |
---|
Warning: Ensure the Additional Service Account is set in the External System configuration. |
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Connecting M365 with the CAM PlatformTo add a New M365 Connection to the CAM Platform
M365 Role Mapping
The configured O365 Authentication(s) displayed in the M365 tab is as follows
Editing an Existing Configuration
|
Expand | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||
Group Name RulesDefine the M365 group names rules and format to be applied.
The configured group name rule(s) display in the table with the following columns:
|
Expand | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||
Metadata MappingMap the metadata for M365 group with these steps.
The completed metadata displays in the following columns in the table:
|
Expand | ||
---|---|---|
| ||
M365 - Add Guest AccountGuest Accounts can be created in CAM for M365. If creating guest accounts externally, there are no password requirements, but a password can be set, as the user is created temporarily without a profile. Invite Guest Users from Request Workflow -> Default Security Or upload CSV. |
Expand | ||
---|---|---|
| ||
M365 - User Default PasswordWhen creating users, a default password can be set. How to create a default password:
|
...