Deal Notes Sentiment Analysis with Zia Assistant API, Workflow, Deluge in Zoho CRM

Deal Notes Sentiment Analysis with Zia Assistant API, Workflow, Deluge in Zoho CRM



Hello all! 
Welcome back to a fresh Kaizen week. 
In this post, we will explore how to detect negative sentiment in notes added to a deal in Zoho CRM using the Zia Assistant API with Workflow and Custom Functions.

Introduction

Sales teams capture every interaction in notes such as calls, emails, meetings, and feedback. These notes contain important signals that indicate whether a deal is progressing or at risk.
As deals grow, manually tracking every note becomes difficult. Important signals are often missed, leading to delayed actions.
This solution builds an automated system that reads notes, detects sentiment, assigns a risk score, tracks changes over time, sends alerts, and highlights high-risk deals.

Final output

Here is how the system automatically analyses and updates the deal when a negative sentiment note is added.


Let us look at an example scenario to understand the challenge.

Example Scenario

A team manages around 50 active deals, each with 8 to 10 notes. This results in hundreds of notes to review. It is not practical for a manager to read all of them. Signals like “customer is evaluating competitors” can easily go unnoticed, and by the time they are identified, the deal is already at risk.

The real cost of missed signals

When negative sentiment goes undetected:

What Happens

Business Impact

Customer says "too expensive" in a note

Deal lost to competitor offering lower price

Customer cancels 2 meetings in a row

Prevent deals from going cold by detecting repeated meeting cancellations early and triggering timely follow-ups.

Customer mentions "evaluating other options"

Identify when customers start evaluating other options and respond quickly before they finalize their decision.

Customer says "not a priority right now"

Deal sits in pipeline for months, inflating forecasts

The common thread? The warning signs were there in the notes, but no one caught them in time.

What sales teams need?
  1. Automatic monitoring of every deal note as it's added.
  2. Zia Assistant's analysis that understands context, not just keywords.
  3. Risk scoring that quantifies how much danger a deal is in.
  4. Trend tracking to see if things are getting better or worse.The system retrieves the existing risk from the deal and compares it with the new risk calculated by Zia. Based on this comparison, it sets the trend as Increasing, Decreasing, or Stable.
  5. Instant alerts via mail when a deal crosses into dangerous territory.

Solution

Using three native Zoho CRM capabilities with the Workflow Rule, Custom Functions, and Zia Assistant API, we built an end-to-end automation with 9 steps:
  1. Fetches deal details: Name, Stage, Amount, Close date, Owner, Existing risk.
  2. Collects all deal notes: Every note linked to the deal.
  3. Sends to Zia Assistant: With enhanced prompt and classification guidelines.
  4. Extracts AI response: Structured sentiment, Risk score, and AI Analysis.
  5. Parses & normalizes: Cleans up AI output to match exact field values.
  6. Calculates risk trend: Compares current risk vs previous risk.
  7. Updates deal record: Writes all 6 custom fields.
  8. Sends email alert: Notifies deal owner if risk > 8.
  9. Manages tags: Adds/removes High Risk Deal tag automatically.
The entire flow runs automatically in the background every time a note is added or modified. Zero manual effort from the sales team.

Prerequisites

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.           


  1. CRM Connection: Connections with appropriate scopes.

Implementation steps

Step 1: Create custom fields

Navigate to Settings → Customization → Modules and Fields → Deals and create these 6 custom fields:

S.No

Field Label

API Name

Data Type

values

1

Risk

Risk

Picklist

1, 2, 3, 4, 5, 6, 7, 8, 9, 10

Risk: 1 = low risk, Risk 10 = high risk

2

Sentiment

Sentiment

Picklist

Positive, Neutral, Negative

3

AI Analysis

AI_Analysis

Multi-line Text

4

Previous Risk

Previous_Risk

Number

5

Risk Trend

Risk_Trend

Picklist

Increasing, Stable, Decreasing

6

Alert Sent

Alert_Sent

Checkbox


Note: After creating each field, verify the API Name matches exactly. Zoho sometimes appends numbers (example, Sentiment1) if a field name conflicts with existing or deleted fields. 

