ZE CRM Toolbox
A focused collection of everyday utilities that makes Zoho CRM faster, cleaner and easier to manage.
More capability, without leaving Zoho CRM.
Built from real operational needs, with a focus on dependable workflows and a polished user experience.
View on Zoho MarketplaceWhere teams feel the difference.
- Cleaning contact data at the point of entry
- Debugging Deluge and automation with better logs
- Giving users AI help that understands CRM context
Plans designed to grow with you.
Prices shown are current guide prices. Final inclusions and availability are confirmed before purchase.
Professional
£59/monthper organisationBusiness
£149/monthper organisationEnterprise
£399/monthper organisationHow logging works.
Copy a script, pass the record you are working on, and keep an audit trail of what failed and what you did about it.
How do I create logs from within Zoho CRM?
Use this from a Deluge script that is already running inside Zoho CRM.
Create_Log_Response = zelogger.Create_ZE_Log(
Related_Record_ID,
Related_Record_Module,
Log_Type,
Log_Message,
Urgency,
Script_Name
);
info Create_Log_Response;Arguments
Related_Record_IDInteger- The CRM record this log belongs to. If the script already has Deal_ID, pass Deal_ID.
Related_Record_ModuleString- The module API name. For a deal, pass "Deals".
Log_TypeString- Error or FYI.
Log_MessageString, Map or List- The detail you want stored. A Map or List is valid — for example an Error_Map you have been filling as the script runs.
UrgencyString- FYI, Low, Medium, High or Urgent. A log of type FYI always uses urgency FYI.
Script_NameString- The name of the script writing the log, so you can see which script failed or ran.
Keep errors in Error_Map and anything you want to return in Return_Map. When Error_Map has entries, write an Error log that includes both maps. When it is empty, write an FYI log with Return_Map. Swap Deal_ID, Deals and YOUR_SCRIPT_NAME_HERE for the record and script you are in.
Return_Map = map();
Error_Map = map();
//
try{
}catch(e){
Error_Map.put("MAIN CATCH ERROR", e);
}
//
//
if(Error_Map.isEmpty() == false){
// ERROR FOUND:
New_Return_Map = map();
New_Return_Map.put("ERRORS", Error_Map);
New_Return_Map.put("Return_Map", Return_Map);
//
try{
Create_Log_Response = zelogger.Create_ZE_Log(
Deal_ID,
"Deals",
"Error",
New_Return_Map,
"High",
"YOUR_SCRIPT_NAME_HERE"
);
}catch(e){
info "ERROR CREATING LOG" ;
}
}else{
// NO ERRORS:
try{
Create_Log_Response = zelogger.Create_ZE_Log(
Deal_ID,
"Deals",
"FYI",
Return_Map,
"FYI",
"YOUR_SCRIPT_NAME_HERE"
);
}catch(e){
info "ERROR CREATING LOG" ;
}
}How do I create logs from outside Zoho CRM?
Use this when the script runs outside Zoho CRM, for example in Zoho Books. Paste it below your script. Keep errors in a map called Error_Map and return values in a map called Return_Map.
Replace every value marked with **. To find your zapikey, open any standalone function, click Edit, then select REST API. The URL ends with your zapikey.
// SET PARAMETER VALUES:
Script_Name = "**LOCATION OF SCRIPT — for example, Zoho Books** — **YOUR SCRIPT NAME**";
Related_Record_ID = **THE ID OF THE CRM RECORD IN QUESTION**;
Related_Record_Module = "**THE MODULE API NAME — for example Deals, Contacts, Leads or Accounts**";
zapikey = "**YOUR ZAPI KEY HERE**";
// CREATE LOG:
Create_Log_URL = "https://www.zohoapis.com/crm/v2/functions/";
Create_Log_URL = Create_Log_URL + "zelogger__create_log_api_endpoint/actions/execute";
Create_Log_URL = Create_Log_URL + "?auth_type=apikey&zapikey=" + zapikey;
Create_Log_Params = Map();
Create_Log_Params.put("Related_Record_ID", Related_Record_ID);
Create_Log_Params.put("Related_Record_Module", Related_Record_Module);
Create_Log_Params.put("Script_Name", Script_Name);
//
if(Error_Map.isEmpty() == false)
{
//
Return_Map.put("ERRORS", Error_Map);
//
Urgency = "High"; // (OR "Low", "Medium", "Critical", "FYI")
Create_Log_Params.put("Urgency", Urgency);
Create_Log_Params.put("Log_Type", "Error");
Create_Log_Params.put("Log_Message", Return_Map);
//
try
{
//
Create_Log_Response = invokeurl
[
url :Create_Log_URL
type :Post
parameters:Create_Log_Params
];
//
//
info Create_Log_Response;
}catch(Log_Catch_Error){
info Log_Catch_Error;
}
}
else
{
try
{
// SUCCESS LOG:
Create_Log_Params.put("Urgency", "FYI");
Create_Log_Params.put("Log_Type", "FYI");
Create_Log_Params.put("Log_Message", Return_Map);
//
Create_Log_Response = invokeurl
[
url :Create_Log_URL
type :Post
parameters:Create_Log_Params
];
//
info Create_Log_Response;
//
}
catch (Log_Catch_Error){
info Log_Catch_Error;
}
}How should we handle logs?
Save a custom filter on the All ZE Logs view so open errors stay in one place.
- Open the log and read the message to see what failed.
- Fix the cause, then rerun the script for that record.
- After the rerun succeeds, change Status from Reported to Resolved and Rerun.
- On a team, leave notes and attachments on the log record, the same way you would on any other Zoho CRM record.
About the product
Is this the same as ZE Logger?
ZE CRM Toolbox continues and expands the everyday utilities formerly associated with ZE Logger, including logging, validation and productivity tools.
Do I need every feature?
No. Plans are designed so teams can start with the utilities they need and grow into more advanced capabilities.