Automating Deal Handoff with Zia Assistant API, Workflow, Deluge, and Widget in Zoho CRM

Automating Deal Handoff with Zia Assistant API, Workflow, Deluge, and Widget in Zoho CRM




Hello all! 
Welcome back to a fresh Kaizen week. 

In this post, we will explore how to automate the deal handoff process in Zoho CRM using Zia Assistant API + Workflow + Deluge + Widgets.

Here’s how the final output looks when a deal is reassigned

1. Deal owner reassignment
When a deal owner is updated, the workflow is triggered automatically in the background.


2. Instant deal summary for new owner

The newly assigned owner can instantly view a complete AI-generated summary using the Deal Summary button.


Now that we have seen the outcome, let’s understand the problem and how we built this solution step by step.

Table of Contents

  1. Introduction
  2. The Problem with Deal Handoffs
  3. What if we could automate this entire process?
  4. Use case
  5. How the automation works?
  6. How Zia Assistant API generates insights?
  7. Prerequisites for using the Zia Assistant API
  8. Implementation steps
    1. Step 1: Create a custom field
    2. Step 2: Create a Deluge Function
    3. Step 3: Create a Workflow Rule
    4. Step 4: Create and configure the Widget
  9. Conclusion 


Introduction

In sales, you talk to customers every day - through calls, emails, follow-ups, and meetings. Every conversation has important information. What does the customer need? What problems are they facing? What did we already discuss? What should happen next?
Now think about this. A deal gets reassigned from one sales rep to another.

The problem with deal handoffs

When a deal is reassigned, the new owner often has no clear understanding of what has already been discussed with the customer, what commitments were made, or the current status of the deal.

To get up to speed, they usually need to navigate through multiple sections in the CRM, read through notes, go over email conversations, and piece together the deal history. This process takes time and requires significant effort.

Because of this, there is a high chance of missing important details, misunderstanding customer expectations, or delaying the next action. Ultimately, this impacts both the customer experience and the overall progress of the deal.

What if we could automate this entire process?

Instead of making the sales rep read everything manually, what if the system understood the deal by itself?

Imagine this flow:

  1. As soon as the deal owner changes:
  2. The system collects all related information
  3. AI analyzes the complete context
  4. A clear and structured summary is generated.
  5. The new owner sees everything instantly.
That is exactly what we explored using Zia Assistant API (introduced in Zoho CRM Version 8 APIs) with Workflow + Deluge + Widget inside Zoho CRM.

Use case

When a deal is reassigned, the new owner should immediately understand the complete deal context without any manual effort. This reduces the chances of missing important information and helps them take action faster.
To achieve this, we use a combination of:
  1. Workflow - to detect when a deal owner changes
  2. Deluge Function - to collect all necessary CRM data
  3. Zia Assistant API - to analyze the data and generate insights
  4. Widget - to display the summary to the user
In many cases, the Zia Assistant API is used for question-and-answer scenarios or to extract insights from given text, manually. So, we automated the entire process within Zoho CRM from detecting the owner change to generating and displaying a structured deal summary instantly.

How the automation works?

  1. A workflow rule continuously monitors changes in the Deal Owner field.
  2. When the owner is updated:
    1. The workflow triggers a Deluge function.
    2. An email notification is sent to the newly assigned owner, informing them about the deal and where to view its complete summary (via the widget).
  3. The function 
    1. Collects all related data such as:
      1. Deal notes
      2. Account notes
      3. Contact notes
      4. Emails 
      5. Deal updates
    2. Combines all this information into a single context.
    3. This data is sent to Zia Assistant API as context.
  4. Zia processes the data and generates structured insights such as:
    1. Summary
    2. Customer pain points
    3. Risks
    4. Next steps
  5. The generated response is then saved in a custom field called AI Handoff Summary in the Deals module.
  6. Finally, a Widget displays this summary to the new owner in a clear and readable format. So, everything happens automatically in the background.
This way, the entire deal handoff process happens automatically in the background, without any manual effort.

How Zia Assistant API generates insights?

The Zia Assistant API works based on two main inputs:

  1. Context (chat_history): This contains all the data we collected from the Deal and its associated Account and Contact's notes, emails, history, and Deal details.
  2. Prompt: The prompt tells Zia what we want from that data.
            For example:
    1. Give summary
    2. Identify pain points
    3. Highlight risks
    4. Suggest next steps
Using the context and the prompt together, Zia analyzes the information and generates a structured and meaningful output.

Prerequisites for using the Zia Assistant API

Before using the Zia Assistant API inside the Deluge function, make sure that AI is enabled in Zoho CRM.