Step 2: Set up Zoho CRM Connection

  1. Go to Settings → Developer Space → Connections.
  2. Click Create Connection
  3. Select your services.
  4. Name the connection: zohocrm (used in this post)
  5. Add the required scopes
  6. Click Create and Connect
  7. Authorize the connection

Step 3: Create the custom function

  1. Go to Settings → Developer Space → Functions
  2. Click Create Function
  3. Display Name: Deal Notes Sentiment Analysis
  4. Function Name: DealNotesSentimentAnalysis
  5. Category: Automation
  6. Return Type: void
  7. Add Argument: dealId: Deals.Deal Id Type: int
  8. Click Save
      Note: The complete custom function code is provided at the end of this post.

Step 4: Configure the Workflow Rule

  1. Go to Settings → Automation → Workflow Rules
  2. Click Create Rule
  3. Module: Deals
  4. Rule Name: Deal Notes Sentiment Trigger
  5. When: A note is added or modified
  6. Condition: All Deals (or customize as needed)
  7. Instant Action: Associate the custom function →DealNotesSentimentAnalysis
  8. Map the dealId argument to the Deal's Record ID
  9. Click Save

What happens inside the custom function?

At this point, the workflow is fully set up. Whenever a note is added or modified in a deal, the workflow triggers the custom function. But what exactly happens inside this function?
Instead of going through the code line by line, let’s break it down into logical stages to understand how the system works end-to-end.
The snippets below highlight only the core logic for each step.

Note: The complete function code is provided in the next section for reference. You can use and adapt it based on your use case.

Step 1: Gathering complete deal context

The function begins by collecting key details about the deal:
  1.  Deal Name 
  2.  Stage 
  3.  Amount 
  4.  Close Date 
  5.  Deal Owner 
  6.  Existing Risk Score 
This ensures that the analysis is not done in isolation.
 The AI receives full deal context, which improves the accuracy of sentiment and risk evaluation.

dealData = zoho.crm.getRecordById("Deals", dealIdLong);
dealName   = ifnull(dealData.get("Deal_Name"), "");
dealStage  = ifnull(dealData.get("Stage"), "");
dealAmount = ifnull(dealData.get("Amount"), "0");
closeDate  = ifnull(dealData.get("Closing_Date"), "Not defined");
// Existing Risk
existingRisk = ifnull(dealData.get("Risk"), "0").toString().toNumber();
// Owner Info
owner = dealData.get("Owner");
ownerName  = ifnull(owner.get("name"), "");
ownerEmail = ifnull(owner.get("email"), "");


Step 2: Reading All deal notes

Next, the function fetches all notes associated with the deal.
Instead of analyzing only the latest note, it:
  1.  Collects every note.
  2.  Combines them into a structured format.
This allows the system to:
  1.  Identify repeated concerns.
  2.  Detect patterns across conversations.
  3.  Understand the overall direction of the deal.

dealNotes = zoho.crm.getRelatedRecords("Notes", "Deals", dealIdLong);

notesContext = "";
for each note in dealNotes
{
 notesContext = notesContext + "- " + ifnull(note.get("Note_Content"), "") + "\n";
}


Step 3: Sending data to Zia Assistant

The collected deal data and notes are sent to Zia Assistant using a carefully designed prompt.
The prompt includes:
  1.  Definitions of positive, negative, and neutral signals. 
  2.  Real-world sales scenarios (pricing concerns, delays, objections).
  3.  Clear risk scoring guidelines (1 to 10 scale).
This ensures that the AI response is:
  1.  Consistent.
  2.  Context-aware.
  3.  Aligned with real sales behavior.

chatEntry = Map();
chatEntry.put("role", "user");
chatEntry.put("content",
 "Deal Name: " + dealName +
 "\nStage: " + dealStage +
 "\nAmount: " + dealAmount +
 "\nClose Date: " + closeDate +
 "\n\n=== DEAL NOTES ===\n" + notesContext
);

assistantMap.put("chat_history", {chatEntry});
assistantMap.put("prompt", "<custom sentiment + scoring prompt>");

