//////////////////////////////// Fetching dymamic messages Start /////////////////////////////////////////////////////////// messages = zoho.crm.getRecords("Chatbot_Messages"); // info messages; for each dynamic_message in messages { if(dynamic_message.get("Type") == "Welcome") { welcome_message = dynamic_message.get("Message"); } else if(dynamic_message.get("Type") == "HIPAA Disclaimer") { hippa_message = dynamic_message.get("Message"); } else if(dynamic_message.get("Type") == "Chat End") { chat_end_message = dynamic_message.get("Message"); } else if(dynamic_message.get("Type") == "Departments") { departments_message = dynamic_message.get("Message"); } else if(dynamic_message.get("Type") == "Issue") { issue_message = dynamic_message.get("Message"); } else if(dynamic_message.get("Type") == "Connect to Agent") { connect_to_agent_message = dynamic_message.get("Message"); } else if(dynamic_message.get("Type") == "User Not Identified") { user_not_identified_message = dynamic_message.get("Message"); } else if(dynamic_message.get("Type") == "Other Email") { other_mail_message = dynamic_message.get("Message"); } else if(dynamic_message.get("Type") == "Select Product") { select_product_message = dynamic_message.get("Message"); } else if(dynamic_message.get("Type") == "No Support Agreement") { no_support_agreement_message = dynamic_message.get("Message"); } else if(dynamic_message.get("Type") == "Category") { category_message = dynamic_message.get("Message"); } else if(dynamic_message.get("Type") == "Read Article") { read_article_message = dynamic_message.get("Message"); } else if(dynamic_message.get("Type") == "Article Found") { article_found_message = dynamic_message.get("Message"); } else if(dynamic_message.get("Type") == "Issue Resolved with Article") { issue_resolved_with_article_message = dynamic_message.get("Message"); } else if(dynamic_message.get("Type") == "Tallk to Agent") { talk_to_agent_message = dynamic_message.get("Message"); } else if(dynamic_message.get("Type") == "Thank You for Information") { thank_you_for_information_message = dynamic_message.get("Message"); } else if(dynamic_message.get("Type") == "Need Further Help") { need_further_help_message = dynamic_message.get("Message"); } else if(dynamic_message.get("Type") == "Thank You") { thank_you_message = dynamic_message.get("Message"); } else if(dynamic_message.get("Type") == "Ticket Created for Team") { ticket_created_for_team_message = dynamic_message.get("Message"); } else if(dynamic_message.get("Type") == "Ticket Created for Reference") { ticket_created_for_reference_message = dynamic_message.get("Message"); } else if(dynamic_message.get("Type") == "Issue Resolved") { issue_resolved_message = dynamic_message.get("Message"); } else if(dynamic_message.get("Type") == "What Can I Help You") { how_can_i_help_you_message = dynamic_message.get("Message"); } else if(dynamic_message.get("Type") == "Operator Busy") { operator_busy_message = dynamic_message.get("Message"); } else if(dynamic_message.get("Type") == "Classification") { classification_message = dynamic_message.get("Message"); } else if(dynamic_message.get("Type") == "Ticket Not Created") { ticket_not_created_message = dynamic_message.get("Message"); } } //////////////////////////////// Fetching dymamic messages Ends /////////////////////////////////////////////////////////// response = Map(); departmentID = visitor.get("department_id"); if(failed_response.get("action").equalsIgnoreCase("forward")) { code = cause.get("code").toNumber(); if(code == 1001 || code == 1002 || code == 1003) { // Outside business hours // Busy Opertator /// Invalid Operator response.put("action","reply"); response.put("replies",{operator_busy_message}); if(departmentID == "655171000000007001") { // Sales Department getAccessToken = invokeurl [ url :"https://accounts.zoho.com/oauth/v2/token?refresh_token=1000.35651ab6143ca5cf40a77d63143f2da4.dc85264b1c57b1203ae869a971598215&client_id=1000.D5KNOCDNNRDIJQO0WUATY3X7DYUUWE&client_secret=efd3a5b025c48fdb46843a14853197ad12b924aa20&grant_type=refresh_token" type :POST ]; // info getAccessToken.get("access_token"); headerMap = Map(); headerMap.put("Authorization","Zoho-oauthtoken " + getAccessToken.get("access_token")); // info headerMap; queryMap = Map(); queryMap.put("select_query","select Issue_Type, Required_Information from ChatBot_Actions where Department = 'Sales'"); response = invokeurl [ url :"https://www.zohoapis.com/crm/v4/coql" type :POST parameters:queryMap.toString() headers:headerMap ]; // info response; responseData = response.get("data"); issueTypeList = List(); issueTypeVSRequiredInformation = Map(); for each option in responseData { if(!issueTypeList.contains(option.get("Issue_Type"))) { issueTypeList.add(option.get("Issue_Type")); } ////////////////////////////IssueType VS Required Information ///////////////////////////// if(issueTypeVSRequiredInformation.containKey(option.get("Issue_Type"))) { requiredInformationList = issueTypeVSRequiredInformation.get(option.get("Issue_Type")); if(!requiredInformationList.contains(option.get("Required_Information"))) { requiredInformationList.add(option.get("Required_Information")); issueTypeVSRequiredInformation.put(option.get("Issue_Type"),requiredInformationList); } } else { requiredInformationList = List(); requiredInformationList.add(option.get("Required_Information")); issueTypeVSRequiredInformation.put(option.get("Issue_Type"),requiredInformationList); } } // info "issueType = "+issueTypeList; // info "issuetype vs recquired info ="+issueTypeVSRequiredInformation; response.put("action","context"); response.put("context_id","salesIssueType"); question = {"name":"issueType","replies":{issue_message},"input":{"type":"select","options":issueTypeList}}; response.put("questions",{question}); tempStoreMap = Map(); tempStoreMap.put("salesIssuetypeVSrequiredInfo",issueTypeVSRequiredInformation); storeData = zoho.salesiq.visitorsession.set("mediproinc",tempStoreMap,"zoho_salesiq"); } } } return response;
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter