Simplify Zoho API integration with Deluge’s invokeAPI task

Simplify Zoho API integration with Deluge’s invokeAPI task

Hello all!

Happy New Year! As we kick off 2025, we’re excited to share some of the latest updates to enhance your Deluge experience. 

While Deluge already offered robust API integration capabilities, we’ve taken it to the next level with the introduction of our new invokeAPI task. The new task has been launched with the aim to streamline the process of connecting with Zoho’s extensive suite of services. Unlike the invokeURL task, where you need to provide the complete URL, with invokeAPI, you only need to specify the path. The system will automatically fetch the domain based on the respective Zoho service’s data center, ensuring seamless access across all data centers when making API calls.

This capability of the invokeAPI task is especially useful when working with multiple Zoho services across different data centers. This streamlines the development process by eliminating the need to manually specify the base domain for each service, saving you a lot of time and effort.

What is invokeAPI?

The invokeAPI task in Deluge allows you to make REST API calls to access and modify data in one Zoho service from another Zoho service. 

The invokeAPI task can be used across all Zoho services that support Deluge. However, it's currently limited to performing integrations with specific Zoho services. These include Zoho CRM, Zoho Books, Zoho Invoice, Zoho Billing, Zoho Inventory, Zoho Bookings, Zoho Cliq, and Zoho Creator.

We’re excited to share that plans are underway to extend this capability to even more services across the Zoho ecosystem!

Key benefits

The main objective of the invokeAPI task is to simplify API integrations within the Zoho ecosystem. Here are its key benefits:
  • URL requirements: You no longer need to specify the full URL; simply provide the API path.
  • Domain detection: The domain is automatically determined based on the Zoho service you’re interacting with (e.g., Zoho CRM, Zoho Books) and its corresponding data center. This ensures accurate routing of API calls regardless of the hosting data center. Further, it reduces the risk of errors associated with incorrect URLs or misconfigured endpoints.
  • Enhanced response handling: The response object includes the header and status attributes by default. This enables you to branch logic based on the status code and utilize header values effectively. For example, when the status code is 301, the redirection URL is included in the header. Further, we’re working on supporting the redirection attribute by default in future updates.
Some additional capabilities that set the invokeAPI task apart include:
  • Support for body parameters in GET and DELETE methods: Unlike the invokeURL task, which only supports query strings for DELETE requests, the invokeAPI task allows you to pass values in the request body for GET and DELETE operations.
  • This task also provides the flexibility to customize each parameter in your API request. For instance, you can set parameters such as the name, content type, and encoding type to tailor the requests to your specific needs. 

How it works

When you use the invokeAPI task, you simply need to specify the service and the path to the API endpoint. 

Here’s the basic syntax:
Quote
response = invokeapi
[
  service: <service_name>
  path: <path_value>
  type: <type_value>
  parameters: <parameters_value>
  body: <body_value>
  headers: <headers_value>
  connection: <connection_name>
  response-format: <response_format_value>
  response-decoding: <encoding_format_value>
];

Example: Creating a lead in Zoho CRM
Assume that you want to create a new lead in Zoho CRM. In the invokeAPI task, you only need to provide the service (crm) and the path (/crm/v2/Leads). 
Quote
data = {"data": [{"Last_Name": "Doe", "First_Name": "John", "Email": "john.doe@example.com", "Company": "ABC Corp"}]};
response = invokeapi
[
  service: zohocrm
  path: "/crm/v7/Leads"
  type: POST
  body: data.tostring()
  headers: {"Content-Type": "application/json"}
  response-format: COLLECTION
  response-decoding: "UTF-8"
  connection: "<connection_name>"
];
info response;
In this example:
  • service: We specify the Zoho CRM service (zohocrm).
  • path: This is the API endpoint path for creating leads (/crm/v7/Leads).
  • type: The HTTP method is POST because we're creating a new lead.
  • body: This is the data sent in the request body (the lead information).
  • headers: We specify that the request body is in JSON format.
  • response-format: We expect the response to be in COLLECTION format.
  • response-decoding: The response will be decoded using UTF-8 encoding.
  • connection: This is the TEXT that represents the name of the connection.

Use cases for invokeAPI

Here are some popular use cases of how the invokeAPI task can be utilized:
  • Sync leads between Zoho CRM and Zoho Projects: Automatically create a new project in Zoho Projects when a new lead is added to Zoho CRM.
  • Automate invoices in Zoho Books: When a deal is closed in Zoho CRM, automatically generate an invoice in Zoho Books.
  • Customer support automation: When a new support ticket is created in Zoho Desk, use invokeAPI to create corresponding tasks or issues in Zoho Projects or Zoho CRM.
  • Cross-app data synchronization: Easily synchronize customer data between Zoho CRM, Zoho Books, Zoho Desk, and Zoho Projects to ensure consistency across your applications.
Note: These are just examples—rest assured that a wide range of actions can be performed using this task.

Documentation

We've also come up with comprehensive documentation for this task, and you can take a look at it by visiting the invokeAPI Task help doc.

