Own media only: You can only post comments on media objects owned by your Instagram Business account. This operation cannot post comments on other users' media.
When to Use
- Auto-reply to post questions: When a post is published, post an automated first comment with a FAQ link or call-to-action, e.g. "Check the link in bio for details!"
- Hashtag seeding: Post a second comment immediately after publishing to add additional hashtags — keeping the caption clean while maximising discoverability.
- Campaign announcements: When a countdown ends or a prize winner is selected, post an announcement comment on the original post.
- Feedback acknowledgement: When a high-sentiment comment is detected, post a branded acknowledgement comment (e.g. "Thanks for the kind words!") on the post to boost engagement signals.
- Product launch coordination: Coordinate cross-promotion by posting coordinated comments on simultaneous posts across multiple accounts at launch time.
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 create. |
mediaId | Required | ID of the Instagram media object on which to post the comment. |
message | Required | Comment text. Supports @mentions and emoji. Instagram may reject comments that violate community guidelines. |
Sample Configuration JSON
{
"resource": "comments",
"operation": "create",
"accessToken": "{{ $credential.instagram.accessToken }}",
"igUserId": "17841400000000000",
"mediaId": "{{ $output.publishNode.instagram.mediaId }}",
"message": "Shop the full collection at the link in bio! #newcollection #fashion"
}
Validation Errors
| Error | Cause |
accessToken is required | accessToken field is missing or empty. |
mediaId is required | mediaId field is missing or empty. |
message is required | message field is missing or empty. |
| Graph API error 368 | Comment text violates Instagram community guidelines. |
| Graph API error 100 | Media ID does not exist or is not owned by this account. |
Output
Success Port
| Field | Type | Description |
status | string | "success" |
commentId | string | ID of the newly created comment. Use for subsequent moderation operations. |
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",
"commentId": "17858893270000001",
"payload": "{\"id\":\"17858893270000001\"}"
}
Expression Reference
| Expression | Value |
{{ $output.instagram.commentId }} | New comment ID for subsequent operations |
Node Policies & GuardRails
- Content policy: Instagram enforces community guidelines on comment text. Automated comments that repeatedly use certain words, include spam patterns, or mimic policy violations may result in the account being flagged. Review automated comment templates carefully.
- Anti-spam: Do not use this node to post identical comments on multiple posts in rapid succession — Instagram's spam detection will flag and suppress the comments. Introduce variation and time spacing.
- Comment disabling: If commenting is disabled on the target media (via
comments/disable), the operation will fail with a Graph API error. Handle the error port to detect this state.
- Rate limit: 200 calls per user per hour. Factor comment creation into your overall call budget.
Examples
First comment after publish — CTA with hashtags
{
"resource": "comments",
"operation": "create",
"accessToken": "{{ $credential.instagram.accessToken }}",
"igUserId": "17841400000000000",
"mediaId": "{{ $output.mediaPublish.instagram.mediaId }}",
"message": "Shop now at the link in bio! Use code SUMMER20 for 20% off. #sale #limitedtime"
}
Runs immediately after media/publish in the same workflow. Posts the promotional first comment with coupon code and hashtags while keeping the caption clean.
AI-generated announcement comment
{
"resource": "comments",
"operation": "create",
"accessToken": "{{ $credential.instagram.accessToken }}",
"igUserId": "{{ $env.IG_USER_ID }}",
"mediaId": "{{ $input.giveawayPostId }}",
"message": "Congratulations to @{{ $output.winnerSelection.username }} — you've won! Please DM us to claim your prize."
}
Posts the winner announcement comment on the original giveaway post. The username is dynamically populated from the winner selection node's output.