Deluge in Zoho services #1: Zoho Mail

Deluge in Zoho services #1: Zoho Mail

Hello everyone,

We hope to present the various Zoho services that support Deluge through a series of posts. In today's post let us explore Deluge in Zoho Mail.

Filters is the Zoho Mail feature that encompasses Deluge. When a Deluge function is associated with a Zoho Mail filter, the configured filter criteria acts as a rule based on which the Deluge function will be triggered.

Example

Let's assume a vendor sends invoices of your purchases to your email from vendor@zylker.com . Whenever you receive the invoice email, you post the invoice ID, invoice date, and Total amount details in a Zoho Cliq channel. However, manually posting the invoice details in a channel is not only monotonous but also could lead to accidental blunders or any manipulation of data. To overcome this, Deluge can be used to automate the whole process. All the invoices follow the below structure.


Follow the below steps to achieve the mentioned automation.

 

Step 1: Navigate to Deluge


1. Click settings icon on the right pane and click Create New Incoming Filter from the Filters card.



2. A Deluge function needs to be triggered whenever a mail is received from vendors@zylker.com . Hence, provide the following filter conditions, choose Custom function (Creator) under Actions, and click Select Function.




3. A popup window with Deluge custom function , frequently used Deluge functions as gallery functions and Deluge's connections page will be displayed.

Step 2: Script using Deluge


1. Navigate to DRE Connectors tab and create a Zoho OAuth connection with scopes ZohoMail.messages.READ and ZohoCliq.Webhooks.CREATE . Name the connection as extractandpost .

Note: This connection is used to authenticate the Zoho Cliq account in which the message will be posted.

2. Navigate to Custom function tab, write the following script, and click Save. You can use the Test Run button to execute your script for a specific email.
  1. // Fetch message details using Zoho Mail integration task
  2. messageDetails = zoho.mail.getMessage(mail_messageId, "extractandpost");

  3. // Get the mail content
  4. mailContent = messageDetails.get("CONTENT");

  5. // Handle the returned text to structure it in a valid XML format
  6. mailContent = mailContent.replaceAll("<meta />","");
  7. mailContent = mailContent.replaceAll("&nbsp;","");

  8. // Use XPath to fetch the required details from the XML
  9. invoiceId = mailContent.executeXPath("/div/div/div/div[7]/text()");
  10. invoiceDate = mailContent.executeXPath("/div/div/div/div[8]/text()");
  11. invoiceTotal = mailContent.executeXPath("/div/div/div/div[13]/text()");

  12. // Format the fetched details to post in Zoho Cliq channel
  13. textToPost = "Zylker invoice\nInvoice ID: " + invoiceId + "\nInvoice Date: " + invoiceDate + "\nTotal: " + invoiceTotal;

  14. // Post the formatted text in the required Zoho Cliq Channel
  15. zoho.cliq.postToChannel("OrdersChannel", textToPost, "extractandpost");


3. Click Select Custom Function button to associate the function with the Filter.



Step 3: Save the filter

Now that the configuration is done, if an email is received from vendors@zylker.com , the mail content will be parsed and the required details will be posted in Zoho Cliq Channel automatically.

Note: This example assumes emails from vendors@zylker.com always follow the same email template. The XML handling and XPath used in the provided example script is specific to this email template.

Please check the attachments for the sample XML file based on which the provided example script works.

We hope you found this post useful. We will explore Deluge in Zoho Writer in the next post. Please let us know your questions, feedback, and suggestions in the comments or write to us at support@zohodeluge.com .

Stay safe!
 

