Reversible moderation: Unlike comment/delete, hiding a comment preserves it in the database. The original author still sees it, but other visitors do not. Use this when you need human review before a final decision, or when complying with content transparency regulations.
When to Use
- Automated first-pass moderation: When the AI moderation score flags a comment as potentially policy-violating (but below the delete threshold), hide it automatically and queue it for human review.
- Negative sentiment management: During product crisis events, hide highly negative comments that could amplify reputational damage while your communications team prepares a public response.
- Dispute pending review: Hide a comment containing disputed claims while the accuracy of the claim is being verified by your content or legal team.
- Competitor promotion removal: When a competitor's name or promotion is mentioned in your post's comments, hide the comment as part of your competitive response policy.
- Temporary hold during audit: Before a brand audit or legal review of a post, hide all recent comments temporarily so the post appears in a controlled state for reviewers.
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 hide. |
commentId | Required | ID of the comment to hide from public view. |
Sample Configuration JSON
{
"resource": "comments",
"operation": "hide",
"accessToken": "{{ $credential.instagram.accessToken }}",
"igUserId": "17841400000000000",
"commentId": "{{ $trigger.body.value.commentId }}"
}
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 200 | You do not have permission to hide this comment. |
Output
Success Port
| Field | Type | Description |
status | string | "success" |
hidden | boolean | true — comment is now hidden. |
commentId | string | ID of the hidden comment. |
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",
"hidden": true,
"commentId": "17858893269000001",
"payload": "{\"success\":true}"
}
Expression Reference
| Expression | Value |
{{ $output.instagram.hidden }} | Boolean — true when hidden successfully |
{{ $output.instagram.commentId }} | Hidden comment ID for audit log |
Node Policies & GuardRails
- Audit trail: Log every hide action with the comment ID, timestamp, automated reason (e.g. spam score, keyword match), and the operator ID for compliance reporting.
- Human review queue: When hiding automatically, write the comment ID to a review queue (database or ticketing system) so a human moderator can confirm the action and either restore via comment/unhide or escalate to comment/delete.
- Content transparency: Some jurisdictions require transparency around content moderation decisions. Maintain records of hide actions and the justification applied.
- Rate limit: 200 calls per user per hour. Bulk hide operations on high-traffic posts should be rate-limited within the workflow.
Examples
AI moderation — hide on medium confidence
// Comment sentiment node returns score 0.5-0.9: hide and queue for review
{
"resource": "comments",
"operation": "hide",
"accessToken": "{{ $credential.instagram.accessToken }}",
"igUserId": "{{ $env.IG_USER_ID }}",
"commentId": "{{ $input.commentId }}"
}
// Next node: write to moderation review queue
Hide all comments during brand crisis
// Loop node iterates through comment IDs from comment/getMany output
{
"resource": "comments",
"operation": "hide",
"accessToken": "{{ $credential.instagram.accessToken }}",
"igUserId": "17841400000000000",
"commentId": "{{ $loop.current.id }}"
}
Used in a crisis response workflow that hides all recent comments on affected posts while the communications team prepares a statement. Comments are restored with comment/unhide after the situation resolves.