try { resp = zoho.desk.getRecordById("<OrgId>","tasks",task_id); ticket_id = resp.get("ticketId"); ticket_resp = zoho.desk.getRecordById("<OrgId>","tickets",ticket_id); description = resp.get("subject"); customer_email = ticket_resp.get("email"); search_resp = invokeurl [ url :"https://fsm.zoho.com/fsm/v1/Contacts/search?api_name=Email&value=" + customer_email type :GET connection:"fsmconnection" ]; if(search_resp == "" || search_resp == null) { desk_contact_search_resp = zoho.desk.searchRecords("<OrgId>","Contacts",{"email":customer_email}); desk_contact_search_data = desk_contact_search_resp.get("data").toMap(); contact_create_Map = Map(); contact_create_Map.put("Salutation","Mr."); contact_create_Map.put("First_Name",desk_contact_search_data.get("firstName")); contact_create_Map.put("Last_Name",desk_contact_search_data.get("lastName")); contact_create_Map.put("Email",desk_contact_search_data.get("email")); contact_create_Map.put("Phone",desk_contact_search_data.get("phone")); contact_create_Map.put("Mobile",desk_contact_search_data.get("mobile")); contact_Service_Address_Map = Map(); contact_Service_Address_Map.put("Address_Name",desk_contact_search_data.get("lastName") + " Shipping Address"); contact_Service_Address_Map.put("Street_1",desk_contact_search_data.get("street")); contact_Service_Address_Map.put("City",desk_contact_search_data.get("city")); contact_Service_Address_Map.put("State",desk_contact_search_data.get("state")); contact_Service_Address_Map.put("Zip_Code",desk_contact_search_data.get("zip")); contact_Service_Address_Map.put("Country",desk_contact_search_data.get("country")); contact_Billing_Address_Map = Map(); contact_Billing_Address_Map.put("Address_Name",desk_contact_search_data.get("lastName") + " Billing Address"); contact_Billing_Address_Map.put("Street_1",desk_contact_search_data.get("street")); contact_Billing_Address_Map.put("City",desk_contact_search_data.get("city")); contact_Billing_Address_Map.put("State",desk_contact_search_data.get("state")); contact_Billing_Address_Map.put("Zip_Code",desk_contact_search_data.get("zip")); contact_Billing_Address_Map.put("Country",desk_contact_search_data.get("country")); contact_create_Map.put("Service_Address",contact_Service_Address_Map); contact_create_Map.put("Billing_Address",contact_Billing_Address_Map); cr_resp = zoho.fsm.createRecord("Contacts",contact_create_Map); customer_id = cr_resp.get("data").toMap().get("Contacts").toMap().get("id"); } else { customer_id = search_resp.get("data").toMap().get("id"); } customer_resp = zoho.fsm.getRecordById("Contacts",customer_id); customer_data = customer_resp.get("data").toMap(); Billing_Address_Map = customer_data.get("Billing_Address").toMap(); if(Billing_Address_Map != null) { billing_Address_map = Map(); billing_Address_map.put("id",Billing_Address_Map.get("id")); billing_Address_map.put("Billing_Street_1",Billing_Address_Map.get("Street_1")); billing_Address_map.put("Billing_Street_2",Billing_Address_Map.get("Street_2")); billing_Address_map.put("Billing_City",Billing_Address_Map.get("City")); billing_Address_map.put("Billing_State",Billing_Address_Map.get("State")); billing_Address_map.put("Billing_Country",Billing_Address_Map.get("Country")); billing_Address_map.put("Billing_Zip_Code",Billing_Address_Map.get("Zip_Code")); } Service_Address_Map = customer_data.get("Service_Address").toMap(); if(Service_Address_Map != null) { service_Address_map = Map(); service_Address_map.put("id",Service_Address_Map.get("id")); service_Address_map.put("Service_Street_1",Service_Address_Map.get("Street_1")); service_Address_map.put("Service_Street_2",Service_Address_Map.get("Street_2")); service_Address_map.put("Service_City",Service_Address_Map.get("City")); service_Address_map.put("Service_State",Service_Address_Map.get("State")); service_Address_map.put("Service_Country",Service_Address_Map.get("Country")); service_Address_map.put("Service_Zip_Code",Service_Address_Map.get("Zip_Code")); } Service_Line_Items_List = list(); Service_Line_Items_Map = Map(); servResp = zoho.fsm.searchRecordsByField("Service_And_Parts","Type","Service",Map(),"fsmconnection"); service_id = servResp.get("data").toMap().get("id"); Service_Line_Items_Map.put("Service",service_id); Service_Line_Items_Map.put("Quantity",1); Service_Line_Items_Map.put("Sequence",1); Service_Line_Items_Map.put("Contact",customer_id); Service_Line_Items_List.add(Service_Line_Items_Map); terrResp = zoho.fsm.getRecords("Territories"); terrId = terrResp.get("data").toMap().get("id"); createMap = Map(); createMap.put("Summary",description); createMap.put("Contact",customer_id); createMap.put("Type","Service"); createMap.put("Billing_Address",billing_Address_map); createMap.put("Service_Address",service_Address_map); createMap.put("Territory",terrId); createMap.put("Service_Line_Items",Service_Line_Items_List); response = zoho.fsm.createRecord("Work_Orders",createMap); info response; } catch (err) { sendmail [ from :zoho.adminuserid to :zoho.adminuserid subject :"Error creating work order from task" message :err ] } |
Learn how to use the best tools for sales force automation and better customer engagement from Zoho's implementation specialists.
If you'd like a personalized walk-through of our data preparation tool, please request a demo and we'll be happy to show you how to get the best out of Zoho DataPrep.
All-in-one knowledge management and training platform for your employees and customers.
You are currently viewing the help pages of Qntrl’s earlier version. Click here to view our latest version—Qntrl 3.0's help articles.