Skip to content

Inbox

Read LinkedIn conversations, check unread counts, mark threads read, refresh the inbox, and send messages in existing conversations.

Full name: campaignstack_list_inbox_conversations

inbox:read Read-only Idempotent

List inbox conversations across all LinkedIn accounts in the workspace. Returns up to 50 conversations sorted by most recent activity, with participant details, last message preview, read/unread status, and associated lead info. Each conversation includes a conversationRef { platform, id } used as the identifier for other inbox tools. Use unreadOnly: true to filter to unread threads only. Use identityFilter to restrict to specific LinkedIn account IDs (use campaignstack_list_accounts to find them). Use campaignstack_get_conversation to fetch full message history for a thread.

NameTypeRequiredDefaultDescription
workspaceIdstringNo
unreadOnlybooleanNo
identityFilterstring[]No

Full name: campaignstack_get_conversation

inbox:read Read-only Idempotent

Get a conversation with its full message history. Takes a conversationRef { platform, id } from campaignstack_list_inbox_conversations. Returns all participants, messages (newest first in the messages array), read state, account info, and associated lead details. If needsFetch is true, messages have not been loaded yet — use campaignstack_refresh_inbox to populate them. Use campaignstack_list_inbox_conversations to find conversation refs.

NameTypeRequiredDefaultDescription
conversationRefobjectYes

Full name: campaignstack_get_inbox_unread_count

inbox:read Read-only Idempotent

Get the total number of unread conversations across all LinkedIn accounts in the workspace. Returns { total, accountCount } — total is the sum of unread conversation counts, accountCount is the number of active LinkedIn accounts in the workspace. Uses denormalized counters for efficiency (no conversation table scan).

NameTypeRequiredDefaultDescription
workspaceIdstringNo

Full name: campaignstack_mark_conversation_read

inbox:write Idempotent

Mark a conversation as read. Clears the unread flag and decrements the account’s unread counter. No-ops if the conversation is already read. Use campaignstack_list_inbox_conversations to find conversation refs.

NameTypeRequiredDefaultDescription
conversationRefobjectYes

Full name: campaignstack_refresh_inbox

inbox:write

Trigger an inbox refresh for all LinkedIn accounts in the workspace. Polls LinkedIn for new messages and routes them into CampaignStack conversations. Respects a 20-second freshness dedup window per account (skips recently-fetched accounts). Returns { refreshed, skipped, errors } — refreshed = accounts polled, skipped = fresh/expired/unenriched accounts. After refresh, use campaignstack_list_inbox_conversations to see updated conversations.

NameTypeRequiredDefaultDescription
workspaceIdstringNo

Full name: campaignstack_send_message

inbox:write Destructive

Send a plain-text LinkedIn message in an existing conversation. Takes a conversationRef { platform, id } from campaignstack_list_inbox_conversations. The message is dispatched asynchronously via the runner — the tool returns a messageEntityUrn for tracking. Use campaignstack_get_conversation to check delivery status. Subject to daily send_message budget and business hours gates unless bypassed. When true, bypasses ALL LinkedIn safety limits (daily budget, weekly caps, business hours, account status checks). ⚠️ WARNING: This disables all protections that prevent LinkedIn account restrictions. Use only when you understand the risks and accept that the account may be flagged or restricted by LinkedIn.

NameTypeRequiredDefaultDescription
conversationRefobjectYes
textstringYes(min length: 1)
dangerouslyBypassSafetySystembooleanNofalse