Deleting a call comment in Zoho Desk is handled through the Zoho Desk REST API using a straightforward DELETE request that targets a specific comment on a specific call record. This article (from Beam Help — independent expert support for Zoho, not official Zoho support) walks you through exactly how to do it.
Why this matters
Call comments in Zoho Desk allow agents to annotate call records with notes and context. Over time, outdated, incorrect, or duplicate comments can clutter a call's history. Whether you're building an integration, a cleanup script, or a custom admin tool, knowing how to remove individual comments programmatically keeps your call data accurate and tidy.
Step-by-step
Step 1. Identify your callId and commentId.
Before making any request, you need two key identifiers: the ID of the call record the comment belongs to (callId), and the ID of the specific comment you want to remove (commentId). Both are typically returned when you list or retrieve call records and their associated comments via the Zoho Desk API. [1]
Step 2. Construct the DELETE request.
The endpoint for removing a call comment follows this pattern:
DELETE /api/v1/calls/{callId}/comments/{commentId}
Replace {callId} with the actual call record ID and {commentId} with the target comment's ID. [1]
Step 3. Authenticate your request.
Like all Zoho Desk API calls, this request must include a valid OAuth 2.0 access token in the request headers. Ensure your OAuth scope covers write/delete operations on call records before proceeding. [1]
Step 4. Send the request and handle the response.
Issue the DELETE request to the constructed URL. A successful deletion will return an appropriate HTTP success status. If you are using Python, the call looks like this: [1]
def delete_a_call_comment(self, callId: str, commentId: str, p: dict = None):
return self.c.request("DELETE", f"/api/v1/calls/{callId}/comments/{commentId}", p, None)
The method accepts the callId and commentId as required string arguments, with an optional p parameter for any additional query parameters you may need to pass. [1]
Step 5. Verify the deletion.
After a successful response, retrieve the call record's comments again to confirm the targeted comment no longer appears. If it still shows up, double-check that you used the correct commentId and that your access token had sufficient permissions.
Common pitfalls
- Wrong IDs: Mixing up the
callIdandcommentIdis the most common mistake. Both are required and must correspond to the same call record — passing acommentIdthat belongs to a different call will result in an error or unexpected behaviour. [1] - Insufficient OAuth scope: If your access token was generated with read-only scopes, the
DELETErequest will be rejected. Regenerate your token with the appropriate write/delete permissions for calls. [1] - Optional
pparameter: The endpoint accepts an optionalpparameter. In most straightforward deletion scenarios this can be left asNone, but if your integration requires additional query parameters, pass them as a dictionary here. [1]
What to check
- Confirm that both
callIdandcommentIdare valid, non-null strings retrieved directly from Zoho Desk before sending the request. [1] - Verify your OAuth 2.0 token is active and scoped to allow delete operations on Zoho Desk call resources. [1]
- After the request completes, re-fetch the call's comment list to confirm the comment has been fully removed from the record. [1]