Embedding Profiler in Microsoft Dynamics 365

You can add Profiler to your Microsoft Dynamics 365 instance.

Prerequisites

  • An installed Profiler instance, its associated credentials, including company name and its login prefix.
  • If you are using version 9 and above of Microsoft Dynamics 365, see Version 9 and above.
  • A Microsoft Dynamics 365 instance and the permissions needed to customize it.
  • In Oracle Eloqua, build an allowlist of the domains that will be hosting embedded Profiler pages. Learn more in the Configuring Profiler topic.

Version 9 and above

If you are using version 9 and above of Microsoft Dynamics 365, you will need to perform some steps differently:

  • If Profiler is already embedded in your Microsoft Dynamics 365, you'll need to make the below changes, save them, then publish them.
  • For step 13 in the Handler Properties window, make sure Pass execution context as first parameter is enabled.
  • You'll need to use one of these code snippets for step 18:

    Direct login

    loadProfiler(executionContext){
    var newUrl = "https://login.eloqua.com/apps/embed/salesTools/profiler?emailAddress=" + executionContext.getFormContext().getAttribute("emailaddress1").getValue();Xrm.Page.ui.controls.get("IFRAME_Profiler").setSrc(newUrl);
    }

    Auto-login

    loadProfiler(executionContext){
    var newUrl = "https://login.eloqua.com/autoLogin?LoginPrefix={Login_Prefix}&Url=/apps/embed/salesTools/profiler?emailAddress=" + executionContext.getFormContext().getAttribute("emailaddress1").getValue();Xrm.Page.ui.controls.get("IFRAME_Profiler").setSrc(newUrl);
    }

    SAML SSO

    loadProfiler(executionContext){
    var newUrl = "https://login.eloqua.com/auth/saml2/autologin?CheckFrame=false&LoginPrefix={Login_Prefix}&ReturnUrl=/apps/embed/salesTools/profiler?emailAddress=" + executionContext.getFormContext().getAttribute("emailaddress1").getValue();Xrm.Page.ui.controls.get("IFRAME_Profiler").setSrc(newUrl);
    }

