The List Comments API is a powerful auditing tool. It returns a chronological list of all interactions and internal notes associated with a specific customer or vendor. This is essential for building "Timeline" views in custom CRMs or helpdesk integrations where support staff need to see the financial history of a contact.
At Kalki LLP, we use this endpoint to help businesses bridge the gap between their Sales and Accounts teams, ensuring everyone is aware of recent notes or automated status changes.
To fetch the comments for a contact, you perform a GET request targeting the contact's unique ID.
Endpoint: GET /contacts/{contact_id}/comments?organization_id={organization_id}
| Header Name | Value | Description |
Authorization | Zoho-oauthtoken {access_token} | Requires ZohoBooks.contacts.READ scope. |
The response returns a contact_comments array. Each object contains the comment text, the user who created it, and a timestamp.
Sample JSON Response:
{
"code": 0,
"message": "success",
"contact_comments": [
{
"comment_id": "460000000026101",
"contact_id": "460000000026049",
"description": "Customer requested a credit limit increase to $10,000.",
"comment_type": "manual",
"created_by": "Kalki Admin",
"date": "2023-10-25",
"date_description": "Oct 25, 2023",
"time": "14:30:00"
},
{
"comment_id": "460000000026105",
"contact_id": "460000000026049",
"description": "Email Statement sent for the period 01 Oct 2023 to 31 Oct 2023.",
"comment_type": "system",
"created_by": "System",
"date": "2023-11-01",
"date_description": "Nov 1, 2023",
"time": "09:00:00"
}
]
}
This script fetches the most recent comment to check if a specific "Approval" note has been added by the accounts team.
// Target Contact ID
contactID = "460000000026049";
orgID = "123456789";
// Execute the GET request
response = invokeurl
[
url :"https://www.zohoapis.in/books/v3/contacts/" + contactID + "/comments?organization_id=" + orgID
type :GET
connection :"kalki_books_connection"
];
if(response.get("code") == 0)
{
comments = response.get("contact_comments");
for each note in comments
{
info "Date: " + note.get("date") + " | Note: " + note.get("description");
}
}
else
{
info "Kalki Error: Could not retrieve history. " + response.get("message");
}
| Error Code | Meaning | Fix for Kalki LLP Developers |
| 2 | Invalid ID | The contact_id provided does not exist. |
| 57 | Unauthorized | Your OAuth token lacks the ZohoBooks.contacts.READ scope. |
| 6024 | Invalid Org | The organization_id does not match the contact's context. |
| Empty List | No Comments | The contact exists but has no manual notes or system history yet. |
For kalkillp.com clients, retrieving comments provides three key benefits:
Compliance: Maintain a clear record of who modified a contact's tax details or payment terms.
Internal Communication: Enable support staff to see if an invoice reminder was sent or if a customer was manually marked as inactive.
Automation Intelligence: Use the existence of certain keywords in the history to trigger external workflows (e.g., if "Dispute" appears in a comment, notify a senior account manager).
Financial data is only half the story; the history of your interactions tells the rest. Kalki LLP specializes in extracting these logs to build comprehensive 360-degree views of your customers, ensuring your team has every detail they need to provide excellent service.