Oktopost
Inbox

Conversations

Manage Inbox items including direct messages, post comments, mentions, and replies from connected profiles. Use these endpoints to list, view, update, and act on any conversation in your Oktopost Inbox.

List Conversations

Retrieve all inbox items matching the given filters. By default returns all item types (direct messages, post comments, mentions, and replies).

Parameters

ParameterTypeRequiredDescription
typeStringNoComma-separated list of item types. Accepted values: Conversation, Post, Mention, Reply. Defaults to all types.
statusStringNoComma-separated list of statuses. Accepted values: open, closed
networkStringNoComma-separated list of social networks. Accepted values: Facebook, Twitter, LinkedIn, YouTube, Instagram
assignee_idStringNoComma-separated list of user IDs to filter by assignee.
tagStringNoComma-separated list of conversation tag names to filter by.
qStringNoFree-text search term.
_countIntegerNoMaximum number of results to return.

Example Request

curl -i https://api.oktopost.com/v2/conversation?status=open&type=Post,Mention

Example Result

{
	"Result": true,
	"Conversations": {
		"Total": 42,
		"Items": [
			{
				"Id": "eit000000000001",
				"Created": "2025-03-10 14:22:00",
				"Modified": "2025-03-12 09:15:30",
				"Status": "open",
				"Network": "Facebook",
				"ItemType": "Post",
				"AssigneeId": "00A000000000001",
				"ProfileName": "Acme Inc"
			},
			...
		]
	}
}

Get Conversation

Retrieve a single inbox item by ID. The response includes the item's assigned tags.

Example Request

curl -i https://api.oktopost.com/v2/conversation/eit000000000001

Example Result

{
	"Result": true,
	"Conversation": {
		"Id": "eit000000000001",
		"Created": "2025-03-10 14:22:00",
		"Modified": "2025-03-12 09:15:30",
		"Status": "open",
		"Network": "LinkedIn",
		"ItemType": "conversation",
		"AssigneeId": "00A000000000001",
		"ProfileName": "Acme Inc",
		"Tags": [
			{
				"Id": "etg000000000001",
				"Name": "Support"
			}
		]
	}
}

Update Conversation Status

Open or close an inbox item.

Parameters

ParameterTypeRequiredDescription
statusStringYesThe new status. Accepted values: open, closed

Example Request

curl -i https://api.oktopost.com/v2/conversation/eit000000000001 -X POST \
	-d status="closed"

Example Result

{
	"Result": true
}

Get Timeline

Retrieve the timeline of an inbox item, including messages, comments, notes, shares, and likes. Supports cursor-based pagination.

Parameters

ParameterTypeRequiredDescription
last_loaded_idStringNoThe ID of the last loaded timeline entry. Used for cursor-based pagination to load older entries.

Example Request

curl -i https://api.oktopost.com/v2/conversation/eit000000000001/timeline

Example Result

{
	"Result": true,
	"Timeline": [
		{
			"Id": "eat000000000001",
			"Type": "note",
			"Created": "2025-03-12 09:15:30",
			"Content": "Following up with the customer.",
			"CreatedBy": "00A000000000001"
		},
		{
			"Id": "eat000000000002",
			"Type": "share",
			"Created": "2025-03-11 16:45:00",
			"Content": "Thanks for reaching out!"
		}
	]
}

Assign Conversation

Assign an inbox item to a user. Optionally include a note that will also be added to the item's timeline.

Parameters

ParameterTypeRequiredDescription
assignee_idStringYesThe user ID to assign the conversation to.
noteStringNoAn optional note (max 10,000 characters) to attach with the assignment.

Example Request

curl -i https://api.oktopost.com/v2/conversation/eit000000000001/assign -X POST \
	-d assignee_id="00A000000000002" \
	-d note="Please handle this VIP customer"

Example Result

{
	"Result": true,
	"Assignment": {
		"ItemId": "eit000000000001",
		"AssigneeId": "00A000000000002"
	}
}

Add Note

Add an internal note to an inbox item's timeline.

Parameters

ParameterTypeRequiredDescription
noteStringYesThe note text (max 10,000 characters).

Example Request

curl -i https://api.oktopost.com/v2/conversation/eit000000000001/note -X POST \
	-d note="Escalated to engineering team"

Example Result

{
	"Result": true,
	"Note": {
		"Id": "eat000000000003",
		"Type": "note",
		"Created": "2025-03-12 10:30:00",
		"Content": "Escalated to engineering team",
		"CreatedBy": "00A000000000001"
	}
}

Update Tags

Replace the tags assigned to an inbox item. Pass the full list of tag names; any previously assigned tags not in the list will be removed.

Parameters

ParameterTypeRequiredDescription
tagsArrayYesArray of conversation tag names to assign.

Example Request

curl -i https://api.oktopost.com/v2/conversation/eit000000000001/tag -X POST \
	-d tags[]="Support" \
	-d tags[]="VIP"

Example Result

{
	"Result": true,
	"Tags": [
		{
			"Id": "etg000000000001",
			"Name": "Support"
		},
		{
			"Id": "etg000000000002",
			"Name": "VIP"
		}
	]
}

Reply

Send a reply or comment on an inbox item. For direct messages (Conversation type), this sends a DM reply. For public items (Post, Mention, Reply types), this adds a comment. The item must be in open status.

Parameters

ParameterTypeRequiredDescription
messageStringYesThe reply text (max 10,000 characters).
credential_idStringNoThe credential ID to send the reply from. If omitted, the item's default credential is used.
parent_comment_idStringNoFor public items: the ID of a parent comment to reply to (threading). Supported on Facebook, LinkedIn, Instagram, TikTok, and YouTube. Ignored for direct messages.
mediaArrayNoArray of media objects to attach. Supported on Facebook, X (Twitter), LinkedIn, and TikTok. Ignored on networks that don't support media attachments.

Example Request — DM Reply

curl -i https://api.oktopost.com/v2/conversation/eit000000000001/reply -X POST \
	-d message="Thanks for reaching out! We'll look into this right away."

Example Request — Public Comment with Threading

curl -i https://api.oktopost.com/v2/conversation/eit000000000002/reply -X POST \
	-d message="Thanks for the feedback!" \
	-d parent_comment_id="eit000000000003"

Example Result

{
	"Result": true
}

For direct messages (Conversation type), replies are supported on Facebook, X (Twitter), and LinkedIn. For public items (Post, Mention, Reply types), comments are supported on Facebook, X (Twitter), LinkedIn, Instagram, TikTok, and YouTube. Attempting to reply on an unsupported network will return a 400 error.

Create Salesforce Case

Create or update a Salesforce case linked to an inbox item. Requires an active Salesforce integration.

Parameters

ParameterTypeRequiredDescription
integration_idStringYesThe Salesforce case integration ID.
case_ownerStringNoThe Salesforce case owner.
contact_idStringNoThe Salesforce contact ID to associate with the case.
case_descriptionStringNoA description for the Salesforce case (max 10,000 characters).

Example Request

curl -i https://api.oktopost.com/v2/conversation/eit000000000001/create-case -X POST \
	-d integration_id="sfint00000000001" \
	-d case_owner="005000000000001" \
	-d contact_id="003000000000001" \
	-d case_description="Customer reported an issue with login"

Example Result

{
	"Result": true
}

This endpoint requires a Salesforce integration to be enabled. If no integration is active, the request will return a 400 error.