Skip to content

Instantly share code, notes, and snippets.

@jeznag
jeznag / google_messages_tampermonkey.js
Created July 9, 2026 06:30
Google Messages Focus Filter
// ==UserScript==
// @name Google Messages Focus Filter
// @namespace http://tampermonkey.net/
// @version 1.0
// @description Hides unread messages from anyone not on your allowed list.
// @author You
// @match https://messages.google.com/web/*
// @grant none
// ==/UserScript==
@jeznag
jeznag / safe-gmail-and-cliq.js
Created January 25, 2025 23:24
safe-gmail-and-cliq
// ==UserScript==
// @name Safe Gmail and Cliq
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Hide channels + messages
// @author You
// @match https://mail.google.com/*
// @match https://cliq.zoho.com.au/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=slack.com
// @grant none
@jeznag
jeznag / autoresponder_via_deluge.ds
Created October 25, 2024 03:09
autoresponder_via_deluge
// This should be linked to a workflow rule that is triggered by creation of Smooth Message record
// With condition that Message Type starts with "in"
// pass sms_record_id into the function
inbound_message_record = twiliosmsextension0.safely_get_record_by_id_v2({"module_name":"twiliosmsextension0__Sent_SMS","record_id":sms_record_id.toLong()});
inbound_message = inbound_message_record.get("Message").trim();
last_outbound_message_record = twiliosmsextension0.get_last_outbound_message_to_number({
"from": inbound_message_record.get("From"),
"to": inbound_message_record.get("To"),
@jeznag
jeznag / meeting_reminder_sms
Created September 17, 2024 01:25
Sending meeting reminder SMS
meeting_record = zoho.crm.getRecordById("Events", meeting_id);
appointment_time = meeting_record.get("Start_DateTime");
// refer to https://en.wikipedia.org/wiki/List_of_tz_database_time_zones for list of timezones
timezone = "America/New_York";
info appointment_time;
// feel free to tweak the format
// example output is "03:00 PM Eastern Time on Sep 05"
// refer to https://www.zoho.com/deluge/help/functions/common/totime.html for symbols
DATE_TIME_FORMAT = "hh:mm a 'Eastern Time on' MMM dd";
@jeznag
jeznag / export-data.js
Created August 24, 2024 05:13
Downloading airtable data if there's no export button
// Run this in chrome dev tools
// Only helpful for one page worth of data
// Look at an API integration if you need to capture more data than that
(async function() {
const headerMap = {};
const headerArray = ['Row Index']; // Add Row Index as the first column
const rowMap = {};
// Function to extract and quote text content from a cell
@jeznag
jeznag / check_that_message_can_be_sent.ds
Created March 6, 2024 04:19
Zoho Desk integration via Zoho Flow
map check_that_message_can_be_sent(int ticket_id, string sms_content, string send_btn_state, string channel, int desk_org_id)
{
try
{
if(channel != "SMS via Zoho Flow" || sms_content.isEmpty() || send_btn_state != "true")
{
info "stop processing outbound";
info "channel> " + channel;
info "sms_content> " + sms_content;
info "send_btn_state> " + send_btn_state;
@jeznag
jeznag / sending_with_emojis.ds
Created January 25, 2024 20:47
Send SMS from Zoho CRM
// Choose from number
from_number = "+234324324324";
module_name = "Leads";
record_id = 803228000138359036;
crm_record = zoho.crm.getRecordById(module_name, record_id);
to_number = crm_record.get("Mobile");
record_name = crm_record.get("First_Name") + " " + crm_record.get("Last_Name");
message_text = "🤒 Unfortunately your Orientation on " + 123 + " has been canceled due to staff illness. If concerned, contact - 1300 077 994. 🐾💞";
// leave media_urls as null if you're not sending MMS, otherwise this format: ["https://mysite.com/image.png"]
@jeznag
jeznag / safe-slack.js
Created August 31, 2023 02:59
Safe Slack
// ==UserScript==
// @name Safe Slack
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Hide channels + messages
// @author You
// @match https://app.slack.com/client/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=slack.com
// @grant none
// ==/UserScript==
@jeznag
jeznag / send_sms_from_zoho_books.ds
Created April 17, 2023 02:19
Sending invoice reminders via SMS from Zoho Books
organizationID = organization.get("organization_id");
payment_link_payload = Map();
payment_link_payload.put("customer_id",invoice.get("customer_id"));
payment_link_payload.put("payment_amount",invoice.get("total"));
payment_link_payload.put("description",invoice.get("invoice_number"));
payment_link_payload.put("expiry_time",invoice.get("due_date").toDate().addDay(90));
JSONString = Map();
JSONString.put("JSONString",payment_link_payload);
result = invokeurl
[
@jeznag
jeznag / widget.html
Created December 30, 2022 04:20
Widget to embed Zoho Creator form inside Zoho CRM
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<h2>Zoho Creator Integration</h2>
<iframe id="creator-iframe" width="100%" height="800px"></iframe>
<script src="https://live.zwidgets.com/js-sdk/1.1/ZohoEmbededAppSDK.min.js"></script>
<script>