Configure proxy for on-demand mode (UI buttons)
Learn how to configure on-demand UI buttons for RIH with D&B Data Blocks.
Prerequisites
Before you begin, make sure that users who run the on-demand D&B UI buttons have the ROLE_DNB_CONNECTOR role and the ROLE_USER_RIH_INVOKER role. The ROLE_USER_RIH_INVOKER role is required to execute the RIH proxy used by the on-demand enrichment flow.
The RIH proxy enables on-demand D&B enrichment requests from UI buttons to invoke the configured Integration Hub endpoint securely. When this configuration is in place, you can trigger D&B match, company information, and hierarchy or contact enrichment actions from Organization profiles.
- Create Access Token for RIH Proxy
- Navigate to Tools > API platform.
- On the Clients tab select Create new API Client.
- Name the new API Client RIH-Proxy.
- Choose Authentication method as Auth Token.
- Choose the D&B - REST API Collections collection
- On the API Keys tab select Create API key.
- Set the profile name to
{tenantID}_{apiCollection}. - Select Generate.
- Store this token for use in Step #2
- Be sure to use a consistent naming convention for example “tenantID+APICollectionName”
- Store the profile name and value
- Update UI configuration for on-demand buttons
Configure the UI configuration file so that on-demand enrichment buttons appear on profile pages.
- Navigate to Reltio Console > UI Modeler.
- Select Import/Export UI Config Files.
- In the right pane, hover over the file name, and select Export to download the JSON file.
- Open the file and locate the top-level
sidePanelViewsarray. - Add a new object to define the D&B buttons using
"id": "D&B".{ "id": "D&B", "views": [ // Place the button definitions here ] } - Add the following sample block:
{ "id": "GetMatchButtonView", "class": "CustomActionView", "label": "Get D&B Match", "url": "https://360-rih-proxy.reltio.com/api/v1/proxy/workato/invoke_endpoints", "success": "Success! Please reload this profile and review the 'Verification' details to check whether a match was found. Resolve the Potential Match to enrich the profile.", "fail": "Failure:", "loading": "Processing...", "height": 34, "profileName": "{{tenantId}}_DnB_-_REST_API_Collections", "workatoEndpoint": "https://apim.workato.com/{{workatoEndpoint}}/trigger-recipes/dev-dnb-api-real-time-enrichment-rest-api?doNotMerge=true&dataBlocks=companyinfo_L3_v1,diversityinsight_L1_v1&entityURI=", "proxyMethod": "POST", "action": { "permissions": [ "https://360-rih-proxy.reltio.com", "https://apim.workato.com" ], "files": [ "https://reltio-ui-files.s3.amazonaws.com/custom-scripts/b2b_application_dnb_proxy.js" ] }, "canRead": { "roles": [ "ROLE_DNB_CONNECTOR", "ROLE_DNB_CONNECTOR_ADMIN" ] } }, { "id": "GetCompanyDetailsButtonView", "class": "CustomActionView", "label": "Get D&B Company Info", "url": "https://360-rih-proxy.reltio.com/api/v1/proxy/workato/invoke_endpoints", "success": "Success! This profile should now be updated with the latest company information.", "fail": "Failure:", "loading": "Processing...", "height": 34, "profileName": "{{tenantId}}_DnB_-_REST_API_Collections", "workatoEndpoint": "https://apim.workato.com/{{workatoEndpoint}}/trigger-recipes/dev-dnb-api-real-time-enrichment-rest-api?doNotMerge=false&dataBlocks=companyinfo_L3_v1,diversityinsight_L1_v1&entityURI=", "proxyMethod": "POST", "action": { "permissions": [ "https://360-rih-proxy.reltio.com", "https://apim.workato.com" ], "files": [ "https://reltio-ui-files.s3.amazonaws.com/custom-scripts/b2b_application_dnb_proxy.js" ] }, "canRead": { "roles": [ "ROLE_DNB_CONNECTOR", "ROLE_DNB_CONNECTOR_ADMIN" ] } }, { "id": "GetAssociationButtonView", "class": "CustomActionView", "label": "Get D&B Hierarchy & Contacts", "url": "https://360-rih-proxy.reltio.com/api/v1/proxy/workato/invoke_endpoints", "success": "Success! If Contact and Hierarchy data was available, this profile should now be enriched with the corresponding Company Hierarchy and Principal Contacts' relationships. Please reload the profile.", "fail": "Failure:", "loading": "Processing...", "height": 34, "profileName": "{{tenantId}}_DnB_-_REST_API_Collections", "workatoEndpoint": "https://apim.workato.com/{{workatoEndpoint}}/trigger-recipes/dev-dnb-api-real-time-enrichment-rest-api?doNotMerge=false&dataBlocks=hierarchyconnections_L1_v1,principalscontacts_L1_v2&entityURI=", "proxyMethod": "POST", "action": { "permissions": [ "https://360-rih-proxy.reltio.com", "https://apim.workato.com" ], "files": [ "https://reltio-ui-files.s3.amazonaws.com/custom-scripts/b2b_application_dnb_proxy.js" ] }, "canRead": { "roles": [ "ROLE_DNB_CONNECTOR", "ROLE_DNB_CONNECTOR_ADMIN" ] } } - Update the following keys in each button JSON with tenant-specific values:
url— Use the RIH proxy URL (e.g.,https://360-rih-proxy.reltio.com/api/v1/proxy/workato/invoke_endpoints).profileName— Use the API profile created in the proxy setup (e.g.,{{tenantId}}_DnB_-_REST_API_Collections).action.permissions— Add proxy and Workato URLs as allowed domains."action": { "permissions": [ "https://360-rih-proxy.reltio.com", "https://apim.workato.com" ], "files": [ "https://reltio-ui-files.s3.amazonaws.com/custom-scripts/b2b_application_dnb_proxy.js" ] }workatoEndpoint— Copy the real-time enrichment endpoint from the RIH API Platform:"workatoEndpoint": "https://apim.workato.com/reltio-pm204/trigger-recipes/dev-dnb-api-real-time-enrichment-rest-api
- Configure the on-demand buttons. Note: The doNotMerge parameter for these buttons are different per button, by design. Do not change these values. The dataBlocks parameter for these buttons are different per button, by design. You should change these values according to the data blocks and versions being utilized.
Modify the
workatoEndpointvalue for each button to set the appropriatedataBlocksparameter based on licensed D&B blocks:companyinfo_L1_v1,L2, orL3diversityinsight_L1_v1hierarchyconnections_L1_v1principalscontacts_L1_v2
- Validate the outcome on the tenant profile UI
- Re-upload the modified JSON to UI Modeler and publish.
- Ensure that all three buttons appear under the D&B panel and trigger expected enrichment behavior.