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 OAuth under Default Connection.
  1.4 Set the connection name as deskconnection.
  1.5 Disable the toggle for User Credentials of Login User.
  1.6 Under Scope, choose the below scope values:
Desk.articles.READ
  1.7 Click Create and Connect.
  1.8 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. }
Notes
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

    • Zoho Desk Virtual Meetup: US Central, October 5 - 7, 2021

      After the interactive Virtual Meetups in the other regions, we are starting with the US Central and Midwest regions from October 5 to October 7, 2021. The dates for other regions will be announced soon.  At this event, we will explore the topics which
    • 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. 
    • Zoho Desk Community Meetups 2019 - Canada

      Hey there!  ​ Are you making the best use of Zoho Desk? Do you think meeting and learning from other Zoho users in your city would help? If yes, then Zoho User Group Meetups is the right place for you! We're happy to announce our first Zoho Desk User Group meetups in Toronto, Montreal, Quebec City, Calgary, and Vancouver. These meetups are a great place to meet local Zoho users, Zoho Desk product experts and partners, all under one roof.    Join us as we discuss some key Zoho Desk features and share
    • 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. 
    • Recent Topics

    • Which WhatsApp API works seamlessly with Zoho CRM?

      I’m exploring WhatsApp API solutions that integrate seamlessly with Zoho CRM for customer communication, lead nurturing, and automation. I would love to hear insights from those who have successfully implemented WhatsApp within Zoho CRM. My Requirements:
    • Crear tarea CRM con recordatorio desde Zoho Flow

      Hola, estoy intentando crear desde Zoho Flow una tarea en CRM. Lo he logrado hacer pero sin recordatorio, ya que no se como se debe escribir el string adecuado. He probado varias alternativas, pero ninguna me funcionó hasta ahora. - FREQ=NONE;ACTION=EMAIL;TRIGGER=DATE-TIME:${FechaVto}
    • Trying to setup a record to automatically create on a weekly basis

      Hello all, I need multiple records to be automatically created on a weekly basis. What I'm trying to accomplish is, I have a maintenance database where I track when I work on IT related systems. Every week on the same days I perform backups on systems
    • Set Mandatory Lookup Fields in Ticket Layout

      I added a custom module called 'Site' in the desk. I also added a lookup field 'Site' in the ticket layout. Now, I want the 'Site' field to be mandatory in the blueprint transition. How can I do that?
    • Custom Roles & Granular Permission Control in Zoho SalesIQ

      Hello Zoho SalesIQ Team, We appreciate the functionalities offered by Zoho SalesIQ, but we would like to request a crucial enhancement regarding user roles and permissions. Current Issue: At present, Zoho SalesIQ provides fixed roles—Admin, Supervisor,
    • Help with cookie code, utm variables are overwritten on every page load with new variables

      Hi all, My goal is to track the very first web page that a user visits, and store those utm values throughout all of the future visits until a lead form is submitted. That way, if a person is retargeted, I can still attribute the very first visit as the
    • Alignment of Company Information Page Structure in Zoho One and Zoho Desk

      Hello Zoho One Support, We appreciate the continuous improvements across Zoho products. Recently, Zoho Desk restructured the Company Information page into three distinct sections: Company Profile – Includes Company Name, Logo, Alias, Description, Website,
    • How to connect the Squarespace website with Zoho Thrive

      Our website is created using Squarespace. To boost our sales, I planned to do the affiliate program and I thought to integrate our website store with Thrive. but I don't see the Squarespace platform. if I choose the custom build, I have to generate the
    • Gravity Forms plugin not passing some fields

      I use the gravity form zoho plugin to push data from my lead form into my lead page in Zoho CRM. Everything was working file for about 6 months. Suddenly on Oct 1st, some of the fields are no longer getting passed to Zoho. The fields with the problem
    • Introducing 'Queries' In Zoho CRM

      Hello everyone! We are here with an exciting feature - Queries in Zoho CRM! A little context before we dive right into the feature specifics :) In today’s fast-paced business environment, immediate access to relevant data is essential for informed decision-making.
    • Is it possible to load a Module with a filter pre-applied by the URL?

      In many of the CRM related lists, there is limited sorting, and no filtering available. I thought of the idea of putting a Custom Button on a Related List that would take the user to that module, but PRE-FILTERED by the Account from where they were viewing
    • Weekly Tips: SecurePass For Extra Security

      Imagine sensitive data from your organisation sent via email is being accessed by unintended recipients. The sensitive data can range from Personal Identification Information to a tender quotation or a client’s NDA document. The unintended access could
    • Auto Copying an field from auto generated field in zoho crm

      I have products module in zoho crm, in which i have Part Number which is auto generated whenever the new product is created, i have made another field by name "SKU Number" i want that value of "Part number" should be auto copied to "SKU Number" whenever
    • Calling a function within another function

      Hello there, I have just found out that you can simply call up functions in other functions, regardless of the department. You can't create functions with the same name twice, even though you are in a different department. If you try it, you don't get
    • Related Record Bug

      Hi, Report a bug. Related record amount currency will display default currency (AUD) not the actual one (CNY). While if we click into the record and back, the currency will change to CNY (Correct). Then If we refresh browser, currency still show AUD
    • Introducing Social Toolkit

      Hi everyone, We're thrilled to launch Social Toolkit, a one-stop dashboard to help take your social media presence to new levels by letting you create aesthetic profiles and share content that your audience will actually enjoy engaging with. Social Toolkit
    • Zoho Forms - Shared Forms

      I chose SHARED FORMS and noticed "Enter atleast" needs a space to be correct.
    • Email Verification on Subdomain

      Hi, The latest guidelines for setting up an email newsletter are to set it up on a subdomain of your main domain so that if you get put in a spam block, it doesn't block all your company email. We have been trying to set this up and managed to get our
    • Posibility to add Emoticons on the Email Subject of Templates

      Hi I´ve tried to add Emoticons on the Subject line of Email templates, the emoticon image does show up before saving the template or if I add the Emoticon while sending an Individual email and placing it manually on the subject line. Emoticons also show
    • How to display Motivator components in Zoho CRM home page ?

      Hello, I created KPI's, games and so but I want to be able to see my KPI's and my tasks at the same time. Is this possible to display Motivator components in Zoho CRM home page ? Has someone any idea ? Thanks for your help.
    • Custom module - change from autonumber to name

      I fear I know the answer to this already, but thought I'd ask the question. I created a custom module and instead of having a name as being the primary field, I changed it to an auto-number. I didn't realise that all searches would only show this reference.
    • Show my cost or profit while creating estimate

      Hi, While creating estimate it becomes very important to know exact profit or purchased price of the products at one side just for our reference so we can decide whether we can offer better disc or not .
    • Show Zoho Cliq Reminders in Zoho Calendar

      Hi Zoho Team, I hope you're doing well. We appreciate the existing integration between Zoho Cliq and Zoho Calendar, which allows meetings scheduled via Cliq to be displayed in the calendar. However, we’ve noticed that reminders set in Zoho Cliq do not
    • Pushing GCLID info from Gravity Forms to ZohoCRM

      We are switching to Gravity Forms from Zoho Forms and I cannot find any good info on how to make sure my GCLID tracking info is pushed through to the CRM through my new forms. There was an article in the documentation about placing something within the
    • 【Zoho CRM】アクセシビリティ向上機能リリースのお知らせ

      ユーザーの皆さま、こんにちは。コミュニティチームの中野です。 今回は「Zoho CRM アップデート情報」の中からアクセシビリティ向上機能をリリースしましたのでご紹介します。 アクセシビリティ向上機能とは? すべての人が快適に利用できるように、フォントサイズの調整、色覚サポート、キーボード操作の最適化など、18のアクセシビリティコントロールを提供し、ユーザーのニーズに応じたカスタマイズを可能にします。 概要動画はこちら(英語) 以下にて、本機能の一部を紹介します。 アクセシビリティ向上機能の設定方法
    • 5名限定 課題解決型ワークショップイベント Zoho ワークアウト開催のお知らせ(2/27)

      ユーザーの皆さま、こんにちは。Zoho ユーザーコミュニティチームの藤澤です。 2月開催のZoho ワークアウトについてお知らせします。 今回は久しぶりに品川にて「オフライン開催」します!! ※定員に達したため、受付を終了しました。 ━━━━━━━━━━━━━━━━━━━━━━━━ Zoho ワークアウトとは? Zoho ユーザー同士で交流しながら、サービスに関する疑問や不明点の解消を目的とした「Zoho ワークアウト」を開催します。 Zoho サービスで完了させたい設定やカスタマイズ、環境の整備など……各自で決めた目標達成に向け、
    • I want to change the threshold for data quality.

      The following error occurs in Zoho Data Prep. > The export was interrupted because the quality of the data set (88.147) is below the minimum quality (100) set. I want to change the data quality threshold, but where can I do this? Translated with DeepL.
    • Bulk change color of selected notes

      When I select several notes, I want to change their color, but there is no such function. I miss it.
    • 📣📣 Zoho Bookings - Feature Roadmap 2024

      Hi Everyone, Thank you for all the support you have been showing Zoho Bookings. We had a fabulous 2023, with a bunch of new features and over 60K new users. In 2024, our prime focus will be on user experience, and we have a few vital features coming in
    • Client Script | Update - Introducing Subform Events and Actions

      Are you making the most of your subforms in Zoho CRM? Do you wish you could automate subform interactions and enhance user experience effortlessly? What if you had Client APIs and events specifically designed for subforms? We are thrilled to introduce
    • Importing Attendees- Excel

      I would like the ability to import attendees using an excel file. Sometimes groups, such as schools have to sign up attendees through there system and then send my organization an excel spreadsheet. Right now there doesn't seem to be a way to import those attendees. If Backstage can export to an excel file it seems like a no-brainer that one would be able to populate that template and import attendees into Backstage.
    • Python Code: Calling "Deals" API results in 404 Error.

      Good evening, I wrote a small python code to scrape the data from a selected record and then copy the information I need into another website. We have renamed the "Deals" module to "Opportunities", however the API name remains as "Deals" which is fine.
    • Bad change: Zoho Notebook Android app requiring Google Play Store login

      I have been a Zoho user for a decade or so, and a One subscriber for several years. There are always areas for improvement, but on the whole, I've been quite happy with it. A big part of my choice to go wtih Zoho is that I value data privacy, and try
    • Marking a Desk ticket as Unread after merge

      We have a custom script that runs against every new ticket and auto-merges it with any existing ticket that matches our criteria. That works fine but there is no functionality that reverts the newly-updated ticket back to an "unread" state. I found the
    • Need best practices and ideas for group calendars or personal calendar with group invite

      Please share your ideas and best practices to use Calendars. Here's the situation. Using a group calendar to hold weekly recurring meetings for the "Design Team" means that Design Team members can easily view/hide the calendar. However, it also means
    • Restrict Payment Methods

      Allow us to restrict certain payment methods specific for each customer.
    • Issue with Bin Locations and Stock Counting in Zoho Inventory

      Dear Zoho Support, We are currently experiencing a significant issue with bin locations and stock counting in our warehouse. Our warehouse is divided into 7 zones, each containing approximately 250 bin locations. When performing a stock count for an item,
    • How to block a WhatsApp user for sending spam

      Is there a way to block those whatsapp users that just come to play and annoy our service, they also spam us. We have a waba service with sales iq
    • Automatically create support tickets on a recurring basis

      As mentioned in this post, the idea of a recurring ticket is pretty valid. From time to time, we have to create repetitive tickets (like windows update tasks, restore simulation of backups, check firewall rules for unused entries, and so on). I guess this is a very important tool for Service/Help Desk purposes, so we doesn't have to create a internal schedule (on Microsoft Outlook or Google calendar) to remember to open a new ticket every week/month/etc.
    • Edit ticket number format or append to ticket subject?

      Is there a way to edit the subject in emails sent out from Zoho Desk? At the moment I get: [##123##] Ticket title But this is basically impossible to filter on in Gmail, as [ and # are classified as special characters, so can't be used in a filter. Ideally
    • Next Page