Configure proxy for on-demand mode (UI buttons)
Learn how to configure on-demand UI buttons for RIH with D&B Data Blocks.
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.
Prerequisites
-
You must have he
ROLE_DNB_CONNECTORrole and theROLE_USER_RIH_INVOKERrole assigned. -
The
ROLE_USER_RIH_INVOKERrole is required to execute the RIH proxy used by the on-demand enrichment flow.
To configure a proxy for on-demand mode:
- Navigate to Tools > API platform.
- On the Clients tab select Create new API Client.
- In the Profile Name field, enter 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 3
- In the Reltio Console, select UI Modeler.
- From the left navigation pane, select Import/Export UI Config Files and export the UI configuration 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", "component": "Custom", "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 (example,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
- 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.
- Ensure that all three buttons appear under the D&B panel and trigger expected enrichment behavior.