Comments
Social comment management — Facebook / Instagram / TikTok post comments, with public reply, DM-the-commenter, hide and archive.
List social comments (channel manager only)
The triage queue: inbound comments and reviews, newest first, filterable by status, source, post, free text, star rating, assignee, a since/until window, and `needs_reply` (still open with no answer from either side). 'When' is `commented_at`, or `created_at` where the platform sent no timestamp (Instagram's comment webhook); ordering and the window both read that one value, so an untimed comment is neither pinned above every newer one nor dropped from a window.
Count of open inbound comments (drives the sidebar badge)
Count of open inbound comments (drives the sidebar badge)
Posts that carry comments (channel manager only)
The posts a source's comments hang off — Facebook/Instagram posts, TikTok videos — newest first, each with how many comments it has and how many still need a reply. Only posts WITH comments exist here. Review sources (Google Business, App/Play Store) have no posts; their comments are addressed at the business itself.
Comment-capable channels + their AI modes (channel manager only)
Comment-capable channels + their AI modes (channel manager only)
Set a channel's AI comment modes (channel manager only)
Set a channel's AI comment modes (channel manager only)
Import a polled channel's existing comment history (channel manager only)
Queues a full, paginated import of the comments/reviews already published on a POLLED channel (Google Business reviews). Webhook sources push comments live and are rejected with 422. The import is silent (no AI auto-reply, no realtime flood) and idempotent, so it is safe to re-run; progress is reported on the channel (`import` in the channel listing).
Apply one action to many comments (channel manager only)
The triage list's bulk bar: `archive` (dismiss), `assign` (a staff id, or null to unassign) and `ai_draft` (queue a suggestion for each). Replying is deliberately excluded — a public answer is written per comment, never blasted. Ids outside the tenant are invisible under RLS and simply skipped.
Ask AI for a reply draft (channel manager only)
Queues an AI suggestion for this comment on the agent's request. Unlike the automatic pipeline it runs even when the channel's AI modes are all off, and it NEVER posts — the text lands on the comment as `ai_suggestion` for the agent to edit, send or discard.
Get a social comment (channel manager only)
Get a social comment (channel manager only)
Post a public reply to a comment (channel manager only)
Post a public reply to a comment (channel manager only)
Answer a Çiçeksepeti product question, publicly or to the customer only
Settles an open Çiçeksepeti question with an answer (doc 76 §3.4):
Report a Çiçeksepeti product question as inappropriate
`branchActionId 3` (doc 76 §3.4): the question goes to Çiçeksepeti's
Mark a Çiçeksepeti product question as another seller's
`branchActionId 4` (doc 76 §3.4): the question was routed to us but
Send a private reply (DM) to the commenter (channel manager only)
Send a private reply (DM) to the commenter (channel manager only)
Hide or unhide a comment on the platform (channel manager only)
Hide or unhide a comment on the platform (channel manager only)
Dismiss a comment locally (channel manager only)
Dismiss a comment locally (channel manager only)
Take an ignored comment back
The inverse of `archive`, which shipped without one. Ignoring is the fastest decision in the triage list and therefore the one most often made wrongly; the comment stayed visible under 'Ignored' with nothing an agent could do to it. Restores to `replied` when the comment was already answered (`replied_at` set) and to `open` otherwise, so a taken-back comment is not pushed into the needs-reply queue a second time. A no-op on anything that is not archived.
Assign (or unassign) a comment to a staff member
Assign (or unassign) a comment to a staff member