Webex Connect JavaSscript Examples

Retrieve Google Sheets worksheet- example:

Then set the response Code and Response Body as variables when leaving the HTTP node - as per below.

{
  "range": "customers!A1:Z1000",
  "majorDimension": "ROWS",
  "values": [
    [
      "PhoneNumber",
      "FirstName",
      "LastName",
      "email"
    ],
    [
      "35315551234",
      "Bob",
      "Bobster",
      "[email protected]"
    ],
    [
      "353871231234",
      "Alice",
      "Anderson",
      "[email protected]"
    ]
  ]
}
[
   {
        "PhoneNumber": "3535551234",
        "FirstName": "Bob",
        "LastName": "Bobster",
        "email": "[email protected]"
    },
    {
        "PhoneNumber": "353871231234",
        "FirstName": "Alice",
        "LastName": "Anderson",
        "email": "[email protected]"
    }	
]
if (statusCode == 200) {
    const data = JSON.parse(responseBody);
    const inputArray = data["values"];
    const headers = inputArray[0];
    const rows = inputArray.slice(1);
 
    const output = [];
    for (let i = 0; i < rows.length; i++) {
        let rowObject = {}; // Create a new object for each row - note 'const' should work here - but didn't. Platform using old JS?
        for (let j = 0; j < headers.length; j++) {
            rowObject[headers[j]] = rows[i][j];
        }
        output.push(rowObject); // Push the new object to the output array
    }
 
    myheaders = headers.toString();
    myrows = rows.toString();
    myoutput = output;
    customersJSON = JSON.stringify(output);
    1;
} else {
    2;
}

JDS → Data Parse

//var jsonString = '{"meta":{"organizationId":"5818cf70-ae2c-4baa-8f1f-48887c8a806a","workspaceId":"67d924cb4f3fdd73d498afd8","resultCount":3,"identity":null},"data":[{"id":"70d22c95-769f-4b4c-8b69-2860cdaa1b07","specversion":"1.0","type":"ie.eirevo.wxcc.customer.openeir.dp.fault","source":"2025-08-22","time":"2025-08-22T09:31:30.93Z","identity":"353858769707","identitytype":"socialId","previousidentity":null,"datacontenttype":"application/json","data":{"eircode":"unknown","item":"Pole","position":{"latitude":53.2700808,"longitude":-6.1172522}}},{"id":"b70e35db-4090-4799-8fb7-6bd9708bf824","specversion":"1.0","type":"ie.eirevo.wxcc.customer.openeir.dp.fault","source":"2025-08-22","time":"2025-08-22T09:11:15.834Z","identity":"353858769707","identitytype":"socialId","previousidentity":null,"datacontenttype":"application/json","data":{"eircode":"unknown","item":"Pole","position":{"latitude":53.2700706,"longitude":-6.1172585}}},{"id":"2cb9a904-d0f9-4f95-879f-fe7dd6dea410","specversion":"1.0","type":"ie.eirevo.wxcc.customer.openeir.dp.fault","source":"2025-08-22","time":"2025-08-22T08:57:37.009Z","identity":"353858769707","identitytype":"socialId","previousidentity":null,"datacontenttype":"application/json","data":{"eircode":"unknown","item":"Pole","position":{"latitude":53.2700762,"longitude":-6.117223}}}]}'
 
var jsonString = jdsResponseBody;
var inputJson = JSON.parse(jsonString); // convert string → object
 
var outputJson = [];
for (var i = 0; i < inputJson.data.length; i++) {
    outputJson.push(inputJson.data[i].data);
}
var jsonJdsDataObjectsString = JSON.stringify(outputJson);
1;

min distance

//var jsonString ='[{"eircode":"unknown","item":"Pole","position":{"latitude":53.2700808,"longitude":-6.1172522}},{"eircode":"unknown","item":"Pole","position":{"latitude":53.2700706,"longitude":-6.1172585}},{"eircode":"unknown","item":"Pole","position":{"latitude":53.2700762,"longitude":-6.117223}}]'
var jsonString = jsonJdsDataObjectsString;
 
