When to Use
- Comment moderation pipeline: After a webhook fires for a new comment event, retrieve full comment details to evaluate its content — text, author, timestamp — before deciding to hide, respond, or escalate to a human moderator.
- Sentiment analysis: Fetch specific comments identified by ID from a webhook payload and pass the
text field into an AI sentiment analysis node.
- Customer service routing: Retrieve comment details to check whether it contains a service request keyword, then route to the appropriate CRM case creation workflow.
- Audit logging: Before hiding or deleting a comment, retrieve and log the full comment data to an audit database for compliance records.
- Reply context: Fetch the original comment text before crafting an automated or human reply, ensuring the response is contextually accurate.
Configuration
Connection
| Field | Required | Description |
accessToken | Required | Long-lived Instagram access token stored in BizFirst Credentials Manager. |
igUserId | Required | Your Instagram Business/Creator account ID. |
Operation
| Field | Required | Description |
resource | Required | Must be comments. |
operation | Required | Must be get (note: the underlying API uses a direct node lookup by comment ID). |
commentId | Required | The Instagram comment object ID to retrieve. |
fields | Optional | Comma-separated fields: id,text,username,timestamp,like_count,replies_count,hidden. |
Sample Configuration JSON
{
"resource": "comments",
"operation": "get",
"accessToken": "{{ $credential.instagram.accessToken }}",
"igUserId": "17841400000000000",
"commentId": "{{ $trigger.body.value.commentId }}",
"fields": "id,text,username,timestamp,like_count,hidden"
}
Validation Errors
| Error | Cause |
accessToken is required | accessToken field is missing or empty. |
commentId is required | commentId field is missing or empty. |
| Graph API error 100 | Comment does not exist or has been deleted. |
Output
Success Port
| Field | Type | Description |
status | string | "success" |
id | string | Comment ID. |
text | string | Comment text content. |
username | string | Instagram username of the commenter. |
timestamp | string | ISO 8601 comment creation timestamp. |
likeCount | number | Number of likes on this comment. |
repliesCount | number | Number of replies to this comment. |
hidden | boolean | true if the comment is currently hidden from public view. |
payload | string | Raw JSON response from the Graph API. |
Error Port
| Field | Type | Description |
status | string | "error" |
errorCode | string | Graph API error code. |
errorMessage | string | Error description. |
payload | string | Raw error response. |
Sample Output JSON
{
"status": "success",
"id": "17858893269000001",
"text": "Love this product! Where can I buy it?",
"username": "customer_jane",
"timestamp": "2025-06-15T16:42:00+0000",
"likeCount": 5,
"repliesCount": 1,
"hidden": false,
"payload": "{\"id\":\"17858893269000001\",\"text\":\"Love this product!...\"}"
}
Expression Reference
| Expression | Value |
{{ $output.instagram.text }} | Comment text |
{{ $output.instagram.username }} | Commenter's username |
{{ $output.instagram.hidden }} | Boolean visibility status |
{{ $output.instagram.likeCount }} | Like count on comment |
{{ $output.instagram.timestamp }} | ISO 8601 creation time |
Node Policies & GuardRails
Examples
Moderation on webhook comment event
{
"resource": "comments",
"operation": "get",
"accessToken": "{{ $credential.instagram.accessToken }}",
"igUserId": "{{ $env.IG_USER_ID }}",
"commentId": "{{ $trigger.body.value.commentId }}",
"fields": "id,text,username,timestamp,hidden"
}
Triggered by a trigger/webhook node on comment events. Retrieves full comment text for sentiment analysis before routing to hide, reply, or escalation nodes.
Audit log before moderation action
{
"resource": "comments",
"operation": "get",
"accessToken": "{{ $credential.instagram.accessToken }}",
"igUserId": "17841400000000000",
"commentId": "{{ $input.commentId }}",
"fields": "id,text,username,timestamp,like_count,hidden"
}
Runs before comment/hide or comment/delete to capture the original comment content for the compliance audit log.