In order for Zap SSRS Report Scheduler App to have necessary permissions for generating & emailing the report, we need to:
- Register a new app in Azure Active Directory (please note that no azure credits are needed) [pre-requisite to step 2]
- Set Up Authentication (requires user credentials to be stored)
Step 2: Set Up Authentication :
Zap SSRS Report Scheduler App is a native app and works from within Dynamics 365. The online reporting service is not directly accessible and requires generation of an authentication token. In-order to generate this authentication token, we need to store the credentials of a licensed CRM user. This user is not required to be a CRM Administrator (can even be a user with team member license).
Browse to Zap Apps >> Zap RS Authentication Setup and click New.
Explanation of form fields:
Environment Type: Online / On-Premise (This field will be available from solution v3.0.2016.0001 onwards)
UserName & Password: Enter username and password of a CRM user.
Please note the following points:
- You can store the credentials of any CRM user (even a user with team-member license is fine… as long as the user the rights to generate a CRM report).
- Please ensure that CRM user whose credentials are being stored does not have multi-factor authentication enabled.
- The user-credentials are encrypted and stored in your CRM database securely …only a user with “System Administrator” role may have access to it.
- The report will be generated using the permission of this user. However we later process the report results to show only those records which the “Owner” of the scheduled record has permissions to.
Domain Name: This field is applicable only to on-premise crm. Enter your CRM server domain name.
Application ID: Enter the “Application ID” which was generated when you registered the app in Azure Active Directory.
Always RE-ENTER PASSWORD when modifying Username or Application ID or Domain Name values
After entering username, password and application id …SAVE the record. On saving, buttons “Test Connection” and “Test Report” will be available.
Test Connection: You can test the connection status by clicking button “Test Connection” in ribbon area.
The field “Test Connection Status” will be updated to either “Success” or “Failure”.
If Test Connection Status shows as “Failure” then one of the possible reasons could be:
- Incorrect username, password or Application ID
- The Azure App registered was not given access permissions for CRM API (Refer KB article: Getting Started (1): Register an Azure App)
- Username or Application ID was modified and saved…however password was not re-entered. (Please note that you need to always re-enter password…whenever username or application id is being modified)
Test Report: If “Test Connection Status” is “Success” then proceed to this step. Here on-Click of “Test Report” button, we retrieve an out-of-box report (currently “Account Overview”) under the permissions of the user whose credentails have been entered in this form…and save the report under the notes section (of this form). You can verify the report by checking the notes section.
Once “Test Report” is success, you can proceed with scheduling of the report.