//var lat_ref = 53.2700681;
//var lon_ref = -6.1172521;
//var min_dist = 200;
 
var lat_ref = locationLatitude;
var lon_ref = locationLongitude;
var min_dist = min_dist;
 
var inputJson = JSON.parse(jsonString); // convert string → object
var distMeter = Math.sqrt(Math.pow(lat_ref, 2) + Math.pow(lon_ref, 2));
function computeDistance(lat, lon, lat_ref, lon_ref) {
    var latDiffMeter = 111320 * (lat - lat_ref);
    var lonDiffMeter = 67700 * (lon - lon_ref);
    var distMeter = Math.sqrt(Math.pow(latDiffMeter, 2) + Math.pow(lonDiffMeter, 2));
    //return {latDiffMeter, lonDiffMeter, distMeter};
    return {
        latDiffMeter: latDiffMeter, lonDiffMeter: lonDiffMeter, distMeter: distMeter
    };
}
 
// Process each entry
var output = [];
for (var i = 0; i < inputJson.length; i++) {
    var entry = inputJson[i];
    var latitude = entry.position.latitude;
    var longitude = entry.position.longitude;
    var dist = computeDistance(latitude, longitude, lat_ref, lon_ref);
 
    if (dist.distMeter <= min_dist) {
        output.push({
            eircode: entry.eircode,
            item: entry.item,
            latitude: latitude,
            longitude: longitude,
            //LatitudeDiffMeter: dist.latDiffMeter,
            //LongitudeDiffMeter: dist.lonDiffMeter,
            DistMeter: dist.distMeter
        });
    }
}
 
jsonMinDistanceString = JSON.stringify(output);
 
if (output === []) {
    1;
} else {
    2;
}
//var jsonString = '[{"eircode":"ABC1001","item":"pole","latitude":53.12345,"longitude":-6.123456,"DistMeter":16324.886386556258},{"eircode":"ABC1002","item":"banana","latitude":53.12345,"longitude":-6.123456,"DistMeter":16324.886386556258},{"eircode":"ABC1003","item":"pole","latitude":53.12345,"longitude":-6.123456,"DistMeter":16324.886386556258},{"eircode":"ABC1004","item":"pole","latitude":53.12345,"longitude":-6.123456,"DistMeter":16324.886386556258}]';
var jsonString = jsonMinDistanceString;
var inputJson = JSON.parse(jsonString);
 
// Count occurrences
var counts = {};
for (var i = 0; i < inputJson.length; i++) {
    var itemName = inputJson[i].item;
    // Normalize first letter uppercase, rest lowercase (like "Pole", "Banana")
    var formattedName = itemName.charAt(0).toUpperCase() + itemName.slice(1).toLowerCase();
 
    if (counts[formattedName]) {
        counts[formattedName]++;
    } else {
        counts[formattedName] = 1;
    }
}
 
// Convert counts object into array of {Item, Count}
var output = [];
for (var key in counts) {
    if (counts.hasOwnProperty(key)) {
        output.push({
            Item: key,
            Count: counts[key]
        });
    }
}
 
jsonDuplicateString = JSON.stringify(output);
1;
//var jsonString =  = '[{"Item":"Pole and cables","Count":1},{"Item":"Pole","Count":3}]';
var jsonString = jsonDuplicateString;
var inputJson = JSON.parse(jsonString);
 
duplicateListString = "";
 
for (var i = 0; i < inputJson.length; i++) {
    var item = inputJson[i];
    duplicateListString += "ItemName: " + item.Item + ", Report Count: " + item.Count + "\n";
}
 
1;
  • vendors/cisco/uc/webconnect/js.txt
  • Last modified: 2025/08/23 11:29
  • by gerardorourke