Skip to content

Instantly share code, notes, and snippets.

@jeznag
jeznag / storing_sms_data_in_lead.ds
Created July 6, 2022 10:08
storing_sms_data_in_lead
message_record = zoho.crm.getRecordById("twiliosmsextension0__Sent_SMS",message_id);
if(lead_id != null)
{
update_payload = {"Last_SMS_received":message_record.get("Message")};
update_resp = zoho.crm.updateRecord("Leads",lead_id,update_payload);
}
if(contact_id != null)
{
update_payload = {"Last_SMS_received":message_record.get("Message")};
update_resp = zoho.crm.updateRecord("Contacts",contact_id,update_payload);
@jeznag
jeznag / add_country_code.ds
Created June 29, 2022 03:39
Set country code for phone number using Deluge script
lead_record = zoho.crm.getRecordById("Leads",lead_id);
mobile = lead_record.get("Mobile");
mobile_without_numeric_characters = mobile.replaceAll("[^\\d+]*","");
// example: (03) 1245 1(11)
// desired result: 031245111
country = lead_record.get("Country");
if(country == "Australia")
{
country_code = "+61";
}
@jeznag
jeznag / automatically_close_tasks.ds
Created May 23, 2022 23:51
automatically close tasks for a lead in Zoho CRM
outstanding_tasks_to_close = zoho.crm.getRelatedRecords("Tasks","Leads",lead_id);
for each task in outstanding_tasks_to_close
{
if(task.get("Status") != "Completed")
{
update_payload = {"Status":"Completed"};
update_resp = zoho.crm.updateRecord("Tasks",task.get("id"),update_payload);
}
}
@jeznag
jeznag / missed_call_to_lead.ds
Created April 15, 2022 03:17
automatically create a new lead when a missed call comes in from an unknown number
call_record = zoho.crm.getRecordById("Calls",call_id);
caller_phone_number = call_record.get("Subject").getSuffix("Missed call from ");
new_lead_data = {"First_Name":"Unknown","Last_Name":"From missed call from " + caller_phone_number,"Phone":caller_phone_number,"Lead_Source":"Missed Call from unknown number"};
create_resp = zoho.crm.createRecord("Leads",new_lead_data);
new_lead_id = create_resp.get("id");
update_call_payload = {"What_Id":new_lead_id,"$se_module":"Leads"};
update_resp = zoho.crm.updateRecord("Calls",call_id,update_call_payload);
info update_resp;
@jeznag
jeznag / gist:4b69e454c980bc494cfe09f7619427a1
Created January 26, 2022 22:07
manipulate timezones in deluge script
contact_data = zoho.crm.getRecordById("Contacts", contact_id);
owner_id = contact_data.get("Owner").get("id");
user_response = zoho.crm.getRecordById("users", owner_id);
user_data = user_response.get("users").get(0);
timezone = user_data.get("time_zone");
appointment_time = contact_data.get("Modified_Time");
appointment_time_in_user_timezone = appointment_time.toDateTime("yyyy-MM-dd'T'HH:mm:ss").toString("MMM dd hh:mm a", timezone);
return appointment_time_in_user_timezone;
@jeznag
jeznag / client_script_using_zoho_crm_api.js
Created October 24, 2021 23:33
Using client script to retrieve data from the Zoho CRM API
const userId = $Crm.user.id;
const userData = ZDK.Apps.CRM.Users.fetchById(userId);
let phoneNumber = userData._phone;
const twilioFromNumberRecords = ZDK.Apps.CRM.Twiliosmsextension0__Twilio_From_Numbers.searchByCriteria(`Owner:equals:${userId}`);
if (twilioFromNumberRecords.length > 0) {
phoneNumber = twilioFromNumberRecords[0]._Name;
}
@jeznag
jeznag / add_notes_when_sms_is_received_or_sent.ds
Created October 24, 2021 22:14
Add notes to Zoho CRM lead/contact when an SMS is received or sent
sms_record = zoho.crm.getRecordById("twiliosmsextension0__Sent_SMS", sms_record_id);
if (sms_record.get("Message_Type").startsWith("out")) {
note_title = "Outbound SMS";
note_content = "Outbound SMS sent by " + sms_record.get("Owner").get("name") + ": " + sms_record.get("Message");
} else {
note_title = "Inbound SMS";
note_content = "Inbound SMS received: " + sms_record.get("Message");
}
@jeznag
jeznag / send_emails_standalone_function.ds
Created October 12, 2021 04:28
Send templated emails from Zoho CRM using deluge script
config_map = configuration.toMap();
template_id = config_map.get("template_id");
to_email = config_map.get("to_email");
subject = config_map.get("subject");
from_name = config_map.get("from_name");
from_email = config_map.get("from_email");
module_name = config_map.get("module_name");
record_id = config_map.get("record_id");
org_email_address = config_map.get("org_email_address");
@jeznag
jeznag / fetch_unopened_zoho_sign_docs.ds
Created October 2, 2021 07:57
Fetch unopened Zoho Sign docs deluge script
inprogress_document_results = invokeurl
[
url :"https://sign.zoho.com/api/v1/requests?request_status=inprogress"
type :GET
connection: "zohosignconnection"
];
requests = inprogress_document_results.get("requests");
unopened_documents = list();
for each request in requests
{
@jeznag
jeznag / log_to_sentry.ds
Created September 17, 2021 20:38
log deluge errors to sentry
try
{
if(error_message == null || error_message == "" || error_message.toString().length() < 5)
{
return;
}
// Put your DSN here
dsn = "https://****@sentry.delugeonaluge.com/2";
processed_dsn = dsn.replaceAll("https://","").replaceAll("@","");
// Replace with the base URL (e.g. sentry.io/ )