To enable AI configuration, go to Setup > Zia > Models > Zoho Hosted LLM vendor.
Note: In V8, only the Zoho Hosted LLM vendor can be enabled and used.                                  

Implementation steps

1. Create a custom field

           Create a custom field

      First, create a custom field in the Deals module to store the AI-generated summary.
    1. Field Type: Multi-line (Rich Text)
    2. Field Name: AI Handoff Summary
      This field will store the response generated by the Zia Assistant API, which includes the complete deal summary, insights, and handoff details.

2. Create a deluge function

Before setting up the workflow, we first create a Deluge function that contains the entire automation logic.

      Steps to create the function
    1. Go to SetupDeveloper Hub Functions
    2. Click Create Function
    3. Choose:
      1. Category: Standalone
      2. Name: Deal Handoff Summary
      3. Function Name: DealHandoffSummary

Deluge code


void automation.DealHandoffSummary1(Int dealId, Map oldValue) {
    info "Deal ID: " + dealId;
    dealIdLong = dealId.toLong();
    // STEP 1: Deal Details
    dealData = zoho.crm.getRecordById("Deals", dealIdLong);
    if (dealData == null) {
        info "Deal not found";
        return;
    }
    dealName = ifnull(dealData.get("Deal_Name"), "");
    dealStage = ifnull(dealData.get("Stage"), "");

    // NEW OWNER (Current Owner)
    newOwnerName = "";
    newOwnerEmail = "";
    newOwnerId = "";
    if (dealData.get("Owner") != null) {
        newOwner = dealData.get("Owner");
        newOwnerId = ifnull(newOwner.get("id"), "");
        newOwnerName = ifnull(newOwner.get("name"), "");
        newOwnerEmail = ifnull(newOwner.get("email"), "");
        info "New Owner ID: " + newOwnerId;
        info "New Owner Name: " + newOwnerName;
        info "New Owner Email: " + newOwnerEmail;
    }

    // OLD OWNER (Previous Owner from Timeline)
    oldOwnerName = "";
    oldOwnerEmail = "";
    oldOwnerId = "";

    oldOwnerIdFromParam = oldValue.get("Owner");

    userResp = invokeurl[
        url: "https://www.zohoapis.com/crm/v8/users/" + oldOwnerIdFromParam type: GET connection: "zohocrm"
    ];
    info "User API response: " + userResp;
    if (userResp.get("users") != null && userResp.get("users").size() > 0) {
        userData = userResp.get("users").get(0);
        oldOwnerEmail = ifnull(userData.get("email"), "");
        // Also get name if not already captured
        if (oldOwnerName == "") {
            oldOwnerName = ifnull(userData.get("first_name"), "");
        }
        info "Old Owner Email: " + oldOwnerEmail;
        info "Old Owner Name: " + oldOwnerName;
    }


    // OTHER FIELDS
    accountIdStr = "";
    if (dealData.get("Account_Name") != null) {
        accountIdStr = dealData.get("Account_Name").get("id");
    }
    contactIdStr = "";
    if (dealData.get("Contact_Name") != null) {
        contactIdStr = dealData.get("Contact_Name").get("id");
    }
    closeDate = ifnull(dealData.get("Closing_Date"), "Not defined");
    lastActivity = ifnull(dealData.get("Modified_Time"), "");

    // CONTEXT BUILDING
    contextText = "Deal Name: " + dealName + "\n";
    contextText = contextText + "Stage: " + dealStage + "\n";
    contextText = contextText + "Close Date: " + closeDate + "\n";
    contextText = contextText + "Last Activity: " + lastActivity + "\n\n";
    // Deal Notes
    dealNotes = zoho.crm.getRelatedRecords("Notes", "Deals", dealIdLong);
    if (dealNotes != null) {
        for each note in dealNotes {
            contextText = contextText + "\nDeal Note: " + ifnull(note.get("Note_Content"), "");
        }
    }
    // Account Notes
    if (accountIdStr != "") {
        accNotes = zoho.crm.getRelatedRecords("Notes", "Accounts", accountIdStr.toLong());
        if (accNotes != null) {
            for each n in accNotes {
                contextText = contextText + "\nAccount Note: " + ifnull(n.get("Note_Content"), "");
            }
        }
    }
    // Contact Notes
    if (contactIdStr != "") {
        conNotes = zoho.crm.getRelatedRecords("Notes", "Contacts", contactIdStr.toLong());
        if (conNotes != null) {
            for each n in conNotes {
                contextText = contextText + "\nContact Note: " + ifnull(n.get("Note_Content"), "");
            }
        }
    }
    // Deal Emails
    dealEmailsResp = invokeurl[
        url: "https://www.zohoapis.com/crm/v8/Deals/" + dealId + "/Emails"
        type: GET connection: "zohocrm"
    ];
    info dealEmailsResp;
    if (dealEmailsResp.get("Emails") != null) {
        emailCount = 0;

        for each emailSummary in dealEmailsResp.get("Emails") {
            // Optional: limit emails to avoid too many API calls. Limits should be defined based on the business use case.
            if (emailCount >= 5) {
                break;
            }
            emailCount = emailCount + 1;

            emailId = emailSummary.get("message_id");
            subject = ifnull(emailSummary.get("subject"), "");

            emailContent = "";

            // Fetch full email content using Email ID
            emailDetailResp = invokeurl[
                url: "https://www.zohoapis.com/crm/v8/Deals/" + dealId + "/Emails/" + emailId type: GET connection: "zohocrm"
            ];
            info emailDetailResp;
            if (emailDetailResp.get("Emails") != null && emailDetailResp.get("Emails").size() > 0) {
                emailData = emailDetailResp.get("Emails").get(0);
                emailContent = ifnull(emailData.get("content"), "");

                // Optional: truncate long content. Limits should be defined based on the business use case.
                if (emailContent.length() > 1000) {
                    emailContent = emailContent.subString(0, 1000);
                }
            }

            contextText = contextText + "\nDeal Email: " + subject + " - " + emailContent;
        }
    }

    // CONTACT EMAILS (Related to Deal Contact)
    if (contactIdStr != "") {
        contactEmailsResp = invokeurl[
            url: "https://www.zohoapis.com/crm/v8/Contacts/" + contactIdStr + "/Emails"
            type: GET connection: "zohocrm"
        ];
        info "List=" + contactEmailsResp;
        if (contactEmailsResp.get("Emails") != null) {
            contactEmailCount = 0;

            for each emailSummary in contactEmailsResp.get("Emails") {
                // Optional: limit to avoid too many API calls. Limits should be defined based on the business use case.
                if (contactEmailCount >= 5) {
                    break;
                }
                contactEmailCount = contactEmailCount + 1;

                emailId = emailSummary.get("message_id");
                subject = ifnull(emailSummary.get("subject"), "");

                emailContent = "";

                // Fetch full email content
                emailDetailResp = invokeurl[
                    url: "https://www.zohoapis.com/crm/v8/Contacts/" + contactIdStr + "/Emails/" + emailId type: GET connection: "zohocrm"
                ];
                info "Detail=" + emailDetailResp;
                if (emailDetailResp.get("Emails") != null && emailDetailResp.get("Emails").size() > 0) {
                    emailData = emailDetailResp.get("Emails").get(0);
                    emailContent = ifnull(emailData.get("content"), "");

                    // Optional: truncate long content. Limits should be defined based on the business use case.
                    if (emailContent.length() > 1000) {
                        emailContent = emailContent.subString(0, 1000);
                    }
                }

                contextText = contextText + "\nContact Email: " + subject + " - " + emailContent;
            }
        }
    }
    info "contextText : " + contextText;
    // PREPARE ZIA PAYLOAD
    chatEntry = Map();
    chatEntry.put("role", "user");
    chatEntry.put("content", contextText);
    chatHistory = List();
    chatHistory.add(chatEntry);
    promptSettings = Map();
    promptSettings.put("length", "Detailed Explanation");
    promptSettings.put("style", "Professional");
    assistantMap = Map();
    assistantMap.put("chat_history", chatHistory);
    assistantMap.put("prompt_settings", promptSettings);
    // FINAL PROMPT with owner details
    assistantMap.put("prompt", "Provide structured output.\n\n" + "SUMMARY:\n\n" + "CUSTOMER PAIN POINTS:\n  - \n\n" + "DEAL RISKS:\n  - \n\n" + "NEXT STEPS:\n  - \n\n" + "HANDOFF NOTES:\n" + "  - Previous Owner: " + oldOwnerName + " (" + oldOwnerEmail + ")\n" + "  - New Owner: " + newOwnerName + " (" + newOwnerEmail + ")\n" + "  - Account ID: " + accountIdStr + "\n" + "  - Contact ID: " + contactIdStr + "\n" + "  - Last activity: " + lastActivity + "\n" + "  - Close plan: Target close date " + closeDate + "\n\n" + "Ensure clarity and readability.");
    payload = Map();
    payload.put("assistant", assistantMap);

    // CALL ZIA ASSISTANT API
    response = invokeurl[
        type: POST parameters: payload.toString() headers: {
            "Content-Type": "application/json"
        }
        connection: "zohocrm"
    ];
    info "Zia API Response: " + response;

    // EXTRACT RESPONSE
    aiText = "";
    if (response != null && response.get("assistant") != null) {
        details = response.get("assistant").get("details");
        if (details != null && details.get("data") != null) {
            aiText = details.get("data");
            info "AI Response extracted: " + aiText;
        } else {
            info "No data in details";
        }
    } else {
        info "No assistant in response";
    }

    // SAVE TO CRM FIELD
    if (aiText != "") {
        updateMap = Map();
        updateMap.put("AI_Handoff_Summary", aiText);
        zoho.crm.updateRecord("Deals", dealIdLong, updateMap);
        info "Summary saved to deal";
    } else {
        info "No AI text to save";
    }
}


      d.Once done, Save the function.

