Comments
BlueSuite MCP tools for comments
See connection and authentication and workflow rules before calling these tools.
Related REST API and behavior.
create_comment
Post an internal comment on a parent entity (contact, request, quote, job, invoice, event, or timesheet). Comments are not customer-facing, they show up in the dashboard's activity panel for the parent. Optionally @-mention workspace members (each gets a comments_mention notification) and/or reply to an existing comment (the original author gets a comments_reply notification). For quote/job/invoice/request comments, the parent entity's creator also receives a comments_new notification (skipped if they're already covered by mention/reply dedup or if they wrote this comment). The comment author is the user who created the API key.
Parameters
| Field | Type / accepted values | Required | Details |
|---|---|---|---|
module_type | "contact", "request", "quote", "job", "invoice", "event", "timesheet" | Yes | Parent entity type. |
module_id | integer | Yes | ID of the parent entity in the current workspace. |
comment | string | Yes | Comment body (1 to 10,000 characters). minLength: 1. maxLength: 10000. |
mentioned_user_ids | array of string | No | UUIDs of workspace members to @-mention. Each receives a comments_mention notification. Use list_users to resolve names to UUIDs. maxItems: 50. |
reply_to | integer | No | ID of an existing comment to reply to. The parent comment's author receives a comments_reply notification. |
Result
| Field | Type / accepted values | Required | Details |
|---|---|---|---|
data | object or null | Yes | The affected record, or the result of the operation. Null when nothing matched. |
list_comments
List internal comments attached to a parent entity (contact, request, quote, job, invoice, event, or timesheet). Returns paginated comments newest-first; soft-deleted comments are excluded.
Parameters
| Field | Type / accepted values | Required | Details |
|---|---|---|---|
module_type | "contact", "request", "quote", "job", "invoice", "event", "timesheet" | Yes | Parent entity type. |
module_id | integer | Yes | Parent entity ID. |
page | JSON value | No | Page number (default: 1). |
per_page | integer | No | Results per page (default: 25, max 100). minimum: 1. maximum: 100. |
Result
| Field | Type / accepted values | Required | Details |
|---|---|---|---|
data | array of object | Yes | The matching records for this page. |
pagination | object | No | How many more pages of results exist. Absent when the API returned an unpaged result. |
pagination.page | integer | When parent supplied | Current page number, 1-based. |
pagination.per_page | integer | When parent supplied | Number of results per page. |
pagination.total_pages | integer | When parent supplied | Total number of pages available. |
get_comment
Get a single comment by ID, including the joined author profile.
Parameters
| Field | Type / accepted values | Required | Details |
|---|---|---|---|
comment_id | integer | Yes | Comment ID. |
Result
| Field | Type / accepted values | Required | Details |
|---|---|---|---|
data | object or null | Yes | The affected record, or the result of the operation. Null when nothing matched. |
delete_comment
Soft-delete a comment. The row is retained for audit but stops appearing in list responses. Cannot be undone via this API.
Parameters
| Field | Type / accepted values | Required | Details |
|---|---|---|---|
comment_id | integer | Yes | Comment ID. |
Result
| Field | Type / accepted values | Required | Details |
|---|---|---|---|
data | object or null | Yes | The affected record, or the result of the operation. Null when nothing matched. |
The downloadable tool schemas include the full input and output contracts. Tables describe schema-level required fields; cross-field rules still apply.