Microapps

Integrate Microsoft Dynamics CRM

Integrate with Microsoft Dynamics CRM to monitor and manage leads, opportunities, and cases without requiring extra logins. Use the following process to enable the Microsoft Dynamics CRM Integration. Review the prerequisites, register the new application, get the key value, and delegate permissions.

Note

We provide two Microsoft Dynamics integration templates for your use. We recommend using the newer HTTP integration for most use-cases as it provides more power to configure the cached data structure. The Microsoft Dynamics template is the basis for the Microsoft Dynamics HTTP integration. For full details of the microapps available in each integration, see Use Microsoft Dynamics microapps.

For a comprehensive list of out-of-the-box Microsoft Dynamics CRM microapps, see Use Microsoft Dynamics CRM microapps.

Review prerequisites

Create a dedicated Office 365 account to configure the integration. After you complete this process, your existing level of audit logging persists, including any actions carried out by the use of Citrix Microapps.

After you set up this integration in MS Dynamics CRM, you will need these artifacts to add the integration in Citrix Workspace Microapps:

  • Authorization Sign-on URL
  • Application (client) ID
  • Secret key value
  • Valid Microsoft Dynamics CRM account details

Ensure you meet the following prerequisites:

  • If your internal server hosting Workspace is behind a firewall, allow access to host name www.dynamics.com with port 443, so Workspace can connect to the MS Dynamics CRM cloud.

  • Authorization Sign-on URL (Citrix provided). Configure Citrix Gateway to support single sign-on for MS Dynamics so that once users log in they are automatically logged in again without having to enter their credentials a second time. For more information about configuring SSO, see Citrix Gateway Service.

  • A dedicated Office 365 account that you use to configure the MS Dynamics CRM integration. This dedicated account must have full data access privileges in MS Dynamics CRM (System Administrator). For more information, see Create users in Dynamics 365 for Customer Engagement apps and assign security roles.

Register your application and callback URLs

Register your new application, add callback URLs, and collect the Application ID.

  1. Log in to https://portal.azure.com.
  2. Select Azure Active Directory > App registrations > + New registration.
  3. Enter the Name that you want to use for the application, select your Supported account types according to your organizational needs. Select Help me choose… for guidance on this option.
  4. Add a custom URL to your instance configuration to grant access to private data and enable OAuth authenticated user actions. Under Redirect URI (optional), select Web and enter the two following callback URLs and the base URL for your instance of MS Dynamics. This is the same URL that you have to enter in the Microapps UI when setting up the integration. The first callback that is listed does not change. The second callback depends on the target application, and can be found in your URL address bar when creating the integration. The section {yourmicroappserverurl} is composed of a tenant part, a region part, and an environment part: https://{tenantID}.{region(us/eu/ap-s)}.iws.cloud.com:

    • https://{yourmicroappserverurl}/admin/api/gwsc/auth/serverContext
    • https://{yourmicroappserverurl}/app/api/auth/serviceAction/callback
    • Your Base URL, the consistent part of your web address that you use for this integration. For example: https://app.{yoursaasapp}.com
  5. Copy the Application (client) ID for use when you add the integration to Citrix Workspace Microapps. Copy the Application ID URI as well, and store for later use if needed.

Enable delegated permissions

With delegated permissions the app can be delegated permission to act as the signed-in user when making calls to the target resource.

  1. From your registered app view, select API permissions and +Add a permission.
  2. Select the Dynamics CRM tile, and under What type of permissions does your application require?, select the DELEGATED PERMISSIONS tile.
  3. Select the check box for the permissions to add, and select Add permissions at the bottom.

Generate a secret key value

Generate a secret string that the application uses to prove its identity when requesting a token.

  1. Select Certificates and Secrets. Select + New client secret.
  2. Enter a Description for the client secret.
  3. Under Expires, select Never. Select Add.
  4. Copy and save the client secret Value that was created. It is not visible after you leave this page.

