Most Cliq bots are toys. They post a daily standup nobody reads. The bots that earn their keep do one of five things: surface a record, ask one question, route a request, kill ambiguity, or close a loop. Here is each pattern with code.
Pattern 1: deal lookup from any channel
An AE pastes a deal ID or account name in any Cliq message. Bot replies inline with stage, amount, owner, next step, and a deep link. Saves the click into CRM forty times a day per rep.
// Cliq bot: pattern handler for "deal:<id>"
match = zoho.regex.match(message, "deal:(\\d+)");
if(match.matched)
{
deal = zoho.crm.getRecordById("Deals", match.group(1));
response = "*" + deal.Deal_Name + "* - " + deal.Stage + " - $" + deal.Amount + "\nOwner: " + deal.Owner.name + "\nNext: " + deal.Next_Step;
zoho.cliq.postMessage(channel, response);
}
Pattern 2: pipeline standup that names names
Every Monday at 9, the bot posts deals over $50k that did not move stage in 14 days, tagged @owner. Public accountability is the feature, not a bug. Build it as a scheduled Deluge function in CRM that calls the Cliq webhook.
Pattern 3: discount approval routing
Rep types /discount 25 deal:123 reason:competitive. Bot posts to the deal-desk channel with Approve and Reject buttons. Decision writes back to the deal, posts to the rep, and logs to an Audit_Trail module. No more Slack DMs to the VP.
buttons = [{"label":"Approve","action":{"type":"invoke.function","name":"approve_discount"}},
{"label":"Reject","action":{"type":"invoke.function","name":"reject_discount"}}];
zoho.cliq.postCard("deal-desk", title, body, buttons);
Pattern 4: smart silence on CRM events
Most CRM-to-Cliq integrations spam every field change. Filter to events that matter: stage changed to Closed Won, deal amount up by >20%, new champion contact added. One signal per channel per hour beats fifty.
Pattern 5: end-of-day bot that closes loops
At 5pm local time, bot DMs each AE: “You opened 4 deals today. 2 have a next step in CRM. The other 2 do not.” Reply with the next step inline, bot writes it to CRM. No tab switch. Friction kills update hygiene; this removes it.
Build, deploy, and version
Cliq bots live in the same Catalyst console as your serverless functions. Version-control the bot code in Git. Use distinct dev and prod bot handles so you do not test in front of the CEO.
Measure adoption or kill it
After 30 days, pull bot invocation counts. Anything below 10 invocations per active user per week is a tool nobody loves. Sunset it without ceremony.
What to do this week: ship the deal-lookup bot. It has the highest invocation-to-effort ratio of anything in this list and gets reps fluent with bot interactions for the harder patterns.