To embed Profiler in Microsoft Dynamics 365:

  1. Log in to Microsoft Dynamics 365 and navigate to Settings.
  2. In the Customization section, click Customizations.

    An image of Microsoft Dynamics 365's Settings section.

  3. On the Customization page, click Customize the System.

    An image of Microsoft Dynamics 365's Customize the System page.

  4. On the PowerApps page, under Components, select Entities > Contact > Forms.
  5. Click New, then select the form you want to add Profiler to, such as Main Form.

    An image of Microsoft Dynamics 365's Forms page.

  6. Click the Insert tab in the top menu.
  7. Add a One Column Tab select the new tab and click IFRAME to add an iframe to it.

    An image of Microsoft Dynamics 365's Insert tab on the Forms page showing where to select a one-column tab and create and iframe.

    The Add an IFRAME window is displayed.
  8. Enter the following iframe values.

    An image of the Add an IFRAME window with the values that you need to add.

    1. Name: IFRAME_Profiler
    2. URL: http://about:blank
    3. Label: Eloqua Profiler
    4. In the Security section, clear the Restrict cross-frame scripting option.
  9. (Recommended) In the Row Layout section of the Formatting tab, increase the height by setting the number of rows to 20 so that Profiler will have enough room to display its information.
  10. On the Dependencies tab, add email as a dependent field.
  11. Click OK to close the Add an IFRAME window.
  12. On the Home tab, click Form Properties.

    An image of the Home tab of the contact form editor window highlighting Form Properties

    The Form Properties window is displayed.
  13. Click Add. The Handler Properties window is displayed.

    Important: If you are using Microsift Dynamics 365 version 9 and above, see Version 9 and above for additional steps in the Handler Properties window.

    An image of the Home tab of the contact form editor window highlighting Form Properties

  14. From the Library list, select new_EPPOnLoad.
  15. In the Function box, enter loadProfiler and click OK.
  16. Double-click your new iframe. The IFRAME Properties window is displayed.
  17. On the Events tab, expand Form Libraries and double-click new_EPPOnLoad. The Edit Content window is displayed.
  18. Depending on your login type, copy and paste one of the following code snippets into the code editor:

    Important: If you are using Microsoft Dynamics 365 version 9 and above, see Version 9 and above for the code snippets. Ignore the below code snippets for step 18.

    • Direct login

      function loadProfiler() {
      var newUrl = "https://login.eloqua.com/apps/embed/salesTools/profiler?emailAddress=" + document.getElementById("{emailaddress1}").title;Xrm.Page.ui.controls.get("IFRAME_Profiler").setSrc(newUrl);
      }

    • Autologin

      function loadProfiler() {
      var newUrl = "https://login.eloqua.com/autoLogin?LoginPrefix={Login_Prefix}&Url=/apps/embed/salesTools/profiler?emailAddress="+ document.getElementById("{emailaddress1}").title;Xrm.Page.ui.controls.get("IFRAME_Profiler").setSrc(newUrl);
      }

    • SAML SSO

      function loadProfiler() {
      var newUrl = "https://login.eloqua.com/auth/saml2/autologin?CheckFrame=false&LoginPrefix={Login_Prefix}&ReturnUrl=/apps/embed/salesTools/profiler?emailAddress="+ document.getElementById("{emailaddress1}").title;Xrm.Page.ui.controls.get("IFRAME_Profiler").setSrc(newUrl);
      }

    Direct login example:

    An image of the Edit Content window where you can paste your newEPPOnLoad code snippet

    Replace {Login_Prefix} with your four-character Eloqua login prefix code, such as ELQA. You can alternatively use SiteId={site_ID} with your Eloqua site ID, which is a numeric code. To find your login prefix or your site ID, navigate to Settings > Display Preferences > Company Defaults. You can also choose to ignore this parameter and it will attempt to log you in using the first Eloqua saved credential it finds.

    Replace the {emailaddress1} with the value in your Microsoft Dynamics 365 instance. For example, it can be emailaddress1, emailaddress1_d, or emailaddress1_i. To determine what is used in your Microsoft Dynamics 365 data, inspect an existing contact's email address with your browser's developer tools. For example, to find your value using Google Chrome:

    1. Go to Sales > Contacts and click an existing contact.
    2. Pressing Ctrl+Shift+I to open developer tools.
    3. On the Elements tab, press Ctrl+F and search for emailaddress1.
    4. The value associated with the contact's email address field that is followed by title="{emailAddress}" indicates the value you need to include. In the following example, the needed value is emailaddress1_d.

      An image of a contact being examined by Chrome developer tools

    Example: If you chose autologin, your {LoginPrefix} is ELQA, and your {emailaddress1} value is emailaddress1_d, your code should look something like this:

    function loadProfiler(){
    var newUrl = "https://login.eloqua.com/autoLogin?LoginPrefix=ELQA&Url=/apps/embed/salesTools/profiler?emailAddress="+ document.getElementById("emailaddress1_d").title;Xrm.Page.ui.controls.get("IFRAME_Profiler").setSrc(newUrl);
    }

  19. Click OK to close the text editor.
  20. On the Home tab, click Save, click Publish, and then close the PowerApps window.

    An image of where to save and publish your changes

  21. Go to Contacts and open a contact that is known to exist in both Oracle Eloqua Profiler and Microsoft Dynamics 365 to test that your new Eloqua Profiler iframe is working. If you are prompted to authenticate, enter your Eloqua credentials. If there is a match based on the email address, the Profiler iframe should display information for the contact.

    An image of the Eloqua Profiler iframe within MS Dynamics 365

Important: If the IFRAME window appears blank, navigate to Settings > Administration > System Settings > General, and change the setting for Use legacy form rendering to Yes. Microsoft Dynamics will then correctly render the Profiler iframe.

Learn more

Profiler integration

Profiler

Microsoft Dynamics 365, MS Dynamics, EPPOnLoad