3.Create a Workflow Rule

      Now, we connect everything using a Workflow.

      To automate the deal handoff process, the Deluge function should run whenever the Deal Owner changes.

      This is achieved using a Workflow Rule in Zoho CRM.


      Steps to create Workflow Rule

         3.1 Go to SetupAutomationWorkflow Rules

         3.2 Click Create Rule

         3.3 Module: Deals

         3.4 Rule Name: Deal Summary                              

               

       

            3.5 Configure Trigger: When a record is Created or Edited.
    1. Set Condition: Ensures it runs only during handoff
      1. Field: Deal Owner
      2. Condition: is modified. In our case, if the Deal Owner is not Logged in User, then the workflow should trigger.


           3.6 Add "Instant Actions"

  1. Attach Deluge function:
    1. Click + Action → Function
    2. Select your function: Deal Handoff Summary
  2. Send email to new deal owner: Click + Action → Email Notification
            Why do we send an email to the new owner?

            When a deal is reassigned, the new sales representative may not immediately notice the change.

            By sending an email notification:

    1. The new owner is instantly informed that a deal has been assigned.
    2. They know where to check the details through the widget (the widget implementation is explained in the next section). In our case, the complete deal information is available in the Deal Summary button widget on the Detail View page in the Deals module.
    3. It helps reduce delays in taking action on the deal.

            3.7 Click Save.


