If multiple accounts or contacts can be found in CRM by phone number, the system displays a grid underneath the phone, with some information of the records found.
The grid has the following columns:
Icon reflecting the type of entity (account or contact)
Name (clickable to open the record)
Address and City
Checkbox button to select a record in the context of the current call
Address and City columns of the grid can be fully customized, plus name replaced using a custom plugin. The example code of such a plugin:
var SampleCustomer = SampleCustomer || {}; SampleCustomer.Plugins = SampleCustomer.Plugins || {}; SampleCustomer.Plugins.manipulateSearchResults = async function(context) { debugger; context.customerSearchResults.setColumnHeaders(["foo", "bar"]); context.customerSearchResults.setRowData("b41a1595-e321-ec11-b6e6-6045bd8a1d39", "foo", ["bar", "qwe"]); };
The context parameter of the JS plugin function contains a customerSearchResults
property. It is an instance of Enreach.API.customerSearchResults
class, which has the following methods:
setColumnHeaders(columnHeaders)
Manipulates the column headers of the grid. Only Address and City columns ca be overridden. Default columns are removed when the method is called.
columnHeader: string array of column headers
setRowData(id, name, fieldValues)
Updates the values of a particular item.
id: primary key (GUID) of the item
name: the value which should be displayed in Name column of the grid
fieldValues: array of additional field (string) values to be displayed
The number of columns given to setColumnHeaders and length of fieldValues array have to be identical.