Hello Everyone!
This week, we’re bringing you a feature that notifies your team when articles in the Knowledge Base are set to expire to keep your content relevant and helpful for customers.
The Zoho Desk's Knowledge Base is an asset for customers to gain knowledge and help themselves navigate through the product or process of the firm or industry. Zoho Desk allows you to set expiry dates for articles to maintain up-to-date information. However, once an article expires, it’s removed from the Help Center, and notifications are only sent to the article owner by default.
But, what if they miss it?
This solution integrates with a scheduler to notify team members on the same day an article expires.
Here’s how you can implement the custom function within the schedule to notify your team when an article expires.
Prerequisites
I. Create a connection
1.1 Go to Setup(S) and choose Connections under Developer Space.
1.2 Click Create Connection.
1.3 Select Zoho Desk under Default Connection.
1.4 Set the connection name as deskconnection.
1.5 Under Scope, choose the below scope values:
1.6 Click Create and Connect.
1.7 Click Connect and click Accept.
Connection is created successfully.
II. Create a Schedule
1. Go to Setup, choose Schedules under Automation.
2. Under Schedules, click New Schedule.
3. Under Add Schedule, enter a Schedule Name and Description for the rule.
4. In the Execute on tab, set the Date and Time for the schedule to begin execution.
5. In the Repeat tab, select 'Every Day,' then choose 'Every [1] Days.' Select the days based on your preferences and set 'Ends' to 'Never'. Click Done. This will ensure the schedule runs on the selected days.
6. In the Functions section, click on Create Function.
7. Enter a Name and Description for the custom function.
8. In the script window, insert the Custom Function given below:
- // ----<<<< User Inputs >>>>----
- subjectOfNotificationEmail = "Zoho Desk - Article Expiry Notification"; // provide subject based on your preference
- commaSeperatedToAddresses = "email address1, email address2";//provide email addreses of team members
- currentDateString = zoho.currentdate.toString("yyyy-MM-dd");
- //Expiring/Expired Today
- fromString = currentDateString + "T00:00:00.000Z";
- toString = currentDateString + "T23:59:59.999Z";
- info "final url " + "https://desk.zoho.com/api/v1/articles?expiryTimeRange=" + fromString + "," + toString;
- //change .com based on your DC
- getArticle = invokeurl
- [
- url :"https://desk.zoho.com/api/v1/articles?expiryTimeRange=" + fromString + "," + toString
- //change .com based on your DC
- type :GET
- connection:"deskconnection"
- ];
- emailBody = "";
- if(getArticle != null && getArticle != "" && getArticle.get("data").size() > 0)
- {
- articlesList = getArticle.get("data");
- emailBody = emailBody + "<div> <b> List of articles expiring/expired today </b>";
- for each article in articlesList
- {
- webUrl = article.get("webUrl");
- title = article.get("title");
- emailBody = emailBody + "<div><br><a href='" + webUrl + "'>" + title + "</div>";
- }
- emailBody = emailBody + "</div> <br> <br>";
- }
- //Expiring Tomorrow
- currentDateString = zoho.currentdate.addDay(1).toString("yyyy-MM-dd");
- fromString = currentDateString + "T00:00:00.000Z";
- toString = currentDateString + "T23:59:59.999Z";
- info "final url " + "https://desk.zoho.com/api/v1/articles?expiryTimeRange=" + fromString + "," + toString;
- //change .com based on your DC
- getArticle = invokeurl
- [
- url:"https://desk.zoho.com/api/v1/articles?expiryTimeRange=" + fromString + "," + toString
- //change .com based on your DC
- type :GET
- connection:"deskconnection"
- ];
- if(getArticle != null && getArticle != "" && getArticle.get("data").size() > 0)
- {
- articlesList = getArticle.get("data");
- emailBody = emailBody + "<div> <b>List of articles expiring tomorrow </b>";
- for each article in articlesList
- {
- webUrl = article.get("webUrl");
- title = article.get("title");
- emailBody = emailBody + "<div><br><a href='" + webUrl + "'>" + title + "</div>";
- }
- emailBody = emailBody + "</div> <br> <br>";
- }
- //Expiring in 7 days
- currentDateString = zoho.currentdate.addDay(7).toString("yyyy-MM-dd");
- fromString = currentDateString + "T00:00:00.000Z";
- toString = currentDateString + "T23:59:59.999Z";
- info "final url " + "https://desk.zoho.com/api/v1/articles?expiryTimeRange=" + fromString + "," + toString;
- //change .com based on your DC
- getArticle = invokeurl
- [
- url :"https://desk.zoho.com/api/v1/articles?expiryTimeRange=" + fromString + "," + toString
- //change .com based on your DC
- type :GET
- connection:"deskconnection"
- ];
- if(getArticle != null && getArticle != "" && getArticle.get("data").size() > 0)
- {
- articlesList = getArticle.get("data");
- emailBody = emailBody + "<div><b> List of articles expiring in 7 days </b> ";
- for each article in articlesList
- {
- webUrl = article.get("webUrl");
- title = article.get("title");
- emailBody = emailBody + "<div><br><a href='" + webUrl + "'>" + title + "</div>";
- }
- emailBody = emailBody + "</div> <br> <br>";
- }
- info "emailBody" + emailBody;
- if(emailBody != "")
- {
- sendmail
- [
- from :zoho.adminuserid
- to :commaSeperatedToAddresses
- subject :subjectOfNotificationEmail
- message :emailBody
- ]
- info "mail sent";
- }
NOTE
In Line 2, Enter the Email Subject for the Notification.
In Line 3, Enter the email addresses of the team members you would like to notify.
In Lines 8,12,34,38,59,63, Replace ".com" with the domain extension based on your Data Center.
9. Click Save Script.
10. Click Save to save the custom function.
11. Click Save again to save the Schedule.
By this, you can ensure quick updates and seamless publishing, keeping your Knowledge Base relevant and your customers updated with the latest resources.
Stay tuned for more learnings on this forum.
Regards,
Lydia | Zoho Desk
Recent Topics
Enhancements to Bigin's forms
Greetings, I hope all of you are doing well. We're happy to announce a few recent enhancements we've made to Bigin's forms. We'll go over each one in detail. Merge field support in auto-filled forms The auto-fill option in Bigin's forms lets you predefine
Table dimensions
I try changing the dimensions of the table on my computer but it doesn't change. Do I have to be a premium member or does it only work on the app?
Direct link to Record Summary
Hi everyone, In one of my reports, I have built a Record Summary template to display the details of one record. I would like to be able to link directly to this Record Summary once I submit a new record, without having to go to the list of records first and click on View. Is there a possibility to do so ? Should I use the URL by passing some parameters ? Thank you very much for your help ! Guillaume
Amendment effective date
Hi everyone, I noticed that the amendment effective date mentionned in my amendment is not right. Indeed, when a contract is amended several times, it states the previous amendment and their effective date. However, the effective date stated is always
Show both Vendor and Customers in contact statement
Dear Sir, some companies like us working with companies as Vendor and Customers too !!! it mean we send invoice and also receive bill from them , so we need our all amount in one place , but in contact statement , is separate it as Vendor and Customer,
STOCK history in zohosheets
is it possible to get historical stock value using stock function in zoho sheets? i could not see from and to period in the helper document.
Auto sync Photo storage
Hello I am new to Zoho Workdrive and was wondering if the is a way of automatically syncing photos on my Android phone to my workdrive as want to move away from Google? Thanks
Agent password reset
Hi Zoho support, I would like to ask if there is a way the admin can reset a password of an agent? Regards
Can receive but not send messages in Zoho Mail
Hello! I was able to configure my email client successfully in that I can receive messages just fine. However, when I send messages out, they seem to go out fine (I don't receive any errors or anything), but the recipient does NOT receive those messages.
Mail is sent twice!
Been using Zoho for a while now. Installed Zoho for someone else and some weird things are happening. Mails are being sent twice. He is using Thunderbird as an email client. I already read about email being duplicated in the sent folder. But in my case
Can't login IMAP suddenly
Since this evening I'm getting the error: You are yet to enable IMAP for your account. Please contact your administrator... IMAP always been enabled in my account and was workign fine for the past 7 years. Already tried turning IMAP off and on again.
Sending of username did not succeed: Mail server pop.zoho.com responded: User already specified
I am having issues receiving emails from Zoho in Thunderbird. I am getting the above error. The first error tells me Authentication failed, and prompts me to enter in my password. Then I get the above error. I can receive emails when I log in online to
Bug tracking
Hi, does anyone know how to track errors during picking or packing? This way I can keep track and see how to improve and prevent errors in this area.
Migration of corporate mail environment from Yandex 360 to Zoho mail
I have to migrate a corporate mail environment with an existing domain from Yandex 360 to Zoho mail. It is vital to migrate all users with all the data. I have read the article on this topic using MacMister Email Backup Software just now and have some
I'm unable to send mail pthrough Zoho SMTP programmatically
This has been working for years, but today it's been offline all day long. I see nothing anywhere on your site about this. I'm not the only one experiencing this. Downdetector has a spike of reports today
Can no longer send email via Django site
This was working fine as of 11/7/25. Now I am unable to send user verification emails from a Django site on a AWS lightsail sever. When a user attempts to register the following error occurs. I have also attempted to send a test email via the shell and
unable to send email but able to receive email
my email address is info@securityforceservices.ca
Login to server failing
When trying to retrieve my mail, I am getting this error message -- Login to server pop.zoho.com with username (my email address) failed. It gives me the option to retry, enter password, or cancel. Then I get this message -- Sending of username did not
Configuration failed: 200 response not received for POST request.
Hello, I am trying to set up a webhook to connect with an Salesforce but I receive the following error from Zoho: Configuration failed: 200 response not received for POST request I have tried testing it on webhook.site as well and receive the same error
Zoho Migration Assistant not working
Hello, I am trying to use you Migration assistant to migrate emails from Rediff to Zoho. I am stuck in the first step. After downloading the migration tool, I copied the link to verify user credentials, however, after pasting the link in the browser,
Contacts Missing — PeopleSync/Zoho Mail
English: In our company we use ManageEngine Mobile Device Manager (MDM), Free edition, to manage corporate mobile devices. Our usage policy does not allow personal Google accounts on these devices; therefore, Google account sync is blocked through MDM.
Best way to integrate Zoho with mobile app for managing customer requests with real-time notifications?
Hello, I'm building a solution for a travel company where customers submit requests through a website, and the sales team manages these requests through a mobile app. The Requirement: Customers fill a form on the website (name, email, number of children,
Kaizen #57 - Mass Update API in Zoho CRM
Hello everyone! Welcome back to yet another post in the Kaizen series. This week, we will discuss the Mass Update API in Zoho CRM. In this post, we will cover the following: 1. Introduction 2. Mass Update Records API 3. Schedule Update and Get Status
Getting Attachments in Zoho Desk via API
Is there a way to get attachments into Zoho Desk via an API? We have a process by which a zoho survey gets sent to the user as a link in a notification. The survey has several upload fields where they can upload pdf documents. I've created
Pincode based Product Restriction
we have different types of products. 1) Very bulky items like plywood. 2) Too delicate items like glass These type of products we want to sell to local customers. Other products we want to supply all over India. There should be an option to restrict products
Related Lists filter
I have Contacts showing in our Accounts module. I customized the Contacts module with an Employment Status field, with the following picklist options: "Primary Contact", "Secondary Contact", "Active Staff(not a main contact)", and "No longer employed".
Standalone custom function not generating logs
Why dont't standalone custom functions generate logs when the're called from another function? I have some functions (workflow, buttons and blueprint) that have common parts, so I put that part in a standalone function which is called from the others.
Add "Reset MFA" Option for Zoho Creator Client Portal Users
Hello Zoho Creator Team, We hope you are doing well. We would like to request an important enhancement related to Multi-Factor Authentication (MFA) for client portal users in Zoho Creator. Currently, Creator allows us to enforce MFA for portal users,
Urgent Security Feature Request – Add MFA to Zoho Projects Client Portal Hello Zoho Projects Team,
Hello Zoho Projects Team, We hope you are doing well. We would like to submit an urgent security enhancement request regarding the Zoho Projects Client Portal. At this time, as far as we are aware, there is no Multi-Factor Authentication (MFA) available
Creator HTML page refresh
Hi, I have added around 5 different html snippets in single creator page. I understand, I can refresh the entire page from page script using Navigational URLs https://help.zoho.com/portal/en/kb/creator/developer-guide/others/url-patterns/articles/navigational-urls
Zoho Desk - Custom Module Related List Columns on Tickets
I have a custom module in Zoho Desk called Asana Tasks, each task has a lookup to a Ticket. On the Ticket I want to see the columns of the Asana Tasks in the related list . Is there a way to do this? Right now it just has the name of the record and I
What is your opinion of the new UI?
Hi Everyone, I would like to see what everyone thinks of the new Zoho One Dashboard. I don't get it, but perhaps I'm missing something. What are your thoughts?
What are the OAuth scopes needed to access the Zoho MCP server?
I think I'm authenticating with the MCP server endpoint successfully using a bearer token but I can't successfully initialize an MCP session. I'm using the official MCP Python sdk (https://github.com/modelcontextprotocol/python-sdk). I get as far as here
"Temporary Error" in Zoho CRM Data Source sync
I edited my setup for the Zoho CRM to Zoho Analytics Data Source Import configuration to add some new fields. After I saved the changes, I clicked the (Sync Now) link. After a few minutes I got a Sync failure error. The only reason given is "A temporary
Account blocked for IMAP use
Hello, My email client (Evolution) can't sync mail anymore. It gives the error: "Your account is temporarily blocked for IMAP use. This may happen if you exceed the maximum number of simultaneous IMAP connections allowed. Kindly try again after some time."
Is SMTP included in the free plan?
My client has a Zoho Mail Free 14 day trial that ends tomorrow. She has set up a domain email address with SMTP on a third party app and is wondering if it will continue working once her plan downgrades to the free forever plan. Thanks
Zoho mail issue.
I have verified my domain ohhoexpress.online by adding necessary TXT and MX records. But when I am sending email to any external email id, it is showing as zohomail.com. Also while I am sending mail to internal mail id, it is saying user not found whereas
My email is blocked from sending
I get this message when I try to send any message .. > Unable to send message, Reason 554 5.1.8 Email Outgoing Blocked We have urgent emails to send and the issue continues to persist from yesterday. Please help us with this issue as soon as possibl
[WEBINAR] Smooth year-end closure with Zoho Books (KENYA)
Hello there, This webinar is for all Kenyan businesses looking to wrap up their financial year smoothly! Join our free session to learn how Zoho Books can simplify your year-end process. What to expect from this webinar: - All the latest updates in Zoho
cannot recieve or send emails
we are not recieving or cannot send emails.Shows sysytem error
Next Page