4. Create and configure the Widget


Q. Why Widget?

After generating and storing the AI summary in CRM, the next step is to display it clearly to the user. For this, we use a Widget inside a button in the Deal’s Detail View page.

Even though the summary is stored in the AI Handoff Summary field in the Deals module, it is not easily readable in raw format, the newly assigned owner may not know where to find it, and it does not provide a good user experience.

A Widget solves this by presenting the summary in a clean and structured popup.

Q. How to create and host a Widget?

Refer to Creating a Widget in Zoho CRM and the JS SDK for more details on CLI installation, creating, packaging, and hosting a widget.       

Widget index.html


<!DOCTYPE html>
<html>
<head>
    <style>
        body {
            margin: 0;
            font-family: Arial, sans-serif;
            background: #f5f7fb;
        }
        /* Container fills entire iframe */
        .container {
            width: 100%;
            height: 100vh;
            display: flex;
            justify-content: center;
            align-items: center;
        }
        /* Modal */
        .modal {
            width: 100%;
            max-width: 800px;
            height: 90vh;
            background: #fff;
            border-radius: 12px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
            display: flex;
            flex-direction: column;
        }
        /* Header */
        .header {
            padding: 16px 20px;
            font-size: 18px;
            font-weight: bold;
            border-bottom: 1px solid #eee;
        }
        /* Content */
        .content {
            padding: 20px;
            overflow-y: auto;
            flex: 1;
            font-size: 14px;
            line-height: 1.6;
        }
        /* Section headings */
        .section-title {
            font-weight: bold;
            margin-top: 15px;
            margin-bottom: 5px;
        }
        /* Bullet points */
        ul {
            padding-left: 20px;
            margin-top: 5px;
        }
        /* Footer */
        .footer {
            padding: 10px 20px;
            border-top: 1px solid #eee;
            text-align: right;
        }
        button {
            padding: 8px 16px;
            background: #0066ff;
            color: white;
            border: none;
            border-radius: 6px;
            cursor: pointer;
        }
    </style>
