The attributes used - _quote_remote_approval_process_id_remoteSubmit String RemoteProcessId +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ records = bmql("select username, password, reviseUrl, requestUrl from integration.remoteApproval"); username=""; password=""; reviseUrl=""; requestUrl=""; for record in records { reviseUrl=get(record, "reviseUrl"); requesturl=get(record, "requestUrl"); username = get(record, "username"); password = get(record, "password"); } returnString=""; PullURL = requestUrl+"/" + _quote_remote_approval_process_id_remoteSubmit + "/audit?graphic=N"; header = dict("string"); encodeCredential = encodebase64(username+":"+password); put(header, "Authorization", "Basic "+encodeCredential); response = urldata(PullURL, "get", header); returnValue = json(get(response,"Message-Body")); print("return Value - "); print(returnValue); historyValues = jsonpathgetsingle(returnValue , "$.processHistory[2].taskHistory", "jsonarray"); print(historyValues); strArray= String[jsonarraysize(historyValues)]; i=0; for s in strArray { jsonDict= jsonarrayget(historyValues, i, "json"); actionName = jsonget(jsonDict,"actionName"); comment=jsonget(jsonDict,"reason"); if(actionName=="Task Completed - Approved") { actionName=BM_REMOTE_APPROVAL_STATUS_APPROVED; } elif(actionName=="Task Completed - Rejected"){ actionName=BM_REMOTE_APPROVAL_STATUS_REJECTED; } else { if(comment=="") { comment=actionName; } else { comment=actionName+"-"+comment; } actionName=BM_REMOTE_APPROVAL_STATUS_CUSTOM; } date1 = jsonget(jsonDict,"updatedDate"); returnString=returnString+jsonget(jsonDict,"displayName")+"~"+"~"+datetostr (strtojavadate(date1, "yyyy-MM-dd HH:mm:ss"),"MM/dd/yyyy hh:mm a")+"~"+actionName+ "~" + comment +"~||"; i=i+1; } return returnString;