Filter queries

Most Microsoft Dynamics CRM entities support filtering. The $filter parameter can be added to any endpoints. For more information, consult the Microsoft Dynamics CRM query Web API reference.

Examples:

Only active appointments:
//api/data/v9.0/appointments$filter(statecode eq 0 or statecode eq 3)

Only incidents from last 1 month:
//api/data/v9.0/incidents$filter Microsoft.Dynamics.CRM.LastXMonths(PropertyName='modifiedon',PropertyValue=1)

Add the Microsoft Dynamics integration to Citrix Workspace Microapps

Add the Microsoft Dynamics HTTP integration to Citrix Workspace Microapps to connect to your application. This delivers out-of-the-box microapps with pre-configured notifications and actions which are ready to use within your Workspace.

Follow these steps to set up the Microsoft Dynamics HTTP integration. The authentication options are preselected. Ensure that these options are selected as you complete the process. We recommend using this newer HTTP integration for most use-cases. The HTTP integration provides more power to configure the cached data structure.

Follow these steps:

  1. From the Microapp Integrations page, select Add New Integration, and Add a new integration from Citrix-provided templates.
  2. Choose the Microsoft Dynamics tile.
  3. Enter an Integration name for the integration.
  4. Enter Connector parameters.
    • Enter the instance Base URL. This is the domain for your MS Dynamics environment and the consistent part of your web address that you use for this integration.
    • Select an Icon for the integration from the Icon Library, or leave this as the default MS Dynamics icon.
    • Enable the On-premises instance toggle if you are creating an on-premises connection. For more information, see On-premises instance.

    Connector specs

  5. Under Service authentication, select OAuth 2.0 from the Authentication method menu and complete the authentication details. The authentication options are preselected. Ensure that these options are selected as you complete the process. Use the OAuth 2.0 security protocol to generate request/authorization tokens for delegated access. It is recommended that you always use OAuth 2.0 as your service authentication method where available and a Grant Type authorization code. OAuth 2.0 ensures that your integration meets the maximum security compliance with your configured microapp.

    1. Select Authorization code from the Grant type menu. This grants a temporary code that the client exchanges for an access token. The code is obtained from the authorization server where you can see the information the client is requesting. Only this grant type enables secure user impersonation. This displays the Callback URL, which you use when registering your application.
    2. Select Request body from the Token authorization menu.
    3. The Authorization URL is prefilled. Enter your Authorization URL or simply keep the generally available provided URL.
    4. The Token URL is prefilled. Enter your Token URL or simply keep the generally available provided URL.
    5. Enter your Client ID. The client ID is the string representing client registration information unique to the authorization server. You collect this and the secret when you configured the OAuth server. You need to add the Callback URL you see on the integration configuration page.
    6. Enter your Client secret. The client secret is a unique string issued when setting up the target application integration.
    7. (Optional) Enter your Header prefix if your bearer prefix is different from the default header.

    Authentication

  6. When using OAuth 2.0, select Add Parameter to include Access token parameters. Enter resource for Name and {yourmsdynamicscrmurl} for Value. This parameter is required by the target application authorization server.

    Add parameters

  7. Under Service Action Authentication, enable the Use Separate User Authentication in Actions toggle. Service action authentication authenticates at the service action level. The authentication options are preselected. Ensure that these options are selected as you complete the process.

    1. Select OAuth 2.0 from the Authentication method menu and complete the authentication details.
    2. Select Authorization code from the Grant type menu. This grants a temporary code that the client exchanges for an access token. The code is obtained from the authorization server where you can see the information the client is requesting. Only this grant type enables secure user impersonation. This will display the Callback URL, which you use when registering your application.
    3. Select Request body from the Token authorization menu.
    4. The Authorization URL is prefilled.
    5. The Token URL is prefilled.
    6. Enter your Client ID. The client ID is the string representing client registration information unique to the authorization server. You collect this and the secret when you configured the OAuth server. You need to add the Callback URL you see on the integration configuration page.
    7. Enter your Client secret. The client secret is a unique string issued when setting up the target application integration.
    8. (Optional) Enter your Header prefix if your bearer prefix is different from the default header.

    Service action

  8. Again, select Add Parameter to include Access token parameters. Enter resource for Name and {yourmsdynamicscrmurl} for Value. This parameter is required by the target application authorization server.

    Add parameters

  9. (Optional) If you want to activate rate limiting for this integration, enable the Request rate limiting toggle and set the Number of requests per Time interval.
  10. Leave Request timeout value as default.
  11. (Optional) Enable Logging toggle to keep 24 hours of logging for support purposes.

    Rate limiting and logging toggles

  12. Select Save to proceed.
  13. Under OAuth Authorization, select Authorize to log in with your service account. A pop-up appears with a Workday login screen.
    1. Enter your Service Account user name and password and select Log in.
    2. Select Accept. Service Authentication