</head>
<body>
    <div class="container" id="app"></div>
    <script>
        ZOHO.embeddedApp.on("PageLoad", function(data) {

    let dealId = data.EntityId;

    ZOHO.CRM.API.getRecord({
        Entity: "Deals",
        RecordID: dealId
    }).then(function(response) {
        if(response && response.data && response.data.length > 0)
        {
            let record = response.data[0];
            let summary = record["AI_Handoff_Summary"]; //This is the Custom field we have created in the Deals module which stores the complete details about the Deal.

            if(summary && summary !== "")
            {
                renderUI(summary);
            }
        }
    });
});
function formatText(text)
{
    // Convert sections into formatted HTML
    let formatted = text
        .replace(/Summary:/g, '<div class="section-title">Summary</div>')
        .replace(/Customer Pain Points:/g, '<div class="section-title">Customer Pain Points</div>')
        .replace(/Deal Risks:/g, '<div class="section-title">Deal Risks</div>')
        .replace(/Next Steps:/g, '<div class="section-title">Next Steps</div>')
        .replace(/Handoff Notes:/g, '<div class="section-title">Handoff Notes</div>')
        .replace(/\n- /g, '<li>')
        .replace(/\n/g, '<br>');

    return formatted;
}
function renderUI(summary)
{
    let app = document.getElementById("app");
    app.innerHTML = `
        <div class="modal">
            <div class="header">
                Zia Assistant Deal Handoff Summary
            </div>
            <div class="content">
                ${formatText(summary)}
            </div>
            <div class="footer">
                <button onclick="closeWidget()">Close</button>
            </div>
        </div>
    `;
}
function closeWidget()
{
    document.getElementById("app").innerHTML = "";
}
ZOHO.embeddedApp.init();
    </script>
</body>
</html>



Q.How to configure the Widget as a Button in Detail View?


      1. Go to Setup → Customization → Modules and Fields
      2. Select the Deals module
      3. Click on the Buttons tab
      4. Click Create New Button

Configure button details
      5. Enter Button Name as Deal Summary
      6. Add a description (optional)

Define action
      7. In Define Action, select Open a Widget
      8. Choose the widget you created. In our case, it is Deal Summary


Set display location
      9. In Select Page, choose In Record
      10. In Select Position, choose Details

Select layout
      11. In Select Layout(s), choose the required layouts (or All Layouts)

Set Accessibility
      12.Enable the button for required user profiles

Save
      13. Click Save


Q. How the new owner views the summary?

Once everything is set up, here's how it works for the new owner:
  1. A deal is reassigned to them.
  2. They receive an email notification about the new deal.
  3. They open the Deal record in CRM.
  4. They see a new button called Deal Summary on the detail view.
  5. They click the button.
  6. A widget pops up showing the complete AI-generated summary.
Everything they need to know about the deal is right there in one place. No searching through notes. No scrolling through emails. Just a clean, readable summary.

The button is always available. They can click it anytime to refresh their understanding of the deal.

Conclusion 

With this approach, we automated the entire deal handoff process in Zoho CRM.
Instead of manually going through notes, emails, and history, the new deal owner gets a clear, structured summary instantly.

This not only saves time but also improves decision-making and ensures a smoother customer experience.


We trust that this post meets your needs and is helpful. Let us know your thoughts in the comment section or reach out to us at support@zohocrm.com

Stay tuned for more insights in our upcoming Kaizen posts!

