Skip to content

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 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.

For operational setup details, see Inngest and Cron.

Unified Inbox (/comments) ​

The comments page provides a single view of all incoming comments across channels. The inbox is a Pro, Team, and Agency feature; on other plans it shows an upgrade prompt. A Sync now button (with a "Last synced" time) triggers an immediate sync.

Filters ​

Use the filter bar at the top of the inbox to narrow the view:

  • Search: Search the comment text.
  • Status: Filter by comment status (needs_reply, handled, ignored).
  • Channels and Campaigns: Restrict to one or more channels or campaigns.
  • Assignee: Show comments assigned to a specific team member.
  • Unread Only: Show only comments you have not yet read.
  • Sentiment: Filter by AI-classified sentiment (positive, neutral, negative).
  • Priority: Filter by AI-classified priority (high, medium, low).
  • High priority first: A checkbox that sorts high-priority items first.
  • Load more: Older comments load with ISO 8601 cursor-based pagination.

Comment Cards ​

Each comment card displays:

  • Author: The commenter's name and avatar (when available from the platform).
  • Platform Icon: The source channel (e.g., X, Facebook, LinkedIn).
  • Comment Text: The full comment body.
  • Timestamp: When the comment was posted (in your local timezone).
  • Status Dot: Color-coded status indicator (yellow = needs reply, green = handled, grey = ignored). Click it to cycle the status.
  • Sentiment/Priority Badge: When AI sentiment analysis is enabled.
  • Unread Indicator: A highlight for comments you haven't viewed.

Mark Handled ​

Click Mark handled on a comment card to mark it handled and clear it from the unread queue. The underlying POST /posts/inbox/bulk-read endpoint accepts up to 1,000 comment IDs per request. Inbox status is shared by the whole organisation, so marking a comment handled clears it for every teammate. Only comments still in needs reply are changed — a comment someone already set to ignored keeps that status.

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: true in the provider capability matrix.

Assignment ​

Assign comments to team members for triage:

  • Click Assign on any comment card and select a team member.
  • Set the assignee to null to unassign.
  • Filter the inbox by assignee to see your assigned comments.

Status Updates ​

Update the status of a comment as you triage it:

  • Needs Reply: New, unreviewed comment.
  • Handled: Addressed successfully.
  • Ignored: No longer needs attention.

Per-Post Comments in Post Detail ​

When viewing a post detail modal (from the schedule), the comments section is capability-aware:

  • Reply and Like actions are only shown for providers that support them (comments: true).
  • Unread comments are highlighted.
  • Mark as Read marks all comments on that post as read for you.
  • Unread count is available per post.

Providers with comments: true: X, LinkedIn, LinkedIn Page, Reddit, Instagram, Instagram Standalone, Facebook Page, Threads, YouTube, TikTok, Discord, Slack, Mastodon, GoToSocial, Akkoma, Friendica, Misskey, Sharkey, Bluesky, Telegram, Discourse, 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, LINE, Matrix, Odysee.

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:

  1. The main post is published to the selected channels.
  2. If a first comment is configured and the channel supports it (firstComment: true), the comment is posted immediately after.
  3. 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.
  4. 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").

30 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.

  • 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.

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.

Verified against v1.3.0

The AI-native social media management platform — postmill.ai