The Microapp Integrations page opens with your added integration and its microapps. You are now ready to set and run your first data synchronization. As a large quantity of data can be pulled from your integrated application to the Microapps platform, we recommend you use the Table page to filter entities for your first data synchronization to speed up synchronization. For more information, see Verify needed entities. For complete information about synchronization rules, synchronization that does not meet its schedule and veto rules, see Synchronize data.

For more details of API endpoints and table entities, see MS Dynamics connector specifications.

Use MS Dynamics CRM microapps

Existing application integrations come with out-of-the-box microapps. Start with these microapps and customize them for your needs.

MS Dynamics CRM microapps

Our Microsoft Dynamics CRM integration comes with the following preconfigured out-of-the-box microapps:

Accounts: Search, view, and edit accounts.

Notification or Page Use-case workflows
Account Assigned To You (Existing) notification When the owner of an account is changed, the new owner receives a notification.
Account Assigned To You (New) notification When a new account is assigned to a user, they receive a notification.
Account Detail page Provides details of an account with contacts listed and a link to contact details.
Contact Detail page Provides details of a contact.
Edit Account page Provides a form for updating details of an account.
My Accounts page Provides a table view of a user’s accounts with search functionality and a link to details.

Appointments: Search, view, and edit appointments.

Notification or Page Use-case workflows
Appointment Assigned To You (Existing) notification When the owner of an appointment is changed, the new owner receives a notification.
Appointment Assigned To You (New) notification When a new appointment is assigned to a user, they receive a notification.
Account Detail page Provides details of an account with contacts listed and a link to contact details.
Appointment Detail page Provides details of an appointment.
Case Detail page Provides details of a case.
Contact Detail page Provides details of a contact.
Edit Appointment page Provides a form for updating details of an appointment.
Lead Detail page Provides details of a lead.
My Open Appointments page Provides a table view of a user’s appointments with search functionality and a link to details.
Opportunity Detail page Provides details of an opportunity.

Cases: Search, view, and edit cases.

Notification or Page Use-case workflows
Case Assigned To You (Existing) notification When the owner of a case is changed, the new owner receives a notification.
Case Assigned To You (New) notification When a new case is assigned to a user, they receive a notification.
Account Detail page Provides details of an account with contacts listed and a link to contact details.
Case Detail page Provides details of a case.
Case Resolve page Provides a form for resolving a case.
Contact Detail page Provides details of a contact.
Edit Case page Provides a form for updating details of a case.
My Open Cases page Provides a table view of a user’s open cases with search functionality and a link to details.

Contacts: Search, view, and edit contacts.

Notification or Page Use-case workflows
Contact Assigned To You (Existing) notification When the owner of a contact is changed, the new owner receives a notification.
Contact Assigned To You (New) notification When a new contact is assigned to a user, they receive a notification.
Account Detail page Provides details of an account with contacts listed and a link to contact details.
Contact Detail page Provides details of a contact.
Edit Contact page Provides a form for updating details of a contact.
My Contacts page Provides a table view of a user’s contacts with search functionality and a link to details.

