OmniSocialsOmniSocials
DocumentationAPI reference
Help centerSupport
  • Documentation
  • API reference
Developers
  • Quickstart
  • API reference
  • SDKs
  • MCP server
  • CLI
For AI agents
  • Docs for AI agents
  • llms.txt
  • OpenAPI spec
  • Postman collection
Product
  • OmniSocials
  • Pricing
  • Changelog
  • Help center
Company
  • Support
  • Privacy policy
  • Terms of service

© 2026 OmniSocials

OmniSocials on GitHubOmniSocials on XOmniSocials on LinkedIn
Overview
Get started
SDKs
CLI
    Posting commandsInbox commandsAnalytics commandsPlatform commandsManagement commands
MCPDocs for AI agentsWebhooks
Guides
Platforms
Integrations
Migrate
Plans and billing
GlossaryChangelogAPI reference
CLI

CLI inbox commands

Read and reply to DMs, comments, and mentions from Instagram, Facebook, and LinkedIn company pages, TikTok and YouTube video comments, X (Twitter) DMs for workspaces that have enabled them, and Threads replies and mentions. See the Social Inbox guide for concepts, platform coverage, and reply limits.

Inbox access is opt-in: your API key needs the inbox:read scope for reading and inbox:write for replying, marking read, and hiding or deleting comments. Enable them when creating the key under Settings -> API.

Commands

CommandDescription
inbox:listList conversations (latest message each) with participant, unread count, and related post. Flags: --platform <instagram|facebook|linkedin|tiktok|youtube|x|threads>, --type <dm|comment|mention>, --unread, --unanswered (only conversations that still need a reply), --limit, --cursor. Requires inbox:read
inbox:nextThe next conversation that needs an answer, with its thread (oldest first) and the post it is on, plus how many more are waiting. Flags: --platform, --type <dm|comment|mention>, --order <oldest|newest> (default oldest), --include-read, --exclude <conversation-id,...>. Requires inbox:read
inbox:messages <conversation-id>Full message history for one conversation, oldest to newest, each with its message id. Comment threads print the post (caption, url, thumbnail) first. Flags: --limit, --cursor. Requires inbox:read
inbox:read <conversation-id>Mark a conversation's messages as read. Also the durable skip for inbox:next. Requires inbox:write
inbox:reply <conversation-id>Send a reply. Flags: --text (required), --attachment-url, --attachment-type, --next (also returns the next conversation that needs an answer). Requires inbox:write
inbox:hide <message-id>Hide a comment someone left on one of your posts, as the post owner; --unhide reverses it. Facebook, Instagram, TikTok, YouTube, and Threads (top-level replies only). Takes the message id from inbox:messages or inbox:next, not the conversation id. Requires inbox:write
inbox:delete <message-id>Delete a comment from the platform. Facebook, Instagram, and TikTok comments only (YouTube: use inbox:hide). Cannot be undone; replies under the comment go with it. Takes the message id, not the conversation id. Requires inbox:write

Conversation ids can contain : and () (LinkedIn URNs); the CLI URL-encodes them for you. Lists are cursor-paginated: pass the cursor from the previous response to fetch the next page.

Two ids show up in the output. The conversation id is what inbox:messages, inbox:read, and inbox:reply take. The message id, printed on every message, is what inbox:hide and inbox:delete take.

What counts as unanswered

inbox:list --unanswered and inbox:next use the same rule. A conversation still needs an answer when the customer's latest DM has no reply after it (Instagram and Facebook DMs only within Meta's 24-hour messaging window, since replies outside it are refused), or when a comment or mention has not been replied to and is not hidden. Replies typed in the native apps (the Instagram app, Messenger) are mirrored into the inbox as outgoing messages and count as answers, so a thread a colleague answered on their phone is not served again. Instagram mentions are skipped because there is no reply path for them.

Examples

Triage unread Instagram DMs:

TerminalTerminal
omnisocials inbox:list --platform instagram --type dm --unread

Only the conversations still waiting for a reply:

TerminalTerminal
omnisocials inbox:list --unanswered

Work through everything that needs an answer:

TerminalTerminal
omnisocials inbox:next # Next up: instagram comment from Jane Doe (@janedoe) # Conversation: ig_comment_18001 # Message to answer: 42 # On post: 17912345678901234 (IMAGE) # Caption: Summer drop is live # URL: https://www.instagram.com/p/abc123/ # Thumbnail: https://cdn.example.com/p1.jpg # # Thread (oldest first) # ... # 3 more waiting. omnisocials inbox:reply ig_comment_18001 --text "Link is in our bio!" --next # Reply sent! ... followed by the next item. Repeat until the CLI prints # "Nothing is waiting for an answer."

inbox:next serves unread items only, so marking a conversation read skips it for good. To leave some out of a single call instead, pass --exclude:

TerminalTerminal
omnisocials inbox:read ig_comment_18001 omnisocials inbox:next --exclude ig_comment_18001,fb_dm_555 omnisocials inbox:next --platform instagram --type comment --order newest omnisocials inbox:next --include-read

Read a conversation and reply:

TerminalTerminal
omnisocials inbox:messages 17845123456789 omnisocials inbox:reply 17845123456789 --text "Thanks for reaching out! Sending you the details now." omnisocials inbox:read 17845123456789

Answer a TikTok video comment (replies are text only, 150 characters max):

TerminalTerminal
omnisocials inbox:list --platform tiktok --unread omnisocials inbox:reply tiktok_7301234567890_7449912345678 --text "Love this! Thanks for watching."

Answer a YouTube video comment (conversations group per video):

TerminalTerminal
omnisocials inbox:list --platform youtube --unread omnisocials inbox:reply youtube_comment_aBcDeFgHiJk --text "Glad it helped! More on this coming next week."

Hide a comment on your own post (Facebook, Instagram, TikTok, YouTube, Threads):

TerminalTerminal
omnisocials inbox:messages threads_comment_17912345678901234 # each message prints its id; use it for inbox:hide and inbox:delete omnisocials inbox:hide 20457105 omnisocials inbox:hide 20457105 --unhide

Delete a comment for good (Facebook, Instagram, TikTok):

TerminalTerminal
omnisocials inbox:delete 20457105 # Comment 20457105 deleted from the platform. # Conversation: fb_comment_1 # Also removed 2 replies under it: 20457110, 20457112

On YouTube, hiding sets the comment's moderation status to rejected, which removes it and its replies from public view; there is no delete. Hiding needs the account to have been connected with the moderation permission: a reconnect_required error means reconnecting the account in the dashboard. YouTube's daily API quota can return quota_exceeded; retry after midnight Pacific.

Replies are limited to existing conversations (no cold outreach), the platform's messaging window applies, and each workspace can send up to 1,000 replies per rolling 24 hours. TikTok conversations are video comments only; see TikTok comments. YouTube conversations are video comments only too; channels are checked for new comments once per day, so a new comment can take up to a day to show up; see Platform notes. X conversations are DMs only, require the workspace to opt in, and each reply uses 2 credits; see X direct messages. Threads conversations are replies on your posts and mentions, replies publish as native Threads replies, and only incoming top-level replies on your own posts can be hidden. Threads connections made before the inbox permissions were added need a one-time reconnect in the dashboard; see Threads replies and mentions.

Last modified on October 20, 2026
Posting commandsAnalytics commands
On this page
  • Commands
  • What counts as unanswered
  • Examples