response = invokeurl
[
 type :POST
 parameters: payload.toString()
 connection:"zohocrm"
];

This is where AI transforms raw notes into structured insights.

Step 4: Interpreting the AI response

Zia Assistant analyzes the input and returns a structured response containing:
  1. Overall Sentiment (Positive / Neutral / Negative) 
  2.  Risk Score (1–10) 
  3.  AI Analysis (brief reasoning) 
The function extracts these values for further processing.


aiText = "";

if(response.get("assistant") != null)
{
 aiText = response.get("assistant").get("details").get("data");
}


Step 5: Normalizing the output

Since AI responses can vary slightly in format, the function standardizes the output:
  1. Ensures sentiment matches exact CRM field values 
  2.  Validates risk score within the 1–10 range 
  3.  Cleans up any extra characters or formatting 
This step ensures clean and consistent data inside the CRM.


// Extract & clean risk
riskLine = riskLine.replaceAll("[^0-9]", "", false);
riskScore = riskLine.toNumber();
if(riskScore > 10) riskScore = 10;
if(riskScore < 1)  riskScore = 1;

// Normalize sentiment
sentimentLower = sentiment.toLowerCase();
if(sentimentLower.contains("negative")) sentiment = "Negative";
else if(sentimentLower.contains("positive")) sentiment = "Positive";
else sentiment = "Neutral";


Step 6: Calculating risk trend

The system then compares:
  1. Previous Risk Score 
  2.  Current Risk Score 
Based on this, it determines whether the deal is:
  1. Increasing in risk
  2. Decreasing in risk
  3. Stable
This adds an important layer of intelligence and not just what the risk is, but how it is changing over time.


riskTrend = "Stable";

if(riskScore > existingRisk)
{
    riskTrend = "Increasing";
}
else if(riskScore < existingRisk)
{
    riskTrend = "Decreasing";
}



Step 7: Updating the deal record

Once all values are processed, the function updates the deal with:
  1. Risk 
  2.  Sentiment 
  3.  AI Analysis 
  4.  Previous Risk 
  5.  Risk Trend 
  6.  Alert Sent Flag 
At this stage, the deal record becomes a live reflection of customer sentiment.


updateMap = Map();
updateMap.put("Risk", riskScore.toString());
updateMap.put("Sentiment", sentiment);
updateMap.put("AI_Analysis", analysis);
updateMap.put("Previous_Risk", existingRisk.toString());
updateMap.put("Risk_Trend", riskTrend);
zoho.crm.updateRecord("Deals", dealIdLong, updateMap);


Step 8: Smart email alerting

If the risk score crosses a threshold (Risk > 8), the system triggers an alert to the record owner to take immediate action.
An email is sent to the Deal Owner with:
  1. Deal details 
  2. Risk score 
  3. Sentiment 
  4. Risk trend 
  5. AI analysis 
To avoid alert:
  1. The system checks whether an alert has already been sent. 
  2.  A new alert is triggered only if the risk increases further.
previousAlertSent = ifnull(dealData.get("Alert_Sent"), false);

if(riskScore > 8 && (previousAlertSent == false || riskScore > existingRisk) && ownerEmail != "")
{
    // Send alert email
    mailPayload = {
        "from": {"user_name": ownerName, "email": zoho.crm.getOrgVariable("defaultMail")},
        "to": {{"user_name": ownerName, "email": ownerEmail}},
        "subject": "🚨 Deal At Risk: " + dealName,
        "content": "Risk Score: " + riskScore + "/10<br>Sentiment: " + sentiment + "<br><br>" + analysis,
        "mail_format": "html"
    };

    invokeurl
    [
        url :"https://www.zohoapis.com/crm/v8/Deals/" + dealIdLong + "/actions/send_mail"
        type :POST
        parameters: {"data": {mailPayload}}.toString()
        headers: {"Content-Type":"application/json"}
        connection: "zohocrm"
    ];

    zoho.crm.updateRecord("Deals", dealIdLong, {"Alert_Sent": true});
}
else if(riskScore <= 8)
{
    // Reset alert flag
    zoho.crm.updateRecord("Deals", dealIdLong, {"Alert_Sent": false});
}

