My users are constantly looking up prices on desktop and in the field. Instead of the CRM I created a priceBot in Cliq that searches for a product name or part of it and spits results back to the user.
Might come in handy for someone. I'd like to further develop it by asking user questions if no results come back to help them find their item. For example if no results are brought back then ask user
- for category
- for description keywords
- price range
====
Steps:
1. Setup a connection to CRM. Click Integrations>Manage Connections > Add Connection
2. Once done grab the connection name
3. Create a Bot. Click Integrations>Create Bot (give it a name, etc...
4. Edit the message handler
5. Paste the code in the message handler section and insert your connection name (in bold below)
6. Click save and you should be good to go. User will have to subscribe to the bot.
NB: API V1
====
response = Map();
Name = user.get("first_name");
if(message.containsIgnoreCase("Hi") || message.containsIgnoreCase("Hey") || message.containsIgnoreCase("Hello") || message.containsIgnoreCase("need"))
{
response = {"text":"Hey *" + Name + "*, enter a product code and hit enter. I'll grab the price :search:"};
}
else if(message.containsIgnoreCase("help"))
{
response = {"text":"Enter a product name (full or partial) and I'll grab you a price(s). I only get new product prices at the moment. "};
}
else if(message.containsIgnoreCase("ok") || message.containsIgnoreCase("sure"))
{
response = {"text":"Great, give me a product code"};
}
else if(message.containsIgnoreCase("tnx") || message.containsIgnoreCase("Thank") || message.containsIgnoreCase("Great") || message.containsIgnoreCase("Cheers") || message.containsIgnoreCase("Best"))
{
response = {"text":"No prob *" + Name + "*"};
}
else
{
userInput = message;
products = zoho.crm._searchRecords("Products","(Product Name|contains|*" + userInput + "*)",0,50,"YOUR_CONNECTION");
if(products.size() > 0)
{
rows = List();
for each pdt in products
{
row = Map();
row.put("Product",pdt.get("Product Name"));
row.put("Price",pdt.get("Unit Price").round(2));
row.put("Shipping",shipping);
row.put("Desc",pdt.get("Product Code"));
rows.add(row);
}
response = {"text":"See below prices.","card":{"theme":"modern-inline"},"styles":{"highlight":true},"slides":{{"type":"table","title":"List of Prices","data":{"headers":{"Product","Price","Shipping","Desc"},"rows":rows}}}};
}
else
{
response = {"text":":facepalm: Sorry, nada results for that. Try again... remember I'm only allowed search new Product Names at the moment"};
}
}
return response;