Create Account: Create an account.

Notification or Page Use-case workflows
Create Account page Provides a page for submitting a new account with details.

Create Appointment: Create an appointment.

Notification or Page Use-case workflows
Create Appointment page Provides a page for submitting a new appointment with details.

Create Case: Create a case.

Notification or Page Use-case workflows
Create Case page Provides a page for submitting a new case with details.

Create Contact: Create a contact.

Notification or Page Use-case workflows
Create Contact page Provides a page for submitting a new contact with details.

Create Lead: Create a lead.

Notification or Page Use-case workflows
Create Lead page Provides a page for submitting a new lead with details.

Create Opportunity: Create an opportunity.

Notification or Page Use-case workflows
Create Opportunity page Provides a page for submitting a new opportunity with details.

Create Phone Call: Create a phone call.

Notification or Page Use-case workflows
Create Phone Call page Provides a page for submitting a new phone call with details.

Create Task: Create a task.

Notification or Page Use-case workflows
Create Task page Provides a page for submitting a new task with details.

Leads: Search, view, and edit leads.

Notification or Page Use-case workflows
Lead Assigned To You (Existing) notification When the owner of a lead is changed, the new owner receives a notification.
Lead Assigned To You (New) notification When a new lead is assigned to a user, they receive a notification.
Edit Lead page Provides a form for updating details of a lead.
Lead Detail page Provides details of a lead.
My Open Leads page Provides a table view of a user’s open leads with search functionality and a link to details.

Opportunities: Search, view, and edit opportunities.

Notification or Page Use-case workflows
Opportunity Assigned To You (Existing) notification When the owner of an opportunity is changed, the new owner receives a notification.
Opportunity Assigned To You (New) notification When a new opportunity is assigned to a user, they receive a notification.
Account Detail page Provides details of an account with contacts listed and a link to contact details.
Close as Lost page Provides a form for closing an opportunity as lost with details.
Close as Won page Provides a form for closing an opportunity as won with details.
Contact Detail page Provides details of a contact.
Edit Opportunity page Provides a form for updating details of an opportunity.
My Open Opportunities page Provides a table view of a user’s open opportunities with search functionality and a link to details.
Opportunity Detail page Provides details of an opportunity.

Phone Calls: Search, view, and edit phone calls.

Notification or Page Use-case workflows
Phone Call Assigned To You (Existing) notification When the owner of a phone call is changed, the new owner receives a notification.
Phone Call Assigned To You (New) notification When a new phone call is assigned to a user, they receive a notification.
Account Detail page Provides details of an account with contacts listed and a link to contact details.
Case Detail page Provides details of a case.
Contact Detail page Provides details of a contact.
Edit Phone Call page Provides a form for updating details of a phone call.
My Open Phone Calls page Provides a table view of a user’s phone calls with search functionality and a link to details.
Opportunity Detail page Provides details of an opportunity.
Phone Call Detail page Provides details of a phone call.

Tasks: Search, view, and edit tasks.

Notification or Page Use-case workflows
Task Assigned To You (Existing) notification When the owner of a task is changed, the new owner receives a notification.
Task Assigned To You (New) notification When a new task is assigned to a user, they receive a notification.
Account Detail page Provides details of an account with contacts listed and a link to contact details.
Case Detail page Provides details of a case.
Contact Detail page Provides details of a contact.
Edit Task page Provides a form for updating details of a task.
Lead Detail page Provides details of a lead.
My Open Tasks page Provides a table view of a user’s open tasks with search functionality and a link to details.
Opportunity Detail page Provides details of an opportunity.
Task Detail page Provides details of a task.

Add the legacy integration

Follow these instructions to set up the legacy integration.

Add the legacy integration to Citrix Workspace Microapps

Add the Microsoft Dynamics CRM integration to Citrix Workspace Microapps to connect to your application. This delivers out-of-the-box microapps with pre-configured notifications and actions which are ready to use within your Workspace.

Follow these steps:

  1. From the overview page, select Get Started.

    The Manage Integrations page opens.

  2. Select Add New Integration, and Add a new integration from Citrix-provided templates.
  3. Choose the Microsoft Dynamics CRM tile to add.
  4. Enter a name for the integration.

    MS Dynamics CRM connector parameters, URL, Application ID, Key, OAuth Authorization

  5. Enter the Connector parameters that you collected in the previous procedures.
    • Enter your URL.
    • Enter your Application ID and Key.
    • Toggle Use User OAuth Authorization in Actions if you require OAuth in microapp actions.
    • Select Log in with your MS Dynamics CRM account to enable OAuth Authorization. A sign-in page opens in a new tab. You are prompted to enter an account name, confirm access, and enter a password.
  6. Select Add.

The Microapp Integrations page opens with your added integration and its microapps. From here you can add another integration, continue setting up your out-of-the-box microapps, or create a new microapp for this integration.

You are now ready to set and run your first data synchronization. As a large quantity of data can be pulled from your integrated application to the Microapps platform, we recommend you use the Table page to filter entities for your first data synchronization to speed up synchronization. For more information, see Verify needed entities. For complete information about synchronization rules, synchronization that does not meet its schedule and veto rules, see Synchronize data.

For more details of API endpoints and table entities, see Microsoft Dynamics connector specifications.

Use Microsoft Dynamics CRM legacy microapps

Existing application integrations come with out-of-the-box microapps. Start with these microapps and customize them for your needs.

Microsoft Dynamics CRM microapps

Our MS Dynamics CRM integration comes with the following preconfigured out-of-the-box microapps:

Accounts: Search, view, and edit accounts.

Notification or Page Use-case workflows
Account Assigned To You (Existing) notification When the owner of an account is changed, the new owner receives a notification.
Account Assigned To You (New) notification When a new account is assigned to a user, they receive a notification.
Account Detail page Provides details of an account with contacts listed and a link to contact details.
Contact Detail page Provides details of a contact.
Edit Account page Provides a form for updating details of an account.
My Accounts page Provides a table view of a user’s accounts with search functionality and a link to details.

Appointments: Search, view, and edit appointments.

Notification or Page Use-case workflows
Appointment Assigned To You (Existing) notification When the owner of an appointment is changed, the new owner receives a notification.
Appointment Assigned To You (New) notification When a new appointment is assigned to a user, they receive a notification.
Account Detail page Provides details of an account with contacts listed and a link to contact details.
Appointment Detail page Provides details of an appointment.
Case Detail page Provides details of a case.
Contact Detail page Provides details of a contact.
Edit Appointment page Provides a form for updating details of an appointment.
Lead Detail page Provides details of a lead.
My Open Appointments page Provides a table view of a user’s appointments with search functionality and a link to details.
Opportunity Detail page Provides details of an opportunity.

Cases: Search, view, and edit cases.

Notification or Page Use-case workflows
Case Assigned To You (Existing) notification When the owner of a case is changed, the new owner receives a notification.
Case Assigned To You (New) notification When a new case is assigned to a user, they receive a notification.
Account Detail page Provides details of an account with contacts listed and a link to contact details.
Case Detail page Provides details of a case.
Case Resolve page Provides a form for resolving a case.
Contact Detail page Provides details of a contact.
Edit Case page Provides a form for updating details of a case.
My Open Cases page Provides a table view of a user’s open cases with search functionality and a link to details.

Contacts: Search, view, and edit contacts.