Related Links




    • Recent Topics

    • How can I view Help Center articles in 'Sandbox' mode?

      I have published some help center articles but when I try to preview the knowledge base page, it says 'We have no content to display'.
    • Is this possible with Campaigns?

      My company is currently moving CRM's from Monday to Zoho One. Currently, our marketing lead process is send out 7 sms messages over 14 days if the lead is in a certain status. If we don't get a response the lead is put into a "Closed" status. Do we buy
    • Error 403: Forbidden When Updating Email Signature via API

      Hi Zoho Desk team, First, congratulations again on the excellent Zoho API. But, I’m encountering an issue while attempting to update an email signature via the API. Whenever I make a request to update the signature, the response returns an HTTP 403 Forbidden
    • Opening & working multiple tickets

      We work in multiple tickets at the same time. Currently to do this, we have to open multiple instances of Desk.  Is there a way to do this by just opening multiple ticket tabs within 1 instance of Desk?  
    • Different content per social media account..

      Is there a way to add different content per social media account on one post?
    • Merge tickets

      Hello, I am attempting to merge two tickets; however, the option to merge does not appear to be available. Could you kindly confirm if this feature has been relocated or removed? Additionally, could you please provide guidance on the correct process to
    • Add "Merge by Ticket ID" Option on Ticket Screen

      Dear Zoho Team, We would like to request a new feature for the ticket interface in Zoho Desk. Specifically, we propose adding a button to the ticket screen that allows users to merge the current ticket with another ticket by directly providing the second
    • Using tickets to train Zia

      Hi Team, I would like to know if there is any way that Zia can also learn from previous tickets in addition to the articles from the knowledge base. Since we have most of our knowledge curerently in the tickets and that this is hard to combine into a
    • Unable to delete Junk Lead and Not Qualified from the Lead Status field

      Are Junk Lead and Not Qualified default fields or something that cannot be deleted? I have gone into the Leads module and made sure there are no records using these values. Other values have a minus sign that allows me to remove them, but these two fields do not have that option.
    • Welcome Link Expired

      Hi The links sent to the users didn't get clicked on in time and now all the links have expired. Is there a way to send a new link without deleting them and re-adding them>
    • Alert for Back Navigation in Zoho Creator Widgets on Mobile Apps

      In Zoho Creator widgets, when a user navigates back on mobile devices, the data within the widget is reset. This leads to a loss of any unsaved changes or inputs, causing frustration for users. To enhance user experience, we need to implement a confirmation
    • Zoho Developer Community Monthly Digest - December 2024

      Hello everyone! As we step into the new year, let’s reflect on the strides we’ve made together and gear up for the exciting opportunities 2025 holds. This month’s digest highlights key updates, engaging discussions, and upcoming events designed to keep
    • Allow "add new" option to picklists and multiselection fields from add or edit pages

      Hello zoho, please insert an add option (ie +)sign) to pick and multiselect fields so we can add new options while entering or editing records. For example. in my lead module, while adding a new record, I realized I had a new lead source. I went to my
    • Need warehouse listed on packing slips

      We ship from several locations, and have a separate warehouse set up for each location in Zoho. I need the warehouse related to each SO to show up on the packing list. How do I make that happen?
    • Enhancements to Zoho Corp Help Center "Team Requests" View

      Dear Zoho Team, I hope this message finds you well. The ability to view both my tickets and my team’s tickets in the Zoho Corp Help Center is a fantastic feature, especially as the focal point for Zoho in our organization. However, we’ve encountered a
    • We've revised the pricing model of CRM portal user licenses

      Hello everyone, We’re making important updates to our pricing structure for portal user licenses, effective from the next payment cycle. The new slab-based pricing is as follows: Previously, these portal user licenses were priced at $5/ user/ month. As
    • Zoho and Hostaway webhok integration.

      I want to receive data coming from hostaway webhook and receive it in zoho crm to create or update record in a module based on conditions. The hostaway webhook sends data every time a reservation is created or modified or cancelled. The hostaway sends
    • A recap of Zoho Sprints 2024

    • Unable to create custom fields for shipment order

      I'm unable to create custom fields for shipment orders, even though the custom fields are set up correctly. A request to the following endpoint: https://www.zohoapis.com/inventory/v1/settings/preferences/customfields?organization_id=${ZOHO_ORGANIZATION_ID}&entity=shipment_order
    • Records per page in New UI

      It seems the new UI lack of "Records per page" function, it is very handy if you are looking for a data that you don't know the exact search term, but you know it may "between" few entries. without a "page" function, we kind of have to keep page down and page, the autoload is not that fast, and you are dealing with thousands of entries. Could we please have the "records per page" function back to New UI (also it shows total counts of the record) Looking forward to hear from you.
    • zet pack not working

      We are using the zet pack command to package our Zoho extension. However, after running the command, the extension gets packed, but the resulting package is empty. We've attached a screenshot for reference. Could you please assist us with resolving this
    • CSV File Added to Form - Parse and Map to Fields

      Hi,  I apologize, I can't seem to find a clear explanation or help article on how to parse a CSV file. On validate, I process this deluge script. fileContent = Collection(input.File_upload.content); result = fileContent.values(); info result; What I want to do is create a record (in another form), and map certain fields to fields in the form.  I can get values, which is the whole file but no keys. If I use result = fileContent.keys(); I get "0" As you can see from CSV, my first line is my map and
    • Encountered an error while creating a bill in Zoho Inventory: {"code":6,"message":"Invalid data provided"}

      I attempted to create a bill using the Zoho Inventory API, but I received an error: {"code":6,"message":"Invalid data provided"}. However, when I made the same request again, it was successful. Does anyone have insights on why this happened?
    • Free user licenses across all Portal user types

      Greetings everyone, We're here with some exciting and extensive changes to the availability of free user licenses in CRM Portals. This update provides users with access to all Portal user types for free to help them diversify their user licenses and explore
    • Custom "Filter By" in Client Portal

      Currently our client portal only shows items for that specific person that is logged on to the portal, we want the current logged user to see all items for that user's company. An example would be invoices, so the current user would see all invoices for
    • Why do I need to send the Customer ID in the Create Purchase Order Request?

      I'm trying to create a purchase order using this endpoint https://www.zoho.com/inventory/api/v1/purchaseorders/#create-a-purchase-order Unfortunately, I'm getting this error { "code": 4, "message": "Invalid value passed for Customer ID" } The doc doesn't
    • How to Retrieve Serial Numbers of Items in Zoho Inventory via API?

      Hello, I am currently working with the Zoho Inventory API and need to retrieve the serial numbers associated with specific items in our inventory. After reviewing the documentation, I couldn’t find an endpoint dedicated to fetching serial numbers for
    • merging email accounts

      previously I was using 5 mail pop mailboxes within VO , 2 of them are becoming obsolete so I was thinking about deleting the obsolete ones and merge the remainders into my main account mailbox within VO , is this possible ? thnx in advance.
    • ZohoPeople API - Retrieve leave type IDs

      Hi All, I have created a leave type in Zoho People UI. Now I need to fetch the  Leave Type ID of it. As per the documentation[1] I used the  curl request [2]. But I ended up with the error response from the API.  {"response":{"message":"Error occurred","errors":{"message":"Server Error Occured","code":7031},"status":1,"uri":"/api/leave/getLeaveTypes"}} The new API[3] does not tell anything on how to retrieve the Leave Type ID.  Have you done any changes to the API recently. If so please let me know
    • Inadequate Customer Support

      Hello & Greetings! I have been a pro Zoho user since the last 2 years and I would admit that the apps that are being offered are good, however the support we receive has a lot more to achieve. This being a design issue rather than a staff issue. Being
    • Incorrect Closing Stock Amount value

      Act as Zoho Inventory Expert. We are a construction company, OVAL Projects Engineering Limited. We started using Zoho Inventory for Stock Management.I have multiple warehouses. I have encountered a problem while generating custom warehouse wise inventory
    • User tiers

      I am trying to add tiers of users. I would like: Me - CEO Next Tier down - Managers Next tier down - All the salepeople reporting to each manager I can only seem to add myself with mansagers below. Surely I can add more tiers?
    • The Next Chapter for CRM for Everyone: Moving from Early Access to Phased Rollout for Customers

      #CRM25Q1 Hello Everyone, Until now, CRM for Everyone has been available in early access mode exclusively for users who opted to try the new version. We are now transitioning to a phased release, starting with the basic edition. We are thrilled to announce
    • Zoho vault uses only password to unlock not a TouchID

      TouchID works when normally openning app but when called from keyboard while browsing or trying to log to another app it shows only password option to unlock. This behaviour is only on iPad Mini witch latest 18.2OS
    • Unable to add Guest Members

      We are having issues adding Guest Members to our Cliq account. We have sent out a number of request but it seems that only some people are able to access the platform. Others have received a message stating that they need to be granted access from an
    • Webhook when estimate is refused is not firing

      Hello, I use a workflow through make that sends estimate with zoho books (I paid books and sign). -Those estimates when accepted are firing the webhook that I create in zoho sign (photo 1) -However when refused they are not firing the webhook that I created
    • Invoice status on write-off is "Paid" - how do I change this to "Written off"

      HI guys, I want to write off a couple of outstanding invoices, but when I do this, the status of the invoices shows as "Paid". Clearly this is not the case and I need to be able to see that they are written off in the customer's history. Is there a way
    • Create a custom button to modify custom fields in zoho Inventory

      I am needing a script for two buttons, 1. Button will add todays date to a custom field named cf_sent_to_sov 2. Button will mark a checkbox or unmark a checkbox field named cf_parts_ordered I have been trying to figure out deluge but have not got anywhere
    • How to add a record for a different report

      I have one form and it has two reports I need to programmatically add records to both reports For example one report is draft and other is processed After the user performs some action on the draft report I want to create a new report in Processed and
    • Webhook 'when estimate is refused' is not firing

      Hello, I use a workflow through make that sends estimate with zoho books (I paid books and sign). -Those estimates when accepted are firing the webhook that I create in zoho sign (photo 1) -However when refused they are not firing the webhook that I created
    • Next Page