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

    • Zoho Community Digest — Marzo 2026

      ¡Hola, comunidad! Un mes más os traemos las novedades más interesantes de Zoho para marzo de 2026, incluyendo actualizaciones de producto publicadas oficialmente, cambios de políticas y noticias del ecosistema. ¡Gracias por venir a los Workshops de Madrid!
    • Files Uploaded to Zoho WorkDrive Not Being Indexed by Search Engines

      Hello, I have noticed that the files I upload to Zoho WorkDrive are not being indexed by search engines, including Google. I’d like to understand why this might be happening and what steps I can take to resolve it. Here are the details of my issue: File
    • How can we get payment status updates for payment links in Zoho Books using webhooks?

      When we create and share a payment link in Zoho Books, is there a way to know when the payment is updated? Can we use webhooks to get real-time updates for payment link status instead of checking manually?
    • Adding Images to a Quote in Zoho CRM

      We are currently preparing to use Quotes in Zoho CRM and we are building out our Quote templates.  We came across an issue of not being to add Images of the products to the Quote - specifically in the body of the Quote templates.   This is a problem,
    • Uplifted homepage experience

      Editions: All editions. Availability update: 17th February 2026: All editions in the CA and SA DC | JP DC (Free, Standard and Professional editions) 23 February 2026: JP (All Editions) | AU, CN (Free, Standard, Professional editions) 27 February 2026:
    • 【Zoho CRM】住所項目のアップデート:構造化された正確な住所入力を実現

      ユーザーの皆さん、こんにちは。Zoho コミュニティグループの中野です。 今回は「Zoho CRM アップデート情報」の中から、住所項目に関するアップデートをご紹介します。 アップデートの概要 これまでの住所項目は、自由入力形式のテキスト欄が中心でした。 そのため、入力者によって書き方がバラバラになりやすく、データの検索やレポート集計が難しいという課題がありました。 今回追加された新しい住所項目では、住所を構造化されたフォーマットで管理できるようになりました。 以下の要素をそれぞれ個別の項目として分割して管理します。
    • How to hide Activity Side Panel

      How do you hide the activity side panel? Clicking on the link and reviewing the activity does not remove it and it does not seem to timeout. I have any activity that have been listed there since January. Thank you.
    • This version of app doesn't support this notecard type Error

      So this problem is happening for any notes created within the last week, as well as any note recently edited on Android. I can open them on my phone fine, but they don't open on the website version. They DO work on the desktop app version. It's just web
    • mask Customer phone number and agents cant see customer phone number

      Is there any way we can integrate Zoom Phone with Zoho CRM while ensuring that customer phone numbers remain masked? We need a solution where agents can make outbound calls but cannot see customer phone numbers. Please let us know if there is any solution
    • Edit a previous reconciliation

      I realized that during my March bank reconciliation, I chose the wrong check to reconcile (they were for the same amount on the same date, I just chose the wrong check to reconcile). So now, the incorrect check is showing as un-reconciled. Is there any way I can edit a previous reconciliation (this is 7 months ago) so I can adjust the check that was reconciled? The amounts are exactly the same and it won't change my ending balance.
    • CRM x WorkDrive: File storage for new CRM signups is now powered by WorkDrive

      Availability Editions: All DCs: All Release plan: Released for new signups in all DCs. It will be enabled for existing users in a phased manner in the upcoming months. Help documentation: Documents in Zoho CRM Manage folders in Documents tab Manage files
    • Choose Component for User Filter

      This filter in the Choose Component for User Filter would be better if had an Order or Group by function. Also, the Specify the default filter values: is very confusing and limiting.
    • Preventing auto-redirect to Parent Record on Save...

      Our users often create records from the related list on th left side of the screen. They click the blue "plus" button to create the record. This is handy, but for some modules, or situations, they would like to remain on the record AFTER clicking "Save",
    • Zoho Desk - Event Calendar View

      Hi Desk team, Are there any plans to introduce a calendar or timeline view for Events in Zoho Desk? It would be very helpful if we could see Events visually in a calendar and/or timeline. This is very helpful when desk side support activities need to
    • Re-Apply SLA When Ticket Reopened from Closed Status?

      If you have an SLA applied, timers are deactivated when going to "On Hold" status type and reactivated when going back to an Open status type. What we discovered is when a customer replies to a closed case and it reopens, the SLA is not applied and timers
    • Option to Delete Chats in IM

      Currently, there is no option to delete any chats in IM, regardless of their source.
    • Time Zones for Users

      I've searched for this topic, but the only answers I see are from years back. We have users all over the country. is there a way for them to set their own time zone? This is important and should be a standard setting, but I do not see how to do it.
    • Is it possible to make tags "required"

      We would like to be able to make the tag field a requirement for agents before they can close a ticket. This would help with monthly reporting, where a lot of tickets end up with no tag, causing manual work to go back and add the correct tag for each
    • Showing the map along with mileage expense

      When you use the GPS to track mileage, it shows you the map of the actual path travelled. It would be very useful and practical to save that map with the mileage expense, so that when the report is created, it provides a map of each mileage expense associated
    • ID:2406331

      Hello, I have sent the form (ID:2406331) but no answer after two days. This is a paid subscription, I am not allowed to use the eighth paid slot of 50GB email space anymore, only 7 are being used. Is anyone going to help me please so I can use the eighth
    • Approval Workflow for Purchase Orders Abrir

      The requirement is , that all purchase orders greater than or equal to 5000 go through an approval process from certain people, but within books I only see that the approvers can be by levels or any approver but we cannot enter a rule like these. Can
    • sending email with another account

      Hello there, i write there for an our costumer request. They want to send email from CRM with a different email (confirmed and added to zoho profile).  For example they use account@zilium.com but with this account they want to send (not only with email template... ) with  anothermail@zilum.com thanks
    • I would like to know wich person viewed the file

      I have a franchise and my Operative Manual is in WorkdriveI, the user can´t download but despite I know How many views the file had, I would like to know wich person viewed the file Is it possible? thank you
    • Transaction Rule Matching

      Q1. Is there a method to have the Transaction Rules applied across multiple Bank Accounts? Q2. To match "contains" text in Transaction Rules, is a wildcard or regular expression required? Is it case sensitive? Would searching for "issue" in the following
    • Notebook on Mac: Fuzzy fonts in list view

      Hi, I am running Notebook on Mac OS 26. Generally it works fine, and the font display in the notes themselves is crisp. However, in the notes list (left of the open note) the font of the note titles as well as first lines is noticeable fuzzy. Attached
    • Trigger workflows from SLA escalations in Zoho Desk?

      Hey everyone, I’m currently working with SLA escalation rules in Zoho Desk and ran into a limitation that I’m hoping someone here has solved more elegantly. As far as I can tell, SLA escalations only support fairly limited actions (like changing the ticket
    • Zoho CRM Email Templates 100% Width No Background How?

      Hi, On the Zoho CRM Email Templates in setup > customization > templates > new templates > I choose blank template, but still it puts in a gray background and a max width for the email. I just want to make an email that looks like an email I would send from gmail that has no background or max width. How do you do this? 
    • ZOHO CRM Quote Export / Quote Report

      How can I either Export my quote list, or create a Report that shows all quotes AND includes the NOTES field in a column. I attempted to Run a Report which includes ALL FIELDS, however it does not include the Notes Field (but oddly does include the fields
    • Introducing Radio Buttons and Numeric Range Sliders in Zoho CRM

      Release update: 1. 2 March 2026: Currently out for CN, JP, AU and CA DCs (Free and standard editions). For other DCs, this will be released by mid-March. 2. 26 March 2026: CA, SA, AU, JP, CN DCs - Free, Standard, Professional, Enterprise, Ultimate, CRM
    • All new Address Field in Zoho CRM: maintain structured and accurate address inputs

      Availability Update: 29 September 2025: It's currently available for all new sign-ups and for existing Zoho CRM orgs which are in the Professional edition exclusively for IN DC users. 2 March 2026: Available to users in all DCs except US and EU DC. 24
    • Adding a Mark Up

      Can you use the discount column to be a mar up column on estimates and invoices?
    • URGENT. Recovering email without eArchive

      Hello, I have deleted some email from my trash but do not have eArchive. Is it possible to recovery without this? many thanks!
    • Subscription Statuses - Dunning

      How are other companies handling the scenario when customers don't pay and dunning takes over? Our issue is that in my situations, we want our customers to be able to catch up their late payments and continue their subscription after the dunning process
    • Logo Doesnt appear on email

      Hi, 1. PROBLEM: mails sent to customer from zoho invoice ( Estimates and incoices etc.) Logo doesnt appaer on email. 2. SUGGESTION: there must be an option to select from google fonts if we want specific font to the pdf templates. thanks
    • How to see Statement Details Shown in Unclassified Transactions in All Transactions?

      All, The list of Unclassified Transactions show the Statement Details and Descriptions. What is the method to see that column in the All Transactions list? -Thanks!
    • Non-Avalara Tax Automation wtih Zoho Books

      We are paying a ridiculous amount for Avalara. Our team wants to make a change, but they're the only software fully integrated with Zoho. We also don't have the bandwidth to do this manually, so we do need some sort of automated software solution. We
    • Migrating to the new outgoing webhook model in Zoho Connect

      Dear User, Outgoing webhooks configured across the Zoho Connect Integrations page, Zoho Flow, and Zapier will stop working after May 31, 2026. This is due to an upcoming upgrade to our outgoing webhook flow. This update is mandatory only for networks
    • Create formula calculations in Assemblies for scaling quantities

      Something we have been encountering with our composite items is dealing with scaling of quantity of one or more items within the composite assembly relative to the number of complete units being sold. I.e. running the equation 2(n-1) on one of the assembly
    • Lastest update

      The latest update to notepad has completely trashed all my notes. If I go to view it it just opens up a screen with a box with dotted lines around it for me to add something I can import saved nodes but you can't view them at all. Anybody else having
    • Tip #67- Exploring technician console: Disable Input Devices- 'Insider Insights'

      Hello Zoho Assist Community! Picture this: you are in the middle of a critical remote session, carefully configuring a system or running an important update, and the customer accidentally clicks somewhere or types something that undoes your progress.
    • Next Page