The Social Comments system provides a unified inbox for managing comments from all your connected social channels. Comments from supported platforms are synced periodically and available for triage, reply, and assignment.
Comments are collected by a background Inngest function (commentsCollection). The backend must have USE_INNGEST=true and valid Inngest Cloud credentials (or INNGEST_DEV=1 for local development). The function periodically fetches comments from each connected channel that supports the comments capability and syncs them into the SocialComment table.
Comment data includes the comment text, author information, timestamp, and platform-specific metadata. Per-user read state is tracked in the PostCommentRead table so each team member sees their own unread count.
Reply to a comment directly from the inbox. The reply is posted to the original platform (when the provider supports it) and recorded in the comment thread. Supported platforms for replies are those with comments: true in the provider capability matrix.
When you include a first comment in the composer, Postmill automatically posts it after the main post publishes successfully. This behavior is part of the publish workflow:
The main post is published to the selected channels.
If a first comment is configured and the channel supports it (firstComment: true), the comment is posted immediately after.
Idempotent: The firstCommentPostedAt timestamp and firstCommentId are recorded in the post settings. If the workflow retries or replays, the first comment is not posted again.
Non-fatal: If the first comment fails, the main post remains published. You receive an in-app notification explaining the failure (e.g., "First comment could not be posted on X").
24 providers support first comments. See Composer for the full list and capability gating details.
When an AI provider is configured, synced comments are automatically classified for sentiment and priority using the org's low-reasoning default model. Classification runs as a best-effort step after each comment sync: failures are logged and do not interrupt sync. Already-classified comments are skipped on retries, so re-running sync is idempotent.
Sentiment: positive, neutral, or negative.
Priority: high (complaints, questions, escalation signals), medium (neutral engagement that needs attention), or low (positive feedback that needs no action).
Confidence: a 0–1 score stored with each classification.
Classified values appear as badges on comment cards and power the sentiment/priority filters.
If AI is configured for your organization, you can generate draft replies using AI. From the comment card or the reply form, click the AI button to suggest a response based on the comment context. You can review and edit the suggestion before posting.
Schedule post cards display an unread comment badge (red circle, top-right corner) when a post has comments you haven't read. The badge shows the count up to "99+." Clicking the card body opens the post detail modal with the comments section.
See Schedule for details on post cards and the post detail modal.
Social Comments
The Social Comments system provides a unified inbox for managing comments from all your connected social channels. Comments from supported platforms are synced periodically and available for triage, reply, and assignment.
Comment Sync
Comments are collected by a background Inngest function (
commentsCollection). The backend must haveUSE_INNGEST=trueand valid Inngest Cloud credentials (orINNGEST_DEV=1for local development). The function periodically fetches comments from each connected channel that supports the comments capability and syncs them into theSocialCommenttable.Comment data includes the comment text, author information, timestamp, and platform-specific metadata. Per-user read state is tracked in the
PostCommentReadtable so each team member sees their own unread count.For operational setup details, see Inngest and Cron.
Unified Inbox (
/comments) The comments page provides a single view of all incoming comments across channels.
Filters
Use the filter bar at the top of the inbox to narrow the view:
needs_reply,handled,ignored).positive,neutral,negative).high,medium,low).Comment Cards
Each comment card displays:
Bulk Mark-Read
Select multiple comments and click Mark as Read to clear them from your unread queue. The bulk operation accepts up to 1,000 comment IDs per request.
Quick Replies
Reply to a comment directly from the inbox. The reply is posted to the original platform (when the provider supports it) and recorded in the comment thread. Supported platforms for replies are those with
comments: truein the provider capability matrix.Assignment
Assign comments to team members for triage:
nullto unassign.Status Updates
Update the status of a comment as you triage it:
Per-Post Comments in Post Detail
When viewing a post detail modal (from the schedule), the comments section is capability-aware:
comments: true).Providers with
comments: true: X, LinkedIn, LinkedIn Page, Reddit, Instagram, Instagram Standalone, Facebook Page, Threads, YouTube, TikTok, Discord, Slack, Mastodon, Bluesky, Telegram, Medium, Dev.to, Hashnode, WordPress.Providers without comments: Google My Business, Pinterest, Dribbble, Kick, Twitch, Lemmy, Farcaster, Nostr, VK, ListMonk, Moltbook, Whop, Skool, MeWe, Tumblr, Pixelfed, PeerTube.
First-Comment Auto-Post
When you include a first comment in the composer, Postmill automatically posts it after the main post publishes successfully. This behavior is part of the publish workflow:
firstComment: true), the comment is posted immediately after.firstCommentPostedAttimestamp andfirstCommentIdare recorded in the post settings. If the workflow retries or replays, the first comment is not posted again.24 providers support first comments. See Composer for the full list and capability gating details.
AI Classification
When an AI provider is configured, synced comments are automatically classified for sentiment and priority using the org's low-reasoning default model. Classification runs as a best-effort step after each comment sync: failures are logged and do not interrupt sync. Already-classified comments are skipped on retries, so re-running sync is idempotent.
positive,neutral, ornegative.high(complaints, questions, escalation signals),medium(neutral engagement that needs attention), orlow(positive feedback that needs no action).Classified values appear as badges on comment cards and power the sentiment/priority filters.
AI Reply Drafting
If AI is configured for your organization, you can generate draft replies using AI. From the comment card or the reply form, click the AI button to suggest a response based on the comment context. You can review and edit the suggestion before posting.
For AI setup and configuration, see AI Tools.
Schedule Integration
Schedule post cards display an unread comment badge (red circle, top-right corner) when a post has comments you haven't read. The badge shows the count up to "99+." Clicking the card body opens the post detail modal with the comments section.
See Schedule for details on post cards and the post detail modal.