Front Shared Inbox
Lets an agent work a Front shared inbox: list and search conversations, read messages and internal comments, look up contacts, and reply, comment, assign, tag or archive conversations. Curated from Front's official OpenAPI specification.
Connect this API to an AI agent Browse all specs
What you can do with Front Shared Inbox via MCP
Every endpoint below becomes a governed tool your AI agent (Claude, ChatGPT, or a customer-facing VX agent) can call — with scoped permissions, sandbox testing, and audit logs.
| Method | Path | Operation | Description |
|---|---|---|---|
| GET | /conversations |
listConversations | List recent conversations across the inboxes the token can see |
| GET | /conversations/search/{query} |
searchConversations | Search conversations with Front search syntax (text, inbox:, tag:, is:open) |
| GET | /conversations/{conversation_id} |
getConversation | Get one conversation with its status, assignee, tags and recipient |
| PATCH | /conversations/{conversation_id} |
updateConversation | Update a conversation's status (archive, reopen), inbox or tags |
| GET | /conversations/{conversation_id}/messages |
listConversationMessages | List the email/chat messages in a conversation |
| POST | /conversations/{conversation_id}/messages |
replyToConversation | Send a reply to the customer in a conversation |
| GET | /messages/{message_id} |
getMessage | Get one message with its full body and attachments list |
| GET | /conversations/{conversation_id}/comments |
listConversationComments | List internal teammate comments on a conversation |
| POST | /conversations/{conversation_id}/comments |
addComment | Add an internal comment visible only to teammates |
| GET | /inboxes |
listInboxes | List the inboxes in the company |
| GET | /inboxes/{inbox_id}/conversations |
listInboxConversations | List conversations in one inbox |
| GET | /teammates |
listTeammates | List teammates (to find who to assign) |
| GET | /tags |
listTags | List the tags available for conversations |
| GET | /contacts |
listContacts | List or filter contacts |
| GET | /contacts/{contact_id} |
getContact | Get a contact (use alt:email:[email protected] as the id to look up by email) |
| GET | /contacts/{contact_id}/conversations |
listContactConversations | List a contact's conversation history |
| POST | /conversations/{conversation_id}/drafts |
createDraftReply | Save a draft reply for a teammate to review and send |
| PUT | /conversations/{conversation_id}/assignee |
assignConversation | Assign or unassign a conversation to a teammate |
| POST | /conversations/{conversation_id}/tags |
tagConversation | Add tags to a conversation |
Authentication
bearerAuth
Bearer token — sent as Authorization: Bearer <token>
Front API token sent as Authorization: Bearer <token>.
How to get a credential
- Sign in to Front as a company admin.
- Open Settings > Developers > API tokens (company settings).
- Click Create API token, give it a name (for example
VX Agents). - Choose the workspaces it can access (shared team workspaces and/or private resources).
- Choose permissions: Read for lookups; add Write to comment, assign, tag or archive; add Send to reply to customers.
- Copy the token (it is shown once).
Permissions used
| Permission | Operations |
|---|---|
| Read | listConversations, searchConversations, getConversation, listConversationMessages, getMessage, listConversationComments, listInboxes, listInboxConversations, listTeammates, listTags, listContacts, getContact, listContactConversations |
| Write | addComment, createDraftReply, assignConversation, tagConversation, updateConversation |
| Send | replyToConversation |
Common errors
- 401 Unauthorized: token missing, mistyped or revoked. Create a new token and update the credential.
- 403 Forbidden: the token lacks the permission (Write/Send) or the workspace that owns the conversation/inbox. Edit the token's scopes in Settings > Developers.
- 400 Bad Request: invalid body or id (Front ids are prefixed, e.g.
cnv_,msg_,tea_,inb_,tag_). Check the id came from a list/search call. - 429 Too Many Requests: rate limit hit (depends on plan). Wait for the
Retry-Afterseconds and retry.
Store the token as a VX Agents credential (Bearer token) for this spec; never paste it into chat.
Usage guide
Setup
- Add a Front API token as the Bearer credential (Settings > Developers > API tokens). Read is enough for triage; Write is needed to comment, assign, tag or archive; Send is needed to reply to customers.
- Worth pinning: the
inbox_id(inb_...) of the support inbox the agent should work, fromlistInboxes.
Triage a shared inbox
listInboxesto find the inbox, thenlistInboxConversations(orsearchConversationswith a query such asinbox:inb_123 is:open) to get open conversations.getConversationfor status, assignee and tags;listConversationMessagesfor the thread,getMessagefor one message's full body.listConversationCommentsto read internal notes before acting.- Look up the customer:
getContactwithalt:email:<address>as the id, thenlistContactConversationsfor history. - Act:
addCommentfor an internal note (teammates only).createDraftReplyto propose a reply a human can review.replyToConversationto send a reply to the customer.listTeammatesthenassignConversationwithassignee_id(tea_...).listTagsthentagConversationwithtag_ids.updateConversationwithstatus: archivedto close,opento reopen.
Confirm before writing: show the user the exact reply text and recipient before replyToConversation, and confirm before assigning, tagging or archiving. Prefer createDraftReply when unsure.
Good to know
- Ids carry prefixes:
cnv_conversation,msg_message,inb_inbox,tea_teammate,tag_tag,crd_contact. Teammates can also be referenced asalt:email:<email>. - Search syntax: free text plus filters like
inbox:,tag:,is:open,is:archived,from:,before:/after:(Unix seconds). URL-encode the query path segment. - Lists are paginated: pass
limit(max 100) and follow_pagination.nextviapage_token. - Timestamps are Unix seconds (decimals allowed).
- 429 means rate limited: wait
Retry-Afterseconds.
How to use this spec
- Create a free VX Agents account (sandbox tools included).
- Open the marketplace and connect “Front Shared Inbox” to an agent.
- Expose it as an MCP server for Claude/ChatGPT, or chat with it directly.