Goal
Fetch comments on specific posts or across recent posts to monitor conversations, identify response opportunities, and detect policy violations.
Which Agents Use This
- engagement — Monitor for questions to answer, compliments to acknowledge
- moderator — Scan for spam, harassment, or policy violations
- custom — Any agent needing comment monitoring
Hard Rules
- MUST provide either post_id OR account_id (not neither)
- SHOULD calculate spam_score and sentiment for each comment
- SHOULD flag has_response to avoid duplicate replies
- Filter options help agents prioritize (unanswered, flagged, spam_suspected)
Steps
1. Validate input
- Verify post_id OR account_id provided
- Validate since timestamp if provided
2. Fetch comments
- If post_id: fetch comments for that post
- If account_id: fetch comments across recent posts
- Apply since filter
- Apply filter (unanswered, flagged, spam_suspected)
3. Analyze comments
- Calculate spam_score (0-1, low = genuine, high = spam)
- Determine sentiment (positive, neutral, negative)
- Check has_response (did we already reply?)
4. Return comments array
- Include comment metadata, author, content, timestamps
- Include analysis (sentiment, spam_score, has_response)
Output
{
"success": true,
"count": 18,
"comments": [
{
"comment_id": "uuid",
"post_id": "uuid",
"author": "@username",
"content": "Great post! How does this compare to X?",
"created_at": "2026-02-20T10:30:00Z",
"sentiment": "positive",
"spam_score": 0.02,
"has_response": false
}
]
}
Failure Handling
- If post_id and account_id both missing: return error "Provide post_id or account_id"
- If post_id not found: return error "Post not found"
- If platform API fails: return cached comments with warning
Example Usage
Scenario: Engagement agent checking unanswered questions
{
"account_id": "uuid",
"since": "2026-02-20T08:00:00Z",
"filter": "unanswered"
}
Result: Receive list of unanswered comments since 8am for response drafting
1---2name: bolta-get-comments3description: Fetch comments on posts to monitor conversations and identify response opportunities or policy violations4---56## Goal7Fetch comments on specific posts or across recent posts to monitor conversations, identify response opportunities, and detect policy violations.89## Which Agents Use This10- **engagement** — Monitor for questions to answer, compliments to acknowledge11- **moderator** — Scan for spam, harassment, or policy violations12- **custom** — Any agent needing comment monitoring1314## Hard Rules151. MUST provide either post_id OR account_id (not neither)162. SHOULD calculate spam_score and sentiment for each comment173. SHOULD flag has_response to avoid duplicate replies184. Filter options help agents prioritize (unanswered, flagged, spam_suspected)1920## Steps2122### 1. Validate input23- Verify post_id OR account_id provided24- Validate since timestamp if provided2526### 2. Fetch comments27- If post_id: fetch comments for that post28- If account_id: fetch comments across recent posts29- Apply since filter30- Apply filter (unanswered, flagged, spam_suspected)3132### 3. Analyze comments33- Calculate spam_score (0-1, low = genuine, high = spam)34- Determine sentiment (positive, neutral, negative)35- Check has_response (did we already reply?)3637### 4. Return comments array38- Include comment metadata, author, content, timestamps39- Include analysis (sentiment, spam_score, has_response)4041## Output42```json43{44 "success": true,45 "count": 18,46 "comments": [47 {48 "comment_id": "uuid",49 "post_id": "uuid",50 "author": "@username",51 "content": "Great post! How does this compare to X?",52 "created_at": "2026-02-20T10:30:00Z",53 "sentiment": "positive",54 "spam_score": 0.02,55 "has_response": false56 }57 ]58}59```6061## Failure Handling62- If post_id and account_id both missing: return error "Provide post_id or account_id"63- If post_id not found: return error "Post not found"64- If platform API fails: return cached comments with warning6566## Example Usage6768### Scenario: Engagement agent checking unanswered questions69```json70{71 "account_id": "uuid",72 "since": "2026-02-20T08:00:00Z",73 "filter": "unanswered"74}75```76**Result:** Receive list of unanswered comments since 8am for response drafting