Automation#28 Notify Agents on Article Expiry

Automation#28 Notify Agents on Article Expiry




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:
Desk.articles.READ
  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:
  1. // ----<<<< User Inputs >>>>----
  2. subjectOfNotificationEmail = "Zoho Desk - Article Expiry Notification"; // provide subject based on your preference
  3. commaSeperatedToAddresses = "email address1, email address2";//provide email addreses of team members
  4. currentDateString = zoho.currentdate.toString("yyyy-MM-dd");
  5. //Expiring/Expired Today
  6. fromString = currentDateString + "T00:00:00.000Z";
  7. toString = currentDateString + "T23:59:59.999Z";
  8. info "final url " + "https://desk.zoho.com/api/v1/articles?expiryTimeRange=" + fromString + "," + toString;  
  9. //change .com based on your DC
  10. getArticle = invokeurl
  11. [
  12. url :"https://desk.zoho.com/api/v1/articles?expiryTimeRange=" + fromString + "," + toString
  13. //change .com based on your DC
  14. type :GET
  15. connection:"deskconnection"
  16. ];
  17. emailBody = "";
  18. if(getArticle != null && getArticle != "" && getArticle.get("data").size() > 0)
  19. {
  20. articlesList = getArticle.get("data");
  21. emailBody = emailBody + "<div> <b> List of articles expiring/expired today </b>";
  22. for each  article in articlesList
  23. {
  24. webUrl = article.get("webUrl");
  25. title = article.get("title");
  26. emailBody = emailBody + "<div><br><a href='" + webUrl + "'>" + title + "</div>";
  27. }
  28. emailBody = emailBody + "</div> <br> <br>";
  29. }
  30. //Expiring Tomorrow
  31. currentDateString = zoho.currentdate.addDay(1).toString("yyyy-MM-dd");
  32. fromString = currentDateString + "T00:00:00.000Z";
  33. toString = currentDateString + "T23:59:59.999Z";
  34. info "final url " + "https://desk.zoho.com/api/v1/articles?expiryTimeRange=" + fromString + "," + toString;
  35. //change .com based on your DC
  36. getArticle = invokeurl
  37. [
  38. url:"https://desk.zoho.com/api/v1/articles?expiryTimeRange=" + fromString + "," + toString
  39. //change .com based on your DC
  40. type :GET
  41. connection:"deskconnection"
  42. ];
  43. if(getArticle != null && getArticle != "" && getArticle.get("data").size() > 0)
  44. {
  45. articlesList = getArticle.get("data");
  46. emailBody = emailBody + "<div> <b>List of articles expiring tomorrow </b>";
  47. for each  article in articlesList
  48. {
  49. webUrl = article.get("webUrl");
  50. title = article.get("title");
  51. emailBody = emailBody + "<div><br><a href='" + webUrl + "'>" + title + "</div>";
  52. }
  53. emailBody = emailBody + "</div> <br> <br>";
  54. }
  55. //Expiring in 7 days
  56. currentDateString = zoho.currentdate.addDay(7).toString("yyyy-MM-dd");
  57. fromString = currentDateString + "T00:00:00.000Z";
  58. toString = currentDateString + "T23:59:59.999Z";
  59. info "final url " + "https://desk.zoho.com/api/v1/articles?expiryTimeRange=" + fromString + "," + toString;
  60. //change .com based on your DC
  61. getArticle = invokeurl
  62. [
  63. url :"https://desk.zoho.com/api/v1/articles?expiryTimeRange=" + fromString + "," + toString
  64. //change .com based on your DC
  65. type :GET
  66. connection:"deskconnection"
  67. ];    
  68. if(getArticle != null && getArticle != "" && getArticle.get("data").size() > 0)
  69. {
  70. articlesList = getArticle.get("data");
  71. emailBody = emailBody + "<div><b> List of articles expiring in 7 days </b> ";
  72. for each  article in articlesList
  73. {
  74. webUrl = article.get("webUrl");
  75. title = article.get("title");
  76. emailBody = emailBody + "<div><br><a href='" + webUrl + "'>" + title + "</div>";
  77. }
  78. emailBody = emailBody + "</div> <br> <br>";
  79. }
  80. info "emailBody" + emailBody;
  81. if(emailBody != "")
  82. {
  83. sendmail
  84. [
  85. from :zoho.adminuserid
  86. to :commaSeperatedToAddresses
  87. subject :subjectOfNotificationEmail
  88. message :emailBody
  89. ]
  90. info "mail sent";
  91. }
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 

    • Sticky Posts

    • Register for Zoho Desk Beta Community

      With the start of the year, we have decided to take a small step in making the life of our customers a little easier. We now have easy access to all our upcoming features and a faster way to request for beta access. We open betas for some of our features
    • Share your Zoho Desk story with us!

      Tell us how you use Zoho Desk for your business and inspire others with your story. Be it a simple workflow rule that helps you navigate complex processes or a macro that saves your team a lot of time; share it here and help the community learn and grow with shared knowledge. 
    • Tip #1: Learn to pick the right channels

      Mail, live chat, telephony, social media, web forms—there are so many support channels out there. Trying to pick the right channels to offer your customers can get pretty confusing. Emails are most useful when the customer wants to put things on record. However, escalated or complicated issues should not be resolved over email because it's slow and impersonal.  When you need immediate responses, live chat is more suitable. It's also quick and convenient, so it's the go-to channel for small issues. 
    • Welcome to Zoho Desk Community - Say hello here!

      Hello everyone! Though we have been here for a while, it’s time to formally establish the Zoho Desk Community; we’re really happy to have you all here! This can be the place where you take a moment to introduce yourself to the rest of the community. We’d love to hear all about you, what you do, what company or industry you work for, how you use Zoho Desk and anything else that you will like to share! Here’s a little about me. I am Chinmayee. I have been associated with Zoho since 2014. I joined here
    • Webinar 1: Blueprint for Customer Service

      With the launch of a host of new features in Zoho Desk, we thought it’ll be great to have a few webinars to help our customers make the most of them. We’re starting off with our most talked about feature, Blueprint in Zoho Desk. You can register for the Blueprint webinar here: The webinar will be delivered by our in-house product experts. This is a good opportunity to ask questions to our experts and understand how Blueprint can help you automate your service processes. We look forward to seeing
    • Recent Topics

    • Weekly Tips : Save Time with Saved Search

      Let's assume your work requires you to regularly check emails from important clients that have attachments and were sent within a specific time period. Instead of entering the same conditions every time—like sender, date range, and attachments included—you
    • Remove 'This is an automated mail from Zoho Sign' in footer

      Hi there, Is it possible to remove or change the text under the e-mail templates? I can't figure out how to do that: Would love to hear from you. Kind regards, Tristan
    • How can I link Products in a Deal Subform to the Products Module

      Hello, I have a pricing subform on our Deals page and use a lookup field to associate a product with each line. I want to be able to look at a product page within the Products module and see a list of the deals connected to that product. I have this working
    • Organize and manage PDFs with Zoho PDF Editor's dashboard

      Hello users, Zoho PDF Editor's dashboard is a one-stop place to upload, sort, share PDF files, and more. This article will explore the various capabilities that Zoho PDF Editor's dashboard offers. A few highlights of Zoho PDF Editor's dashboard: Upload
    • Updating records through Zoho Sheets View doesn't update timeline or trigger workflow rules

      I have noticed that when i update a series of record with the zoho sheets view (see here http://d.pr/i/ahnR) it doesn't update timeline history or trigger workflow rules. I am using it in the Deals module. Looking forward for some more info. Denis
    • Zoho Invoice Customer Login Portal

      Are there any plans for a customer portal to Zoho Invoice, ala Freshbooks?  I would like customers that I invoice to be able to login to review invoices and invoice history.  I have not switched from Freshbooks for this very reason.
    • Passing Info from Function to Client Script

      Hello, I have recently started making use of client script for buttons, allowing me to give the user information or warnings before they proceed. This is great. However, I have never quite managed to pass back any extra information from the function to
    • Automatically Update Form Attachment Service with Newly added Fields

      Hi, When I have a Form Setup and connected to a 3rd Party Service such as OneDrive for Form Attachments, when I later add a new Upload Field I have to remove and redo the entire 3rd Party Setup from scratch. This needs to be improved, such as when new
    • Cannot get code to work with v2.mergeAndStore!

      Please can someone help me pass subform items into a repeating mail merge table row using v2.mergeAndStore? I have a mail merge template created in Writer and stored in Workdrive. This template is referenced by a custom CRM function which merges all of
    • Drag 'n' Drop Fields to a Sub-Form and "Move Field To" Option

      Hi, I would like to be able to move fields from the Main Page to a Sub-Form or from a Sub-Form to either the Main Page or another Sub-Form. Today if you change the design you have to delete and recreate every field, not just move them. Would be nice to
    • Zoho Payroll for Canada

      Is anyone else having problems getting setup for Canada?
    • Passing the CRM

      Hi, I am hoping someone can help. I have a zoho form that has a CRM lookup field. I was hoping to send this to my publicly to clients via a text message and the form then attaches the signed form back to the custom module. This work absolutely fine when
    • API credit COQL COUNT

      The docs describe API credits in COQL from the LIMIT perspective: https://www.zoho.com/crm/developer/docs/api/v8/COQL-Overview.html When using aggregate functions such as `COUNT` or `SUM`, is that billed as 1 API credit?
    • Super Admin Logging in as another User

      How can a Super Admin login as another user. For example, I have a sales rep that is having issues with their Accounts and I want to view their Zoho Account with out having to do a GTM and sharing screens. Moderation Update (8th Aug 2025): We are working
    • One Contact with Multiple Accounts with Portal enabled

      I have a contact that manages different accounts, so he needs to see the invoices of all the companies he manage in Portal but I found it not possible.. any idea? I tried to set different customers with the same email contact with the portal enabled and
    • User Automation: User based workflow rules & webhooks

      User management is an undeniable part of project management and requires adequate monitoring. As teams grow and projects multiply, manual coordination for updating users & permissions becomes difficult and can give way to errors. User automation in Zoho
    • Disable Zoho Contacts

      We don't want to use this app... How can we disable it?
    • Default Ticket View - Table?

      Guys, We mostly use the table view to queue tickets. Maybe I am missing it - but how can I set that view as 'default" for all our agents? Thanks JV
    • Zoho One IS BUGGY

      Here are some things that just don't work: - Disabling applications from certain Spaces - Adding users (probably only for me) - Renaming applications in Zoho One Portal (fixed by now) - Reordering applications in Spaces When I try to reorder: It feels
    • Paid Support Plans with Automated Billing

      We (like many others, I'm sure) are designing or have paid support plans. Our design involves a given number of support hours in each plan. Here are my questions: 1) Are there any plans to add time-based plans in the Zoho Desk Support Plans feature? The
    • Merge Fields that previously worked are now giving an Error!

      Saving a URL Link button on the Deal module. The below fields used to save without issue at all, but now produce an error of "URL contains unsupported merge field!" ${Contacts.Mailing Street} ${Contacts.Mailing City} ${Contacts.Mailing State} ${Contacts.Mailing
    • Move email between inboxes?

      Is it possible to move emails from one team inbox to another? We would like to be able to have a single "catch-all" inbox for incoming requests, and then move the email to the appropriate department inbox. I was hoping we would be able to accomplish this
    • Clarification on Zoho Forms 1-User Plan: Multiple Submitters and Approvers

      Question Content (Copy–Paste Ready) Hello Zoho Team, I would like clarification regarding Zoho Forms pricing and user limits. I am planning to subscribe to the ₹700/month (1 user) plan. My use case is as follows: Only 1 person (myself) will create and
    • CRM Cadences recognise auto-responses

      I have leads in a Cadence. I get an auto-responder reply "I'm out of the office..." Normally Cadences seems to know that isn't a real reply and keeps the lead enrolled in the cadence. However, today, Cadences has UNENROLLED a Lead who sent an auto-reponse
    • App for Mac OS X please!

      It would be awesome to have a mail app for Mac OS X that included all the cool features such as steams, calendar, tasks, contacts, etc. Most people prefer native apps, rather than running it through a web browser. I know that we can use the IMAP, CalDAV,
    • Facing Issues with Sites Mobile font sizes

      my page renediaz.com is facing issues mobile view, when i try to lower font sizes in home page, instead of changing the size, it changes the line space
    • Zoho Books Payroll

      How am I supposed to do payroll and pay my employees with Zoho Books? I think it's pretty strange that an accounting software doesn't have the ability to perform one of the most common functions in business; paying your employees. Am I missing something,
    • Different Task Layouts for Subtasks

      I was wondering how it would be possible for a subtask to have a different task layout to the parent task.
    • 60 Days Into Zoho - Tiktok Branding Startup -7 Questions?!

      Wsp Everybody I co-own a TikTok Branding / Consulting Startup & have been using Zoho for the past 60 days - Am now looking to make our overall operations & processes more Efficient & Effective! Curious to know how others are using the platform & what's
    • Notifications in Cliq client for Linux

      If I got it right, Cliq desktop client for Linux does not use the generally accepted notification method via org.freedesktop.Notification interface. For this reason, Cliq notifications do not look and behave as all other notifications. Is it possible
    • Canvas templates can now be shared with different CRM organizations

      ----------------------------------------Moderated on 14th February, 2023------------------------------------------- Dear all, This feature is now open for all users in all DCs. To learn more about importing and exporting canvas templates, read our help
    • Unable to produce monthly P&L reports for previous years

      My company just migrated to Books this year. We have 5+ years financial data and need to generate a monthly P&L for 2019 and a monthly P&L YTD for 2020. The latter is easy, but I'm VERY surprised to learn that default reports in Zoho Books cannot create
    • Change Last Name to not required in Leads

      I would like to upload 500 target companies as leads but I don't yet have contact people for them. Can you enable the option for me to turn this requirement off to need a Second Name? Moderation update (10-Jun-23): As we explore potential solutions for
    • Reply to Email for SO/PO

      Hello, We are new to Zoho Books and running into an issue. Our support@ email is our integration user. When our team is sending out PO/SO's we are updating the sender email, but for some reason many of our responses are coming back to our support@ email
    • ZOHO Payroll Canada

      Any plans on the roadmap for Canada?
    • What's New in Zoho Billing | January 2026

      Excited about the latest enhancements in Zoho Billing? Our January updates bring an intelligent AI assistant, smarter subscription management, and improved tax compliance, saving you time and reducing manual work. Dive into the details below to see how
    • Zoho Books Sandbox environment

      Hello. Is there a free sandbox environment for the developers using Zoho Books API? I am working on the Zoho Books add-on and currently not ready to buy a premium service - maybe later when my add-on will start to bring money. Right now I just need a
    • Multi-currency and Products

      One of the main reasons I have gone down the Zoho route is because I need multi-currency support. However, I find that products can only be priced in the home currency, We sell to the US and UK. However, we maintain different price lists for each. There
    • Cliq iOS can't see shared screen

      Hello, I had this morning a video call with a colleague. She is using Cliq Desktop MacOS and wanted to share her screen with me. I'm on iPad. I noticed, while she shared her screen, I could only see her video, but not the shared screen... Does Cliq iOS is able to display shared screen, or is it somewhere else to be found ? Regards
    • ZOHO Writer Folders

      Hi We would love to have ability to create folders on the left hand side. We would then be able create and store our documents within each folder Hope you can provide this feature soon ! dux.centra
    • Next Page