Notification or Page Use-case workflows
Contact Assigned To You (Existing) notification When the owner of a contact is changed, the new owner receives a notification.
Contact Assigned To You (New) notification When a new contact is assigned to a user, they receive a notification.
Account Detail page Provides details of an account with contacts listed and a link to contact details.
Contact Detail page Provides details of a contact.
Edit Contact page Provides a form for updating details of a contact.
My Contacts page Provides a table view of a user’s contacts with search functionality and a link to details.

Create Account: Create an account.

Notification or Page Use-case workflows
Create Account page Provides a page for submitting a new account with details.

Create Appointment: Create an appointment.

Notification or Page Use-case workflows
Create Appointment page Provides a page for submitting a new appointment with details.

Create Case: Create a case.

Notification or Page Use-case workflows
Create Case page Provides a page for submitting a new case with details.

Create Contact: Create a contact.

Notification or Page Use-case workflows
Create Contact page Provides a page for submitting a new contact with details.

Create Lead: Create a lead.

Notification or Page Use-case workflows
Create Lead page Provides a page for submitting a new lead with details.

Create Opportunity: Create an opportunity.

Notification or Page Use-case workflows
Create Opportunity page Provides a page for submitting a new opportunity with details.

Create Phone Call: Create a phone call.

Notification or Page Use-case workflows
Create Phone Call page Provides a page for submitting a new phone call with details.

Create Task: Create a task.

Notification or Page Use-case workflows
Create Task page Provides a page for submitting a new task with details.

Leads: Search, view, and edit leads.

Notification or Page Use-case workflows
Lead Assigned To You (Existing) notification When the owner of a lead is changed, the new owner receives a notification.
Lead Assigned To You (New) notification When a new lead is assigned to a user, they receive a notification.
Edit Lead page Provides a form for updating details of a lead.
Lead Detail page Provides details of a lead.
My Open Leads page Provides a table view of a user’s open leads with search functionality and a link to details.

Opportunities: Search, view, and edit opportunities.

Notification or Page Use-case workflows
Opportunity Assigned To You (Existing) notification When the owner of an opportunity is changed, the new owner receives a notification.
Opportunity Assigned To You (New) notification When a new opportunity is assigned to a user, they receive a notification.
Account Detail page Provides details of an account with contacts listed and a link to contact details.
Close as Lost page Provides a form for closing an opportunity as lost with details.
Close as Won page Provides a form for closing an opportunity as won with details.
Contact Detail page Provides details of a contact.
Edit Opportunity page Provides a form for updating details of an opportunity.
My Open Opportunities page Provides a table view of a user’s open opportunities with search functionality and a link to details.
Opportunity Detail page Provides details of an opportunity.

Phone Calls: Search, view, and edit phone calls.

Notification or Page Use-case workflows
Phone Call Assigned To You (Existing) notification When the owner of a phone call is changed, the new owner receives a notification.
Phone Call Assigned To You (New) notification When a new phone call is assigned to a user, they receive a notification.
Account Detail page Provides details of an account with contacts listed and a link to contact details.
Case Detail page Provides details of a case.
Contact Detail page Provides details of a contact.
Edit Phone Call page Provides a form for updating details of a phone call.
My Open Phone Calls page Provides a table view of a user’s phone calls with search functionality and a link to details.
Opportunity Detail page Provides details of an opportunity.
Phone Call Detail page Provides details of a phone call.

Tasks: Search, view, and edit tasks.

Notification or Page Use-case workflows
Task Assigned To You (Existing) notification When the owner of a task is changed, the new owner receives a notification.
Task Assigned To You (New) notification When a new task is assigned to a user, they receive a notification.
Account Detail page Provides details of an account with contacts listed and a link to contact details.
Case Detail page Provides details of a case.
Contact Detail page Provides details of a contact.
Edit Task page Provides a form for updating details of a task.
Lead Detail page Provides details of a lead.
My Open Tasks page Provides a table view of a user’s open tasks with search functionality and a link to details.
Opportunity Detail page Provides details of an opportunity.
Task Detail page Provides details of a task.
Integrate Microsoft Dynamics CRM