Step 9: Dynamic tag management

Finally, the system visually marks high-risk deals:
  1.  If Risk > 8 → Adds tag “High Risk Deal”
  2.  If Risk reduces → Removes the tag automatically 
This makes it easy for users to:
  1.  Identify risky deals instantly 
  2.  Prioritize follow-ups 

if(riskScore > 8)
{
 invokeurl
 [
 url :"https://www.zohoapis.com/crm/v8/Deals/" + dealIdLong + "/actions/add_tags"
 type :POST
 parameters: tagPayload.toString()
 connection:"zohocrm"
 ];
}
else
{
 invokeurl
 [
 url :"https://www.zohoapis.com/crm/v8/Deals/" + dealIdLong + "/actions/remove_tags"
 type :POST
 parameters: tagPayload.toString()
 connection:"zohocrm"
 ];



Complete custom function code
The complete Deluge script used in this implementation is provided below for reference and direct use:

Notes
  1. To get better sentiment detection, use a clear and strong prompt in the Zia Assistant API.
  2. The output depends on how well the prompt defines positive, negative, and neutral signals.
  3. Zia looks at the overall trend of notes, not just one note.
  4. If a deal had negative notes earlier but recent notes are positive, the risk (Risk field ) will decrease
  5. If new negative notes are added, the risk will increase.
  6. Sometimes Zia Assistant may not detect sentiment perfectly, as it is AI-based

Conclusion

This automation transforms deal notes from passive text into actionable intelligence. Instead of relying on sales managers to read hundreds of notes manually, Zia Assistant does it automatically detecting sentiment, scoring risk, tracking trends, alerting owners, and tagging high-risk deals all in real time.

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!!!

Related Links:
  1. Kaizen Index
  2. Kaizen Directory
  3. API Directory
  4. Zoho CRM API Document




    • 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

    Nederlandse Hulpbronnen


      • Recent Topics

      • Audio Recording Button needs work

        People struggle to understand how to record the audio - the mic button is tiny and barely visible. Please make the recording option more prominent and obvious and the upload file function should be secondary... (not taking up the majority of the space).
      • Enhancing user experience with Audio/Video Upload in Zoho Forms

        Hello form builders! Today, interactive forms are an integral part of websites and applications. While text-based inputs serve a variety of purposes, audio and video uploads can open up a world of possibilities for businesses. Imagine you are a talent
      • Early Preview for an Upcoming Enhancement to Zoho One - App Adoption and Feature Discovery

        Hello, Enterprise Support Community, We're excited to give you an early sneak peak at an upcoming enhancement to the Zoho One platform: new App Adoption & Feature Discovery components, designed to help our customers adopt the right tools to enhance their
      • Can I add Conditional merge tags on my Templates?

        Hi I was wondering if I can use Conditional Mail Merge tags inside my Email templates/Quotes etc within the CRM? In spanish and in our business we use gender and academic degree salutations , ie: Dr., Dra., Sr., Srta., so the beginning of an email / letter
      • You cannot send this email campaign as it doesn't have any eligible contacts in the selected mailing list. You can try adding contacts or choose other mailing lists.

        please help
      • Add Days In Stage to Filter Options for Pipeline

        We use the days in stage to see how long a ticket has been in a certain stage. But there is no option to see this via filters. eg if i wanted to see how many tickets over 5 days in a stage, there no way to do this. Currently we have to export a report
      • Integration problem between zoho crm and zoho forms for an update in zcrm, with two mapped custom fields

        Hello everyone, I need to correct an existing integration between Zoho CRM and Zoho Forms: the use case is that a user needs to send an email to a contact, who will click on a button in this email, redirecting to a Zoho Forms. The contact can update or
      • Purchase Order Quantity Validation Not Enforced During Bill Approval

        Hello Team, I would like to report a potential issue in the Purchase Order to Bill workflow. Steps to reproduce: Create a Purchase Order for an item with Quantity = 100. Approve/sign the Purchase Order. Convert the Purchase Order into a Bill. Change the
      • How do I add multiple contacts in a deal

        How do I add multiple contacts in a deal
      • Blueprint Not Triggering When Lead Status Is Updated by Workflow (IndiaMART Integration)

        I have set up a blueprint that triggers when a lead’s status is “New Lead.” Our CRM is integrated with IndiaMART, and when leads are created from IndiaMART, their Lead Status is initially set to None. To handle this, I created a workflow that automatically
      • Add multiple users to a task

        When I´m assigning a task it is almost always related to more than one person. Practical situation: When a client request some improvement the related department opens the task with the situation and people related to it as the client itself, the salesman
      • The 3.1 biggest problems with Kiosk right now

        I can see a lot of promise in Kiosk, but it currently has limited functionality that makes it a bit of an ugly duckling. It's great at some things, but woeful at others, meaning people must rely on multiple tools within CRM for their business processes.
      • Zoho Webinar not sending calendar entry into Outlook or other calendars

        Dear All, I am using Zoho Webinar for last few months and noted that when a attendee registers at the webinar link he gets an email will intimating his registration and link to webinar. He also get few file ( for Outlook, Google calendar etc) which he
      • Deleted User Emails

        I need to delete a user as I need to re-use their license, but I'd like to keep all their emails that are attached to various contacts in the CRM. Their emails are hosted externally on an M365 license. Anyone any idea how best to engineer this? TIA
      • Ticket Status

        HI, Any idea on how to create other options for this header??? I want to add an "Ordered" status. Its under "tickets" in Overview, I need a new status created (see second picture)
      • Turning off the recorded welcome in Zoho Webinar

        Is there a way to turn off the recorded voice that comes up at the beginning of every webinar session? It devalues the experience for attendees from feedback, interrupting their connection with our brand and delaying webinar start unnecessarily.
      • Client Script | Update - Client Script Support For Custom Buttons

        Hello everyone! We are excited to announce one of the most requested features - Client Script support for Custom Buttons. This enhancement lets you run custom logic on button actions, giving you greater flexibility and control over your user interactions.
      • Save embed widget personalizations

        Ok, Zoho, Great work on providing PRICING TABLES via the embed widget. Thanks so much. This changed the game for me Only one slight problem....I can't seem to save my widget settings. I'm still building my products and plans but I'm testing how they look
      • Problem with UTM Parameters: Zoho Forms - Zoho Desk Integration

        Hi Zoho Support Team, I want to automatically capture UTM Parameters from my website URLs and pass it from Zoho Forms into Zoho Desk. I have activated the UTM tracking feature. I've integrated the UTM Tracking code in my website footer on all pages. I've
      • Team folder not created when creating project using zoho flow

        When I try to automate project creation using zoho flow, and I have enabled workdrive integration to automatically create team folders to attach to the project, this only works when I create a new project through the UI. But I am trying to automate project
      • Zoho CRM upload files error

        Since today, we have been experiencing issues with uploading photos to opportunities. The message indicates that the storage is full, but as far as I can see, there is still plenty of space available. Could there be an issue or a bug?
      • Add an option to deactivate Zoho Meeting "Welcome" message

        My request is to provide an option to deactivate the annoying Zoho Meeting "Welcome" voice when participants join meetings... or remove it all together. First impressions count, especially with new clients. This notification reminds me of the AOL "You've
      • Service line items

        Hello Latha, Could you please let me know the maximum number of service line items that can be added to a single work order? Thanks, Chethiya.
      • SalesIQ > My Chat sort by Unread or Follow-up

        Hi Zoho SalesIQ Team, I would like to submit a feature request regarding the My Chat > Sorting in the SalesIQ UnRead Follow-up Conversation tags Thank you for considering. Best regards, CJ
      • Record sharing for Activities modules in CRM

        Hello everyone, We've got a few quick enhancements to what we covered in this previous announcement: record sharing is now available for Activities modules. 1. Sharing Tasks, Meetings, and Calls Until now, activity records could only be shared indirectly
      • SalesIQ : How to disable "Idle chat handling" ?

        Hello SalesIQ Team. SalesIQ, How to disable "Idle chat handling" ? I would like to disable the option “Automatically close chats that have been idle for a specified amount of time.”
      • How do I create an update to the Cost Price from landed costs?

        Hi fellow Zoho Inventory battlers, I am new to Zoho inventory and was completely baffled to find that the cost price of products does not update when a new purchase order is received. The cost price is just made up numbers I start with when the product
      • Function and workflow to create customer payment and send receipt

         I am attempting to set up a workflow/custom function for the automatic creation of a customer payment and sending the email receipt, but am receiving the error "Improper Statement Error might be due to missing ';' at end of the line or incomplete expression" I've been over everything several times and cannot see where the error is (code is copied into the attached document).  I haven't used custom functions before with Deluge, so it's very likely something very simple, or I've completely mucked
      • Smart Alerts: Protect users with configurable email alerts

        Email-based threats are becoming harder to identify and manage. Administrators need proactive ways to protect users from phishing, fraud, and policy violations. Standard filters can block emails, but blocking alone isn't always the most effective response.
      • Facturation électronique 2026 - obligation dès le 1er septembre 2026

        Bonjour, Je me permets de réagir à divers posts publiés ici et là concernant le projet de E-Invoicing, dans le cadre de la facturation électronique prévue très prochainement. Dans le cadre du passage à la facturation électronique pour les entreprises,
      • Power up Zoho CRM with project intelligence

        Dear user, You're probably one of those businesses using your CRM as a single source of truth. It's where sales, project execution, and finance teams go to analyze past decisions and formulate future strategies. But what happens when project data is either
      • Print multiple uploaded images in an HTML snippet in a Page

        I have a Form: Job_Preparation It stores details of each new item that must be built by the fabricators in our workshop. The form has a field: Documents I upload 4 image files to the Documents field. I want to print a sheet for our workshop staff with
      • "Track Inventory for this item" is forced checked by default for goods items (eTims issue?)

        Hello, Since connecting our Zoho books to eTims (Kenya) the "Track Inventory for this item" is forced checked by default (eTims issue?) in the Item creation page for any type of goods. So when purchasing anything that the company does not intend to sale,
      • Its 2022, can our customers log into CRM on their mobiles? Zoho Response: Maybe Later

        I am a long time Zoho CRM user. I have just started using the client portal feature. On the plus side I have found it very fast and very easy (for someone used to the CRM config) to set up a subset of module views that make a potentially extremely useful
      • Why can't we choose Fixed Asset account for Purchased Items? (eTims issue?)

        Hello, When the company purchase items not for sale and not supposed to be in the inventory stock, like equipment for operational use, there is no way to access the Fixed Asset accounts in the drop down list. Is that an eTims limitation again? Or something
      • Zoho Team Inbox - roadmap

        Hi, would be good to understand the Teaminbox roadmap, in particular: 1. API / Zoho Deluge connections. We have a process where the each email needs to be either tagged or assigned daily. It would be great if we could automate a 5pm alert for any exemptions
      • SalesIQ Integration with LINE: API Rate Limit Issue and Pre-Chat Flow Concerns

        Hello SalesIQ Developer Team. I have investigated the issue and found that the LINE Rate Limit is being consumed unusually quickly. LINE API free usage limit: 300 messages per month per brand. This limit will be reached within the first few days. 1. LINE
      • Free webinar! Sign documents across borders: AES, QES, ID verification

        Hello all, Signing paperwork across geographies sounds simple, until critical questions around legality, security, and compliance pop up. Join our upcoming webinar to see how Zoho Sign helps businesses worldwide sign documents with confidence. Agenda:
      • Add field "Expected Availability Date" to Purchase Orders

        Hi there. We drop ship and 'make to order' whereby we backorder sales order items directly with factories for manufacturing. One of the leading questions from Customers is "when is the order ready". Currently there is an 'Expected Delivery Date', which
      • Related list view for Assets

        We first set up all our parent assets in FSM and now we are adding child assets which are the parts for the parent assets. When under the customer related list, since it only displays 5 rows of data, I have to click through many assets to locate the parent
      • Next Page