Zoho Creator/Deluge: Calculating with Timezone Offset
- Category: Zoho
- Hits: 19150
This is an article to remind me how to calculate various times for an appointment booking system based on the timezones of each party.
Why?
The use-case scenario is that our Creator server uses the US datacenter but has it's server timezone set to "US/Eastern" or "America/New_York" (-05:00). Our sales person is on the west coast in the timezone "America/Los_Angeles" (-08:00). And our customer is in "Europe/Luxembourg" (+01:00).
We want to tell our customer they have an appointment at 4pm their time in Luxembourg; tell the agent/salesperson to call the customer at 7am in Los Angeles; and tell headquarters or the system calendar that the appointment is at 10am.
How?
So adding a datetime field and calling this one the "Customers Appointment Time" is the wrong first step. Reason being is that datetime fields hold the time zone they are set in (ZohoCreator > Settings > Date and Time Settings); so as soon as you try to insert a date time and perhaps accompany that value with a timezone, several calculations happen in real-time making it really difficult to extract and use.
Zoho Deluge: Calculate start and end of Daylight Savings Time
- Category: Zoho
- Hits: 14074
An article to document how I calculated the start and end dates of when Daylight Savings Time is in effect.
Why?
Admittedly, most of Zoho apps have this built-in but here's some snippets of code in case you need them.
How?
I will use this to amend and refine but here's the snippets for the various DSTs around the world.
ZohoCRM & Xero Real-Time Invoices: Receive Webhook
- Category: Zoho
- Hits: 25295
So this is an article expanding on my article Zoho Deluge - Connect to Xero API and explores how instead of a schedule, we can get Xero to tell ZohoCRM whenever an invoice or contact gets updated in Xero.
Why?
I used to use ZohoCRM schedules to pull when an invoice has been paid, but ZohoCRM schedules run only every 2 hours. You can set up 2 schedules: one that runs on even hours and one that runs on odd hours to change this to every hour. It's not enough for some, so the below details on how you can get Xero to tell Zoho when a contact or invoice has been updated immediately.
How?
Here's an overview of how we achieve this:
- Set up a Zoho CRM function to receive the webhook.
- Setup a webhook in Xero.
- [Optional for Method #2] Setup a PHP script on a server that will validate the Xero webhook.
Zoho CRM/Deluge: Get TimeZone Based on GeoCoded Address (Lat/Lng)
- Category: Zoho
- Hits: 15636
An article with a quick snippet of code which builds up the address from a Lead record to geocode into latitude and longitude coordinates to feed a third-party API which returns a timezone.
Why?
Our use-case is that we have a field called "Customer's Time Zone" on the lead record in ZohoCRM. It should be auto-populated...
How?
As mentioned, we're going to use the address on the Lead record; use Zoho's GeoCode function to convert this into a latitude and longitude, then we're going to use a free TimeZone API (one that returns a timezone given a lat/lng). The added feature is that we are going to loop through picklist options (500 timezones) in CRM to select the most relevant one. If all this fails, then it defaults to a module called "States" which stores a default timezone and can be searched for with the "State" field on the Lead record.
Zoho Deluge: Text (SMS) reminder using Twilio API (LocalSense)
- Category: Zoho
- Hits: 20743
A very quick article to remind me how to send a text message using Twilio API in Zoho Deluge.
Why?
The use-case here is that we want local sense dialing where specific numbers are used both for outbound and inbound but local to the customer and we want to remind our customer that they have an appointment in 1 hour with us.
How?
The code is actually pretty straightforward but you will need to follow these steps to get the credentials:
ZohoCRM: Template: not being able to edit a text box
- Category: Zoho
- Hits: 16643
This is a bit of an odd article with not 100% certainty on what the cause/outcome would be for your case but worked for us. This documents the steps taken to edit/modify the header on a sales order inventory template.
Why?
A client raised an issue that they had previously hard-coded the address of their organization into the body of a template (just below the header... they weren't using the header section) but then they changed address and couldn't change the template. So they had something like:
${Organization.Organization Name} ${Organization.Street} ${Organization.City} ${Organization.Country} ${Organization.Postal Code} 11 My Street, My City, My State, My Zip, My CountryThey wanted to get rid of the "11 My Street, My City, My State, My Zip, My Country" but when editing the template, they couldn't put the cursor in there or even delete the box the address was in.
How?
So you're going to say this is a strange issue and an even stranger fix, but I've tested this solution by getting a colleague to refresh the page and check it out as well as the client to go in and confirm the change was successful...:
Zoho Analytics: Setup DataSource via FTP Connection
- Category: Zoho
- Hits: 14379
So this is going to be an article with a bunch of pictures showing step-by-step of how I setup a recurring data source in Zoho Analytics via FTP.
Why?
The use-case here is that I have a client who wants to import data via FTP (SFTP - to be precise) and have this available to their Zoho apps. My aim(s) are:
- Setup recurring FTP connection.
- Make data readily available to ZohoCRM.
How?
Well, let's setup the FTP connection first in Zoho Analytics:
Zoho Deluge: a HTML Entity Decoder
- Category: Zoho
- Hits: 14519
A very quick article to document a HTML Entity decoder in Zoho Creator.
Why?
Sometimes when receiving data from a third-party, we may receive some strings containing "&" or " " and obviously want to display these as decoded HTML entities. (Zoho if you're listening) Ideally, Zoho may add this to their zoho.encryption namespace such as zoho.encryption.htmldecode(string). But at time of print, it doesn't exist and in the meantime, I've made a function that does this.
How?
Not sure how else to do this but I simply wrote a function in Zoho Creator for each instance that I knew a HTML entity would be submitted. So it doesn't decode every HTML in existence, only the ones I know will happen.
Page 16 of 25
Credit where Credit is Due:
Feel free to copy, redistribute and share this information. All that we ask is that you attribute credit and possibly even a link back to this website as it really helps in our search engine rankings.
Disclaimer: Please note that the information provided on this website is intended for informational purposes only and does not represent a warranty. The opinions expressed are those of the author only. We recommend testing any solutions in a development environment before implementing them in production. The articles are based on our good faith efforts and were current at the time of writing, reflecting our practical experience in a commercial setting.
Thank you for visiting and, as always, we hope this website was of some use to you!
Kind Regards,
Joel Lipman
www.joellipman.com
Latest Articles
Accreditation



Donate & Support
If you like my content, and would like to support this sharing site, feel free to donate using a method below:

bc1qf6elrdxc968h0k673l2djc9wrpazhqtxw8qqp4
0xb038962F3809b425D661EF5D22294Cf45E02FebF
Paypal:

Bitcoin:

Ethereum:
