1.Goal - Get the name of the caller from the Salesforce on basis of the caller number to greet the caller like Hello Sara Jones.
2. Data lookup service explanation - Help
3.Automatic Call Distribution for Salesforce set up for Name Lookup. Default set up available with Automatic Call Distribution for Salesforce
4.Parameters required for Name data lookup service
1.Data Lookup ID
2.Org Id
3.PBX ID
4.Caller Id
1. Create function in Twilio for caller name look up. |
Sample code for name look up function -
const axios = require('axios');
exports.handler = function (context, event, callback) {
const twiml = new Twilio.twiml.VoiceResponse();
var pbxToken = "abcdhdhdhddhdha9483789555fjhfkjfhfhjfhfjh";
var orgId = "00D24000000HxHABCD";
var pbxId = "E0BE26-58A3C0-65B267";
var lookupid = "7DC115-CC8F9C-57C2E9";
var apiBaseUrl = "https://acd1.miragecloud.com/acd/api/DataLookup/";
var callerId = event.CallerId;
var caller = callerId.split('@')[0].split(':')[1];
var url = apiBaseUrl + pbxId + orgId + "?callerid=" + caller + "&token=" + pbxToken + "&lookupid=" + lookupid;
axios
.get(url)
.then((response) => {
var responsestring = response.data.replace('{\n \"name\" : \"',"").replace('\"\n}',"");
twiml.say('Hello ' + responsestring);
return callback(null, responsestring);
})
.catch((error) => {
console.error(error);
return callback(error);
});
};
2. Create a studio flow for the call flow and call the above name look up function to get the caller name. Pass CallerId as the function parameter.
Note : To test any Automatic Call Distribution for Salesforce set up, you can use Custom Configuration Test Tool available in PBX test tool