The Egnyte for Dynamics integration will allow you to embed an Egnyte window on a Dynamics object. The Dynamics record will be mapped to an Egnyte folder. There is a 1:1 relationship between a Dynamics record and an Egnyte Folder. This document will walk through the steps of installing the integration.
1. Setup Azure Active Directory
Create Dynamics Service Account
This will walk through the steps of getting a Service Account setup in your Microsoft Environment via Azure AD. We will then set up that account in the Dynamics Account.
1. Log in to the Azure dashboard with your Dynamics CRM credentials (doesn't require additional Azure subscription) link: https://portal.azure.com/#home
2. Go to Azure Active Directory. Navigate to Azure Active Directory in the side menu or click the link: https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview
Section A: Register an Egnyte App.
3. Open App registrations from the menu that just opened.
4. On the top bar, click the New registration button at the top.
5. Fill out the provided form (provide a name) and Register Application.
6. From the screen that just opened copy Application ID and Directory ID (also referred to as tenant ID),
You will need them later in the integration setup so, copy it someplace.
Section B: Configure API Permissions.
7. Choose the API permissions position from the secondary menu in the sidebar.
8. Click add Permission.
9. Now, choose Dynamics CRM from the list.
10. Make sure user impersonation is checked and click Add permissions at the bottom.
11. The result should be something like this (this is an example):
Section C: Configure Certificates and Secrets
12. Choose the Certificates & secrets position from the secondary menu in the sidebar.
13. Click New client secret and set an expiration date (see above).
Keep in mind that right after its creation is the only time you can copy the content of this secret. We will refer to it as
Client Secret. Please copy it and save it for future purposes.
2. Setup Dynamics 365 Sales CRM Dashboard
1. log in to your Dynamics CRM dashboard – your URI will be something along the line here - https://XX.crm.dynamics.com.
2. On the right side, go under Settings -> Advanced Settings -> It will open the new page.
3. Go to a top bar -> Settings Menu, which would overlay the screen on half of the page.
4. Open the Security page.
5. Click on Users.
6. Choose “Application Users” from the drop-down on the top left-hand side.
7. Click the New button in the top left corner.
8. Fill out new User Information.
9. Paste in the Application ID and Application ID URI same value (this is the value Application ID from the Azure AD you created earlier and asked to keep handy). Azure AD Object ID can be left blank and will be filled automatically on save.
10. User Name and Primary Email – Please note that this user must be of TYPE admin in the Egnyte Domain where you are connecting to, and should have the same email ID. It doesn’t have necessarily needed to be a Microsoft organization email ID, as shown in an example below.
11. Save your changes.
12. Now, your application user should be able to make API requests (make sure that all required permissions are provided). A System Administrator role will have the ability to make API Requests. So, ensure you click on “Assign Roles” and assign this user “System administer” permissions in the dialog.
3. Setup Dynamics Resources
This will create the Resources needed to Add the Egnyte integration in Dynamics. Once you have added these resources, you will be able to add them to your Dynamics Entities.
1. Download HTML - https://egnyte.egnyte.com/dl/iozpiftQ1Z/new_PintWebresource.html
2. Log in as a Dynamics Admin.
3. Go to Settings -> Customization -> Customize the System.
4. Once the new page opens, check on the side menu, and click web resources.
5. Click new.
6. Fill out the Web Resource Form for HTML
- Set name ("new_") "PintWebresource"
- Set display name "# Egnyte HTML" ("#" is to make the search easier)
- Set type as "webpage(HTML)"
- Click upload file and upload Egnyte Html web resource from the prerequisites step
- Click save and then publish
4. Setup Dynamics Entity Configuration
This will allow Admin to add the Egnyte iframe window to any object that the Admin wants to be associated with the integration. That object will have a folder created and mapped in the Egnyte file system. Walk through the steps of getting a Service Account setup in your Microsoft Environment via Azure AD.
1. Log in as dynamics admin
2. Go to Settings > Customization > Customize the System
3. On the side menu, click Entities
4. Click the Specific entity you want to place Egnyte iframe in. We will use an Account as an example.
5. Click on Forms.
6. Choose a specific form where add-on should be placed.
7. Select the Insert tab.
8. Select Web resource (you may have to expand the screen to find Web Resource on the menu.
9. Find created in the previous step Html webpage – Search for “new_PintWebResource.”
10. Fill the form and click OK
11. Move position to desired locations
12. Save and publish.
13. The end result should be that you will be able to see “#Egnyte” informs where you placed it.
5. Final Admin Configuration
In this step, the Admin will connect the Dynamics CRM to their specific Egnyte Domain. You will also be able to configure the integration to the specific root folder in Egnyte.
1. Create a new Account entry.
2. When you open Egnyte Add-on in edit mode, it will ask you to map it with the Egnyte account.
3. You will see the authorization button for the 1st
4. Click this button and go through oAuth2 but remember that you map Egnyte Admin. Enter the Egnyte domain (e.g., acme.egnye.com)
a) I have used XX@microsoft.com to sign-in Azure ID, and in Dynamics, I should have the same User and Ema
il ID in Egnyte as admin. b) Additionally, Application user (E.g. I have used firstname.lastname@example.org – same user and email
ID in the Egnyte domain which is in an active state)
5. You will be asked to fill the form and put Application user data (this knowledge should be familiar to Dynamics admin. You can read more about it here, Dynamics 365). In addition, the resource URL is https://<your dynamics subdomain>.crm.dynamics.com
6. Please enter resource URI without / slash at the end (as this is a known issue). Other information
which we asked to save and keep it handy will come to use here now.
7. You also need to put the Egnyte folder path – use this path “/Shared/CRM/Dynamics.” (this is an example only. You can choose any name after /Shared/ in this folder path".
Once you select folder structure, and have Dynamics -> Egnyte Sync Done, later on for any reason if you
need to change a folder structure then it is not currently supported in the 1st version.
8. Submit form
9. Once this is successfully completed (which takes a couple of seconds), you will be able to see Egnyte embedded UI to access your files with a new "Account:" record.
If you run into issues with uploading files & failed status, please check your browser and cookies flag
and ensure you disable flag: E.g., chrome://flags/#same-site-by-default-cookies for the Chrome browser or
other relevant options if you are using other browsers to check.
6. Permission Settings
Depending on your permissions allowed by your Dynamics account, you may have to set up the following Permissions to Egnyte Admins and Users. It should be known fact to Dynamics admin.
Setup for Admin
1. Log in as Dynamics Admin
2. Go to Settings > Security
3. Select Users
4. Edit an Admin user and click Manage Role
5. Add the "Egnyte - Service User" role by Checking the box. If you do not see this role – you can also try “System Administer’s profile."
Setup Individual Users or Teams
1. Log in as Dynamics Admin
2. Go to Settings > Security
3. Select Users or Teams
4. Edit a User/Team and click Manage Role
5. Add "Egnyte - Authorized User" role
Make sure that admin is not in that team, cause his role will be reduced from Service User to Authorized User
Please contact us or your CSM if you are interested in a Limited Release.
Additionally, we are also interested in getting your feedback on what other functionality you would like to see in the future in this thread.