Happy coding!!!

                     







    Access your files securely from anywhere


            All-in-one knowledge management and training platform for your employees and customers.






                                  Zoho Developer Community




                                                        • Desk Community Learning Series


                                                        • Digest


                                                        • Functions


                                                        • Meetups


                                                        • Kbase


                                                        • Resources


                                                        • Glossary


                                                        • Desk Marketplace


                                                        • MVP Corner


                                                        • Word of the Day


                                                        • Ask the Experts



                                                                  • Sticky Posts

                                                                  • Kaizen #198: Using Client Script for Custom Validation in Blueprint

                                                                    Nearing 200th Kaizen Post – 1 More to the Big Two-Oh-Oh! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
                                                                  • Kaizen #226: Using ZRC in Client Script

                                                                    Hello everyone! Welcome to another week of Kaizen. In today's post, lets see what is ZRC (Zoho Request Client) and how we can use ZRC methods in Client Script to get inputs from a Salesperson and update the Lead status with a single button click. In this
                                                                  • Kaizen #222 - Client Script Support for Notes Related List

                                                                    Hello everyone! Welcome to another week of Kaizen. The final Kaizen post of the year 2025 is here! With the new Client Script support for the Notes Related List, you can validate, enrich, and manage notes across modules. In this post, we’ll explore how
                                                                  • Kaizen #217 - Actions APIs : Tasks

                                                                    Welcome to another week of Kaizen! In last week's post we discussed Email Notifications APIs which act as the link between your Workflow automations and you. We have discussed how Zylker Cloud Services uses Email Notifications API in their custom dashboard.
                                                                  • Kaizen #216 - Actions APIs : Email Notifications

                                                                    Welcome to another week of Kaizen! For the last three weeks, we have been discussing Zylker's workflows. We successfully updated a dormant workflow, built a new one from the ground up and more. But our work is not finished—these automated processes are


                                                                  Manage your brands on social media



                                                                        Zoho TeamInbox Resources



                                                                            Zoho CRM Plus Resources

                                                                              Zoho Books Resources


                                                                                Zoho Subscriptions Resources

                                                                                  Zoho Projects Resources


                                                                                    Zoho Sprints Resources


                                                                                      Qntrl Resources


                                                                                        Zoho Creator Resources



                                                                                            Zoho CRM Resources

                                                                                            • CRM Community Learning Series

                                                                                              CRM Community Learning Series


                                                                                            • Kaizen

                                                                                              Kaizen

                                                                                            • Functions

                                                                                              Functions

                                                                                            • Meetups

                                                                                              Meetups

                                                                                            • Kbase

                                                                                              Kbase

                                                                                            • Resources

                                                                                              Resources

                                                                                            • Digest

                                                                                              Digest

                                                                                            • CRM Marketplace

                                                                                              CRM Marketplace

                                                                                            • MVP Corner

                                                                                              MVP Corner









                                                                                                Design. Discuss. Deliver.

                                                                                                Create visually engaging stories with Zoho Show.

                                                                                                Get Started Now


                                                                                                  Zoho Show Resources

                                                                                                    Zoho Writer

                                                                                                    Get Started. Write Away!

                                                                                                    Writer is a powerful online word processor, designed for collaborative work.

                                                                                                      Zoho CRM コンテンツ




                                                                                                        Nederlandse Hulpbronnen


                                                                                                            ご検討中の方





                                                                                                                      • Recent Topics

                                                                                                                      • ZML Error/Bug

                                                                                                                        Hi, I would like to request for your help regarding this kind of behavior. Requested_Start_Time & End_Time - date-time fields https://......#Page:PH_Calendar_Page?reqDate=08-04-2026 https://......#Page:PH_Calendar_Page?reqDate=07-31-2026 https://....#Page:PH_Calendar_Page?reqDate=08-03-2026
                                                                                                                      • Item with name in different languate

                                                                                                                        Hello, is there a way to have an item with its name in different languages? For example: I sell an item in different markets and I'd like to have a Proposal and the Invoice with the Item Name in a specific language. Rino Bertolotto Zoho Specialist, STESA srl
                                                                                                                      • Email notification for followers

                                                                                                                        Is there a way to enable email notification for followers of a support ticket? ie: Ticket #123 is owned by Agent#1, Agent#2 adds themselves as a follower. Whenever ticket #123 receives an email from the customer, Agent#1 receives an email. Agent#2 would
                                                                                                                      • Migration of emails from Yandex to Zoho

                                                                                                                        I am trying to migrate an yandex mail account to zoho mail account. I am confused with all the related articles/informations in the net. Could someone please outline the process to do it, just thinking about me as a novice with limited knowledge or experience. A couple of questions from the knowledge gained. 1. I believe we have to delete the yandex current MX from the website records and add Zoho MX. What happens to the emails as we remove the mail exchange record. Yandex stops updating emails and
                                                                                                                      • Auto-fill from logged-in user's profile for Name Fields in Subforms

                                                                                                                        Hi, The Name field is great, but I see you can't tick the Initial Value option of "Auto-fill from logged-in user's profile" when it is on a Subform, why not? Thanks Dan
                                                                                                                      • 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
                                                                                                                      • 【続々公開】Zoholics Japan 2026 セッション情報を更新しました!

                                                                                                                        ユーザーの皆さま、こんにちは! Zoholics Japan 2026のセッション情報を続々と公開しています! 今年は3つのトラックで、Zohoの最新情報やAI活用、製品アップデート、 活用事例など、多彩なセッションをお届けします。 現在公開中のセッション(一部) ・Zoho CRM 製品アップデート ・Zoho CRM Plus 製品アップデート ・Zoho Community セッション ・Zoho Desk セッション ・中堅・成長企業の人事DX ~AI時代に何から始めるべきか?~ ・Zoho
                                                                                                                      • Zoho CRM Community Digest - July 2026 | Part 1

                                                                                                                        Hello everyone, July is here! The first two weeks brought six CRM updates ranging from privacy-ready webforms to a significantly more powerful Layout Rules engine, two community wins worth a look (a dashboard workaround for spotting leads with no activities,
                                                                                                                      • New Ways to Personalize, Organize, and Share Your Notes

                                                                                                                        We're excited to introduce a new set of enhancements in Zoho Notebook that make your note-taking experience cleaner, more flexible, and easier to share. With this update, you can create notes that automatically adapt to your device theme, browse your
                                                                                                                      • Zoho Commerce B2B

                                                                                                                        Hello, I have signed up for a Zoho Commerce B2B product demo but it's not clear to me how the B2B experience would look for my customers, in a couple of ways. 1) Some of my customers are on terms and some pay upfront with credit card. How do I hide/show
                                                                                                                      • Introducing spam detection for webforms: An additional layer of protection to keep your Zoho CRM clean and secure

                                                                                                                        Greetings all, One of the most highly anticipated feature launches—Spam Detection in webforms—has finally arrived! Webforms are a vital tool for record generation, but they're also vulnerable to submissions from unauthenticated or malicious sources, which
                                                                                                                      • Rich-text fields in Zoho CRM

                                                                                                                        Moderation Update: During the initial release of Rich Text fields, it was supported only in the Enterprise and Ultimate editions. We have gradually extended Rich Text fields to all the paid editions of Zoho CRM. Hello everyone, We're thrilled to announce
                                                                                                                      • Add Large Lists to Choice-Based Field Rules

                                                                                                                        Hi, The new Large List is good, but you can't then use the Choice-Based Field Rules with it to limit the Group Choices or Choices? Thanks Dan
                                                                                                                      • Email-Data Synchronization with Zoho Analytics

                                                                                                                        Hello, Enterprise Support Community! We're excited to announce the availability of Email Data Synchronization with Zoho Analytics! This highly requested enhancement allows you to sync email data from Zoho CRM into Zoho Analytics, making it easier to analyze
                                                                                                                      • Zoho - shopify sales order - invoicing

                                                                                                                        we have integrated zoho with shopify. so now , when an order comes through shopify-it raises a sales order in zoho. And at this time- the inventory goes down in shopify, according to the sale. Then we manually convert the sales order to an invoice, and
                                                                                                                      • Enable Replenishments Option not Available

                                                                                                                        I'm looking to turn on the replenishment option in Zoho Inventory and I'm not finding settings for it in Zoho Books or Zoho Inventory. This is the tutorial I was following from Zoho. Is there a step I'm missing to have Replenishments be available in Zoho
                                                                                                                      • Kiosk Page Refresh

                                                                                                                        We have a Kiosk running from a button in contacts to update values and also add related lists, which works great, but when the kiosk is finished the page does not refresh to show the changes. Is there a way to force the contact to refresh/update when
                                                                                                                      • [Solution] Analyze, Act and Automate with Drill Actions

                                                                                                                        Insights create value only when they lead to action. Traditional dashboards excel at helping you understand what is happening, but acting on those insights often requires manual intervention leaving the dashboard, opening another application, finding
                                                                                                                      • Building extensions #6: Handling modal boxes to enhance user experience

                                                                                                                        In our previous post, we explored creating custom graphical user interfaces using widgets. In this post, we'll learn about enhancing user experience through modal boxes. What is a modal box, and where is it used? A modal box is essentially a widget interface
                                                                                                                      • Improve User Onboarding in Zoho Projects with Zoho DAP

                                                                                                                        Rolling out new processes or onboarding new users in the tool comes with a familiar challenge: the employees need guidance at the moment they are doing the work. Traditional training sessions and knowledge sharing often require users to leave the application.
                                                                                                                      • Zoho Social API for generating draft posts from a third-party app ?

                                                                                                                        Hello everyone, I hope you are all well. I have a question regarding Zoho Social. I am developing an application that generates social media posts, and I would like to be able to incorporate a feature that allows saving these posts as drafts in Zoho Social.
                                                                                                                      • Your CRO data is now on your AI Assistant: PageSense is live on Zoho MCP

                                                                                                                        Hello Everyone, We are excited to announce Zoho PageSense is now live on Zoho MCP servers. Here is what that means for you. Every answer about your website lives behind tons of data across different modules. Which test is winning. Where visitors bail.
                                                                                                                      • Feature Enhancement Request – Bulk Download of Signed Documents in Zoho Sign

                                                                                                                        Hi Team, We would like to request a Bulk Download feature for signed documents in Zoho Sign. Currently, Zoho Sign allows users to send documents in bulk using an Excel sheet, but there is no option to download the completed signed documents in bulk. Users
                                                                                                                      • delete a user on Zoho Desk

                                                                                                                        Kindly I Need help to delete a user on Zoho Desk but I deactivated but not deactivated with licenses so what can I Do?
                                                                                                                      • Unable to open Attendance Regularization request, reason?

                                                                                                                        Unable to open Attendance Regularization request.
                                                                                                                      • What's New in Zoho Inventory | June 2026

                                                                                                                        Hello users, June 2026 introduces a range of exciting enhancements to Zoho Inventory. With the full rollout of the Zoho Inventory Windows application, the launch of Terminal Payments, and new tracking combinations in Advanced Inventory Tracking, you can
                                                                                                                      • Tax/Vat Number Field As Standard - Customer & Vendor

                                                                                                                        Hello, when are you'll going to have the customer & vendor tax/vat number as a standard field under the relevant profile pages? I find it strange that after 6 years of using Zoho Inventory that I still have to use a custom field for a tax/vat number,
                                                                                                                      • Zoho CRM - Feature Request - Conditional Lead Conversion

                                                                                                                        Hi CRM team, My feature request is to allow admins to create some conversion logic in the Lead Conversion settings. It is a common case where we want to convert a Lead to a Commercial or Residential Deal layout. Layout rules are not ideal because the
                                                                                                                      • Zoho CRM Approval Process based on Field Update

                                                                                                                        Hello, In current structure, Zoho CRM send records to approval based on record creation and edit.  I think, it should be to set approval process trigger based on any field update in record. When the user update any field, the record can assign to approval
                                                                                                                      • Free webinar: Automate signature workflows with Zoho Sign and Zoho WorkDrive

                                                                                                                        Hi there! Are you still storing and managing physical paperwork before and after signing? This traditional method is bulky, costly, and impractical at scale. Attend our free webinar to learn how you can connect Zoho Sign, our digital signature app, with
                                                                                                                      • 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.
                                                                                                                      • Introducing the Zoho Projects Learning Space

                                                                                                                        Every product has its learning curve, and sometimes having a guided path makes the learning experience smoother. With that goal, we introduce a dedicated learning space for Zoho Projects, a platform where you can explore lessons, learn at your own pace,
                                                                                                                      • Leave request problem on mobile phones

                                                                                                                        Hello, When any employee attempts to submit a leave request on an Android or iOS phone, the error shown in the attachment appears. How can we solve this problem?
                                                                                                                      • [Webinar] Digitizing forms and form-based workflows

                                                                                                                        Live webinar on August 13, 2026 | Time: 2 PM IST | 2 PM EDT Hi, Struggling with paper forms, manual data entry, disconnected approvals, and form data that never reaches the apps that need it? Join our live webinar to learn how Zoho Writer's fillable templates
                                                                                                                      • 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
                                                                                                                      • Price Book in foreign currency

                                                                                                                        We have many customers who buy in foreign currency (USD), where our base currency is our local currency (AUD). It would be normal (it is in Zoho Books, Zoho Inventory etc.) to assign a currency to a price book, but I cannot find this option in Zoho CRM
                                                                                                                      • Assign Price Book to Accounts (again!)

                                                                                                                        I can see this topic has been bumping about for over 10 years and unfortunately Zoho hasn't seen the need (or use case) in CRM to be able to assign an account to a price book to automate quoting (amongst other things). Strange given they DO assign price
                                                                                                                      • Remove "Subject" as a required field on quotations

                                                                                                                        Not sure why, but Zoho has made 'Subject' a system defined required field. I'm not entirely sure why subject would be required as a key field (i.e. you cannot deactivate it or change it from required). It doesn't make much sense on many product quotations,
                                                                                                                      • Approve records efficiently: Useful enhancements to My Jobs module and Approval process in Zoho CRM

                                                                                                                        Dear Customers, As you might know, approval process is a process automation tool that allows you to automate approvals in your organization and My Jobs is where you approve requests from a single point of view. Here's how you'd go about it: You’d add
                                                                                                                      • Text/SMS With Zoho Desk

                                                                                                                        Hi Guys- Considering using SMS to get faster responses from customers that we are helping.  Have a bunch of questions; 1) Which provider is better ClickaTell or Screen Magic.  Screen Magic seems easier to setup, but appears to be 2x as expensive for United States.  I cannot find the sender id for Clickatell to even complete the configuration. 2) Can customer's reply to text messages?  If so are responses linked back to the zoho ticket?  If not, how are you handling this, a simple "DO NOT REPLY" as
                                                                                                                      • Next Page