When to Use
- Human review — approved: After a human moderator reviews a queued comment and determines it does not violate policy, trigger
comment/unhide to restore it to public view.
- False positive correction: When automated moderation incorrectly hides a legitimate comment (false positive from AI classifier), restore it programmatically once the error is detected.
- Crisis resolution: After a brand crisis period ends, restore comments that were temporarily hidden during the crisis management window.
- Appeal resolution: When a user disputes a hidden comment through your support channel and the appeal is granted, automatically restore the comment as part of the support workflow.
- Time-based restore: Temporarily hide controversial comments during a sensitive event (product launch, earnings call) and automatically restore them after a set time window.
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 unhide. |
commentId | Required | ID of the hidden comment to restore to public visibility. |
Sample Configuration JSON
{
"resource": "comments",
"operation": "unhide",
"accessToken": "{{ $credential.instagram.accessToken }}",
"igUserId": "17841400000000000",
"commentId": "{{ $input.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 modify this comment's visibility. |
Output
Success Port
| Field | Type | Description |
status | string | "success" |
hidden | boolean | false — comment is now publicly visible. |
commentId | string | ID of the restored 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": false,
"commentId": "17858893269000001",
"payload": "{\"success\":true}"
}
Expression Reference
| Expression | Value |
{{ $output.instagram.hidden }} | Boolean — false after successful unhide |
{{ $output.instagram.commentId }} | Restored comment ID for audit log |
Node Policies & GuardRails
- Audit trail: Log every unhide action with the comment ID, timestamp, reviewer ID, and the reason for restoration to maintain a complete moderation audit trail.
- Idempotency: Calling
unhide on a comment that is already visible succeeds without error but has no effect. Safe to call from retry logic.
- Content re-review: Before unhiding, consider re-evaluating the comment against current policy. User-reported content or previously flagged comments may have been reviewed under different context.
- Rate limit: 200 calls per user per hour. Bulk restore operations should be rate-limited.
Examples
Human review approval — restore comment
{
"resource": "comments",
"operation": "unhide",
"accessToken": "{{ $credential.instagram.accessToken }}",
"igUserId": "{{ $env.IG_USER_ID }}",
"commentId": "{{ $input.reviewQueue.commentId }}"
}
Triggered from a human review dashboard when a moderator approves a queued comment. The workflow updates the review queue status and restores the comment visibility.
Time-based restore after launch window
{
"resource": "comments",
"operation": "unhide",
"accessToken": "{{ $credential.instagram.accessToken }}",
"igUserId": "17841400000000000",
"commentId": "{{ $loop.current.commentId }}"
}
Used in a scheduled workflow 48 hours after a product launch to restore all comments that were temporarily hidden during the controlled launch window. Iterates through a stored list of hidden comment IDs.