We believe the all-new invokeAPI Deluge task will be a game-changer for users aiming to integrate seamlessly across multiple Zoho apps. This feature is especially beneficial for teams working with multiple Zoho applications or the Zoho One bundle.

As we wrap up, we want to let you know that we are committed to expanding the capabilities of Deluge, and we’re working hard to bring even more features your way. Stay tuned for exciting updates!

If you need any assistance, don’t hesitate to reach out to us. We’re always happy to help.

Regards,
The Deluge Team
    • Sticky Posts

    • Function #41: Sync Associated Subforms!

      Welcome back everyone! The last custom function showed how to update a Contact with Product details from it's Related list in Deals. This week, let's look at a function that lets you update subform records in two modules simultaneously when one of them is updated. Business scenario Let's look at how subform helps in an education institution that has deployed Zoho CRM. National Public School, Austin (made up, of course!) has set up Zoho CRM and it follows the same relationship pattern of "Students",
      • Recent Topics

      • Custom Status for Purchase Orders

        Currently Zoho books has functionality to create custom statuses for Sales Orders. Can this be extended to include custom status for purchase orders as well? It was a great decision to add this functionality to sales orders. Our use case is for tracking
      • My workflows not working

        Hi I have created my first workflow I want it so when a customer responds to a ticket that the status is changed to "reopened" We want this so its clear there is a ticket to deal with again. We only have 2 agents responding to tickets and do not have
      • Waiting Room

        Is there any plans to implement a Virtual Waiting Room for Attendees on Meetings and or Webinars?
      • Error AS101 when adding new email alias

        Hi, I am trying to add apple@(mydomain).com The error AS101 is shown while I try to add the alias.
      • Global Sets for Multi-Select pick lists

        When is this feature coming to Zoho CRM? It would be very useful now we have got used to having it for the normal pick lists.
      • What's New - January 2025 | Zoho Backstage

        Hi there! As we step into a brand-new year, we’re thrilled to bring you some exciting updates to make event management more enjoyable and efficient. Here’s what we rolled out in January to kick off 2025: Backstage 2.0 now enforced for all users We've
      • How do you do ticket add ons in Backstage?

        Hi Everyone, If you wanted to have general admin tickets and allow for add ons, like camping, or car or Carbon offset. What would you do? Peace Robin
      • Re-create auth token

        I need to re-create a self-client auth token, with the same scopes (and additional ones) as the current token. Is there a way to view the scopes assigned to the current token to ensure that no scopes are missing when creating the new one?
      • Writing on sketch cards is bugged when zoomed in

        When zoomed in, it writes a noticeable distance above or to the side of where you're actually trying to write. The further you're zoomed in, the more noticeable it is. Zooming is also entirely absent on the desktop version.
      • Doesn't let me test my newsletter.

        Hello, I click "Preview and Test". I select the email address to send the test (usually my own email). I send the test email, appears the message "Your test email has been sent", but nothing happens. I mean, there is nothing in my inbox. I also tried
      • Custom Related List anchor tag with tel protocol

        The following code worked great for about a year to create clickable tel and mailto links in a related list in the Deals module. Just this morning, it started displaying the HTML as text. For example: <a href='tel:8882490100'>8882490100</a> Zoho support
      • reset of user password

        User forgot her password, so she requests a password rest, but never gets the email. How do I reset her password, since that function is not an option, even for an administrator?
      • In what case it's better to use Developer Console? Only for marketplace?

        As I can see from the documentation, the limitations are challenging. No Custom API No Page Variables No Custom Connections.
      • commision tracker

        I am after a zoho developer to finish my commission tracker as I hired someone on oDesk that started but now will respond to my emails.I really need to get It finished as it is holding up my plans Thanks Budget : $500 | Duration : a.s.a.p To leave a private message, please click the link for private response in post Action section.
      • Generate a Zoho Sign link

        From time to time I get a response "I never received your you e-document for electronic signature" is there a way to generate a Zoho Sign link to share.
      • 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
      • Queues Management ?

        I need to assign the new requirements equally between my support agents. How I can configure this feature in Zoho? Thanks
      • Client Can't View Ticket

        Hi, I created a ticket for my Client since he had an issue. I added him as a Contact as well. My client got a notification in his email that the ticket has been created. When he went to view the ticket on his desktop, the screen was blank. He then viewed
      • Automating Custom Web Link Messages to Customers via Instant Messaging in Zoho Desk

        Hello, I am looking for assistance with Zoho Desk's Instant Messaging feature. Is there a way to automate the sending of a custom web link to customers every day at 6:30 PM? Any guidance or suggestions on how to achieve this would be greatly appreciated.
      • How do you apply field validation to a date field?

        We are using Sign for remote e-signature of liability waivers. The signer must enter a date of birth, and if they are a minor their legal guardian must sign for them. However we have had numerous problems with signers returning an invalid date of birth
      • Implement Regex in Layout and Validation rules

        Hello all, We are excited to announce that users can now implement Regular Expressions (Regex) in our layout and validation rules. This new functionality allows for more flexible rules to be created when designing and validating forms. What is Regex?
      • Zoho Desk Validation Rule Using Custom Function

        Hi all, I tried to find the way to validate fields using custom function just like in Zoho CRM but to no avail. Is there a way to do this?
      • Editing landing page after signup for a webinar

        Hi, how can I edit the landing page after signing up for a webinar. I personalized the email "registration confirmation", which is working fine. Nevertheless after submitting the form, the participant gets redirected to a page, which looks like the standard
      • Kiosk GetRecords can't compare formulas

        (submitted as a help request by accident - should have been a topic) Scenario: I have an "email domain" formula whose value is "@xyz.com" if the e-mail address is brent@xyz.com . I have the same field in Leads and Contacts. So, theoretically, I should
      • Kiosk can't merge picklist or multiselect

        There is no ability to load a multiselect or picklikst field into a kiosk with the values that have been previously selected. So, I essentially have 3 unacceptable options: 1.)Load the value into a text string and include instructions like this: "Picklist
      • Fillable template with dynamic tables?

        Is there a way to build a fillable template so that users can add rows to a table? To describe what I'm trying to accomplish the table has 3 sections; a header row, some number of rows with custom information, and a summary row with totals. I can't figure
      • Tip of the Week - Timeline User Filter for Dashboard

        Does the Date User Filter in your Dashboard leave out a few reports from filtering? This happens when the reports are not created over the same table and the (time) column over which the user filter is created.   To solve this, Zoho Reports has a Timeline User Filter. This filter applies the criteria on all reports, matching it with the best possible date column associated with a report. i.e., if your reports are based on a date column, then it will filter it for that data column.  To know more on
      • Zoho Forms Webhooks - Only sends on submission not on edit.

        Hi There, We have a slightly unique use case for Zoho Forms. We used Zoho Forms for the collection of Guest Lists. When a customer submits their guest list they get an email confirmation. Within this is a link for them to update their guest list before
      • Add Knowledge Base KB Articles to multiple categories

        Greetings,  Love you help center system.  One item that would be incredibly helpful to many of us would be able to add a single Knowledge Base KB article to multiple categories in our system.  It seems it could be quite easy to use a checkbox form, instead
      • What does "Tickets for Review" do?

        What is the purpose of the va nilla view " Tickets for Review?"
      • Report of Leads/Accounts/Deals with no open activities

        How can we replicate the option in filter to only show Leads/Accounts/Deals with no open activities ? The option is present in the filters (please find screenshot) but I am unable to find them in the report. Thanks
      • Cannot set Subform Multiline field to read-only using Client Script

        I am using client script to set different subform fields as read-only It works for Single Line Fields, but when I try to set a Multiline field as Read-only it doesn't work var subform = ZDK.Page.getSubform("Subform_1"); var item_Code_old = subform.getField('Item_Code_Old').setReadOnly(true);
      • Changing Color Theme of Guided Conversations

        Hello, We have recently added Guided Conversations to one of our websites, but I am wondering if there is a way to customize the color scheme so it matches the appearance of the website? Thank you in advance!
      • Lost the ability to sort by ticket owner

        Hi all, in the last week or so, we have lost the ability to sort tickets by Ticket Owner. Unlike the other columns which we can hover over and click on to sort, Ticket Owner is no longer clickable. Is it just us, or are other customers seeing this too?
      • Can't login to Zoho mail

        I'm logged into Zoho but when I try to go in zoho mail I get: Invalid request! The input passed is invalid or the URL is invoked without valid parameters. Please check your input and try again. I just set up my mx records and stuff with namecheap a few
      • Social Media Simplified with Zoho Social: Bridge sales and social media marketing

        Social media marketing has become the go-to strategy for most businesses who are trying to boost awareness of their product/service, create a brand image in the minds of their audience, increase website traffic and engagement, and generate leads. Posting
      • This domain is not allowed to add. Please contact support-as@zohocorp.com for further details

        I am trying to setup the free version of Zoho Mail. When I tried to add my domain, theselfreunion.com I got the error message that is the subject of this Topic. I've read your other community forum topics, and this is NOT a free domain. So what is the
      • Work Orders / Bundle Requests

        Zoho Inventory needs a work order / bundle request system. This record would be analogous to a purchase order in the purchasing workflow or a sales order in the sales cycle. It would be non-journaling, but it would reserve the appropriate inventory of
      • Create Quote does not show the "Product Description" entered as part of the Product setup.

        The product description created as part of the product setup page, does not show in the Create Quote module; The module allows for an additional description to be added but without access to the original stored description. By selecting the product from the "Product Name Lookup" pop-up, the "Product Description" part should be populated from the product record where the user is allowed to further modify it.
      • Allow Itemization for Recurring Expenses

        For whatever reason, one cannot itemize a Recurring Expense. This capability should be added. The use cases to support this is largely the same as what they were to allow for itemization in Expenses. Anything that would need to be itemized for a regular
      • Next Page