Connecting Dynamics
Externable uses Application Users to connect your Dynamics/Dataverse instances to portals. We don't support username/password users firstly because it is not recommended approach to application authentication, but secondly due to Dynamics/Dataverse API call limits. Username/password users have lower API limits then pooled limits for Application Users. Thus, before you connect your Dynamics to Externable, you need to get ApplicationID and Secret, which you will set in portal settings. You need to be Active Directory admin to perform following steps.
Go to Active Directory settings
In this example we will present how to provision application user in Azure Directory hosted in Azure. Go to portal.azure.com
Click on App Registration and click New Registration
Give it a name, leave everything else default and click register:
Copy Application ID:
Go to Certificates & Secrets, add new, give it a name, set it to never expire and click Add:
Copy Secret:
Create User in Dynamics
Go to Advanced Settings
Go to Security and Users:
Change View to Application Users
Click new
Change Form to Application User and paste application id into Application Id field and Save:
Click Manage Roles, select security role you want user to have (good practice is to keep it to minimum required) and click ok:
Go back to Externable
Go back to Externable admin page
Paste Application ID and Secret to Dynamics settings:
Save settings. If you change settings of an instance which has been provisioned before, it may a moment for settings to be deployed to your portal.
Don't click save yet as you need to populate your Email SMTP settings too. See in the next section.
Setting up Data Export Service connection string
Dynamics/Dataverse comes with API limitations. It is highly recommended that you configure your DES (Data Export Service) and link it to Externable. That will allow you to read data from Dynamics not consuming your API call limits.
NOTE:Be aware that although DES is the best way to decrease your Dynamics API calls consumptions and improve your site perfomance, it works with a delay. Delay varies from 15mins up to several hours depending on the Dynamics database size, so you need to assess if such delay is acceptable for your portal workflow.
- Set up your Data Export Service as per Microsoft article: https://docs.microsoft.com/en-us/power-platform/admin/replicate-data-microsoft-azure-sql-database
- Get DES database connection string (containing username, password, server address and database name) - for databases stored in Azure SQL you can get them from Database settings panel in portal.azure.com. For databases hosted on Azure VMs you may need your DB admin to provision connection string for you.
- Paste the connection string to Dynamics settings:
Create Contact on New Member
If you tick this tickbox, whenever new Member (so your frontend user) registers, Externable will create a coresponding contact in Dynamics and link Externable Member account with a contact. If you decide not use this feature, Externable Members will not be linked to Dynamics contacts, so you will need to link them manually in Externable admin panel - otherwise you wouln't be able to use member contact guid value in your FetchXML/SQL queries in Externable. Those are use full for example if you want to present a user with her/his own orders or invoices.
Don't click save yet as you need to populate your Dynamics/Dataverse settings too. See in the next section.