void automation.updateownersretrolead()
{
Getall = zoho.crm.getRecords("Site_Visits",1,100,{"cvid":5971686000096266822});
for each everyrecord in Getall
{
get_data = zoho.crm.getRecordById("Site_Visits",everyrecord.get("id"));
First_Name = get_data.get("First_Name");
Last_Name = get_data.get("Last_Name");
Visitors_Mobile_Number = get_data.get("Visitors_Mobile_Number");
Visitors_Type = ifnull(get_data.get("Visitors_Type"),"");
Visitors_Name = ifnull(get_data.get("Name"),"");
Budget = ifnull(get_data.get("Budget"),"");
Broker_Name = ifnull(get_data.get("Broker_Name"),"");
Broker_Type = ifnull(get_data.get("Broker_Type"),"");
Brokerage_Name = ifnull(get_data.get("Brokerage_Name"),"");
Office_Site_Location = ifnull(get_data.get("Office_Site_Location"),"");
Product_Interested_in = ifnull(get_data.get("Product_Interested_in"),"");
Visitors_Mobile_Number = ifnull(get_data.get("Visitors_Mobile_Number"),"");
Visitors_Email = ifnull(get_data.get("Email"),"");
Description = ifnull(get_data.get("Description"),"");
Sales_Manager = ifnull(get_data.get("Sales_Manager1"),"");
//info Sales_Manager;
No_of_Bedrooms = ifnull(get_data.get("No_of_Bedrooms"),"");
curren_datatime = zoho.currenttime.toString("yyyy-MM-dd'T'HH:mm:ssXXX");
updatemap = Map();
samson_id = 5971686000062801060;
// default owner
user_id = null;
if(Sales_Manager != "")
{
response = invokeurl
[
url :"https://www.zohoapis.com/crm/v6/users?type=ActiveUsers"
type :GET
connection:"crmroot"
];
//info response;
for each rec in response.get("users")
{
if(rec.get("full_name").contains(Sales_Manager))
{
user_id = rec.get("id");
info "User id: " + user_id;
break;
}
}
}
else
{
user_id = "";
}
/////////Seach leads
///////////////////
searchCriteria = "(Mobile:equals:" + Visitors_Mobile_Number + ") OR (Email:equals:" + Visitors_Email + ")";
leads = zoho.crm.searchRecords("Leads",searchCriteria);
if(Visitors_Type == "Buyer")
{
if(leads.isEmpty())
{
info "Inside buyer create lead condition: ";
Lead_map = Map();
Lead_map.put("Budget1",Budget);
Lead_map.put("Description",Description);
Lead_map.put("Email",Visitors_Email);
Lead_map.put("Product_Interested_In",Product_Interested_in);
Lead_map.put("Mobile",Visitors_Mobile_Number);
Lead_map.put("Last_Name",Visitors_Name);
Lead_map.put("Lead_Type",Visitors_Type);
Lead_map.put("Lead_Source","Marketing");
Lead_map.put("Sub_Source","Walk In");
Lead_map.put("No_of_Bedrooms",No_of_Bedrooms);
Lead_map.put("Last_Date_and_Time",get_data.get("Check_In_Date_Time"));
/////////
////////////
userList = list();
userEntry1 = Map();
userMap1 = Map();
if(user_id.isEmpty() != null)
{
info "inside if: ";
userEntry1.put("Sales_Manager",userMap1);
userMap1.put("id",user_id);
Lead_map.put("Owner",user_id);
userList.add(userEntry1);
Lead_map.put("Sales_Manager",userList);
}
else
{
info "Inside else: ";
Lead_map.put("Owner",samson_id);
}
//////////////
tag1 = Map();
tag1.put("name","Walk in Visitor");
tags_list = List();
tags_list.add(tag1);
Lead_map.put("Tag",tags_list);
/////////////
/////////////////
body_map = Map();
data_list = List();
data_list.add(Lead_map);
body_map.put("data",data_list);
response = invokeurl
[
url :"https://www.zohoapis.com/crm/v5/Leads"
type :POST
parameters:body_map.toString()
connection:"newzohocrm"
];
info response;
if(response.containKey("data"))
{
response_data = response.get("data");
if(response_data.size() > 0)
{
record_info = response_data.get(0);
if(record_info.containKey("details"))
{
details = record_info.get("details");
new_id = details.get("id");
}
}
}
info "Rec id: " + new_id;
////
///////////Lookup update
//////////////////
updatemap.put("Leads",ifnull(new_id,""));
}
else
{
for each rec in leads
{
id = rec.get("id");
tag1 = Map();
tag1.put("name","Walk in Visitor");
tags_list = List();
tags_list.add(tag1);
param = Map();
param.put("Tag",tags_list);
param.put("Last_Date_and_Time",get_data.get("Check_In_Date_Time"));
////////
//////////////
///////////////////////
//////////////////////////////////
userList = list();
userEntry1 = Map();
userMap1 = Map();
info userMap1;
info user_id;
if(user_id.isEmpty() != null)
{
info "inside if: ";
userEntry1.put("Sales_Manager",userMap1);
userMap1.put("id",user_id);
param.put("Owner",user_id);
userList.add(userEntry1);
param.put("Sales_Manager",userList);
}
else
{
info "Inside else: ";
param.put("Owner",samson_id);
}
dataList = list();
dataList.add(param);
bodyMap = Map();
bodyMap.put("data",dataList);
response = invokeurl
[
url :"https://www.zohoapis.com/crm/v5/Leads/" + id + ""
type :PUT
parameters:bodyMap.toString()
connection:"newzohocrm"
];
info "Buyer Update lead resp: " + response;
///////////
///////////////////
/////////////////////////////
updatemap.put("Leads",ifnull(id,""));
//info update_lead;
}
}
}
else if(Visitors_Type == "Broker")
{
info "Neew lead inside: ";
info "inside broker: ";
default_owner = 5971686000027930041;
////Elise Habkouk
if(leads.isEmpty())
{
Lead_map = Map();
Lead_map.put("Description",Description);
Lead_map.put("Email",Visitors_Email);
Lead_map.put("Mobile",Visitors_Mobile_Number);
Lead_map.put("First_Name",First_Name);
Lead_map.put("Last_Name",Visitors_Name);
Lead_map.put("Lead_Type",Visitors_Type);
Lead_map.put("Lead_Source","Marketing");
Lead_map.put("Sub_Source","Walk In");
Lead_map.put("Lead_Status","Broker");
Lead_map.put("Brokerage_Name",Brokerage_Name);
Lead_map.put("Broker_Type",Broker_Type);
Lead_map.put("Last_Date_and_Time",get_data.get("Check_In_Date_Time"));
////////
userList = list();
userEntry1 = Map();
userMap1 = Map();
if(user_id.isEmpty() != null)
{
info "inside if: ";
userEntry1.put("Sales_Manager",userMap1);
userMap1.put("id",user_id);
Lead_map.put("Owner",user_id);
userList.add(userEntry1);
Lead_map.put("Sales_Manager",userList);
}
else
{
info "Inside else: ";
Lead_map.put("Owner",default_owner);
}
///////////
tag1 = Map();
tag1.put("name","Walk in Broker");
tags_list = List();
tags_list.add(tag1);
Lead_map.put("Tag",tags_list);
////
body_map = Map();
data_list = List();
data_list.add(Lead_map);
body_map.put("data",data_list);
response = invokeurl
[
url :"https://www.zohoapis.com/crm/v5/Leads"
type :POST
parameters:body_map.toString()
connection:"newzohocrm"
];
info response;
if(response.containKey("data"))
{
response_data = response.get("data");
if(response_data.size() > 0)
{
record_info = response_data.get(0);
if(record_info.containKey("details"))
{
details = record_info.get("details");
new_id = details.get("id");
}
}
}
info "Rec id: " + new_id;
///////
///////////
updatemap.put("Leads",ifnull(new_id,""));
}
else
{
for each rec in leads
{
id = rec.get("id");
tag1 = Map();
tag1.put("name","Walk in Broker");
tags_list = List();
tags_list.add(tag1);
param = Map();
param.put("Tag",tags_list);
param.put("Last_Date_and_Time",get_data.get("Check_In_Date_Time"));
//
userList = list();
userEntry1 = Map();
userMap1 = Map();
info userMap1;
if(user_id.isEmpty() != null)
{
info "inside if: ";
info user_id;
userEntry1.put("Sales_Manager",userMap1);
userMap1.put("id",user_id);
param.put("Owner",user_id);
userList.add(userEntry1);
param.put("Sales_Manager",userList);
}
else
{
info "Inside else: ";
param.put("Owner",default_owner);
}
dataList = list();
dataList.add(param);
bodyMap = Map();
bodyMap.put("data",dataList);
response = invokeurl
[
url :"https://www.zohoapis.com/crm/v5/Leads/" + id + ""
type :PUT
parameters:bodyMap.toString()
connection:"newzohocrm"
];
info "Buyer Update lead resp: " + response;
updatemap.put("Leads",ifnull(id,""));
}
}
}
updatemap.put("retro", true);
UpdateSiteVisit = zoho.crm.updateRecord("Site_Visits",everyrecord.get("id"),updatemap);
info UpdateSiteVisit;
}
}