Integration

Chat33 integration

Chat33 schedules and publishes posts to Instagram, Facebook, TikTok, YouTube, X, LinkedIn, Bluesky and Threads through each network's official API, and automates Instagram and Facebook DMs. Create, validate, schedule, duplicate and cancel posts, read their analytics, logs and live platform comments and reply to them, send posts for client approval, read and answer DM conversations (personal data), manage DM-automation flows and the message webhook, and connect your own users' social accounts through hosted OAuth links (billed per connected account). Not exposed: API key management, the approval decision (a person's act), the presigned direct-upload routes and DM photo or video attachments (both need a raw upload of the file bytes), and flow step settings (flow reads return each step's id, type and position only, since a webhook or HTTP step may hold your receiver's credentials). Authentication is an API key from Settings, API Keys, sent in the x-api-key header; the inbox, comments and connect scopes must be ticked when the key is created.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in Chat33.Built from the 54 Chat33 tools below, on the connection you add once.

What you can do with Chat33

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Each badge shows the default agent permission of an endpoint (allowed: an agent calls it without asking; ask first: you are asked before an agent calls it, when the agent or chat asks permission for sensitive actions; never: no agent may call it), which every user can change endpoint by endpoint in their credential settings.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Flow, 7 operations

  • check_flowCheck flowPOSTAgents: ask firstChecks unsaved flow steps against the go-live rules and the keywords other live flows use, without saving: canGoLive, the refusal a save as ACTIVE would get, and every problem with its step.
  • create_flowCreate flowPOSTAgents: ask firstCreates a DM-automation flow from a graph of nodes and edges (DRAFT until set ACTIVE with update_flow; an active flow sends DMs and replies to real people). Check the graph first with check_flow.
  • create_flow_from_templateCreate flow from templatePOSTAgents: ask firstCreates a new DRAFT DM-automation flow (with its triggers) from a template; it sends nothing until set ACTIVE with update_flow. Counts toward the plan's flow limit.
  • delete_flowDelete flowDELETEAgents: ask firstPermanently deletes a DM-automation flow with its triggers and version history; it stops answering DMs and comments.
  • get_flowGet flowGETAgents: ask firstReturns one DM-automation flow: status, triggers, updatedAt (pass it to update_flow as x-flow-updated-at), steps (id, type, position), channelId and campaignLock (set while a running campaign owns it).
  • list_flowsList flowsGETAgents: ask firstLists the workspace's DM-automation flows, newest updated first, with status, triggers (type, keyword, account) and all-time stats (runs, emails collected). Steps come with id, type and position only.
  • update_flowUpdate flowPATCHAgents: ask firstRenames a DM-automation flow or changes its status: ACTIVE turns it on (it then sends DMs and replies to real people), PAUSED or DRAFT stops it, ARCHIVED shelves it. Leave a field out to keep it.

Post, 7 operations

  • create_postCreate postPOSTAgents: ask firstPublishes publicly: creates one post per account (max 10). status QUEUED posts at scheduledAt, or within about a minute when no time is given; DRAFT saves without posting. Run validate_post first.
  • delete_postDelete postDELETEAgents: ask firstDeletes a DRAFT post, or cancels a QUEUED, PUBLISHED or FAILED one (status CANCELLED). deleteRemote true also deletes a published post on the network where supported. Refused (409) while publishing.
  • duplicate_postDuplicate postPOSTAgents: ask firstCopies a post to the same or other accounts, as a DRAFT by default. status QUEUED queues the copies to publish publicly at scheduledAt (or about a minute from now). Returns the new posts.
  • get_postGet postGETAgents: ask firstReturns one post: status, text, media, schedule, publish time, link on the network, error message, retry count and approval state.
  • list_postsList postsGETAgents: ask firstLists the workspace's posts (paged), filterable by status, network or account: text, media, schedule, published link, error and approval state.
  • update_postUpdate postPATCHAgents: ask firstEdits a DRAFT or QUEUED post: caption, media, options, time or status. status QUEUED makes a draft publish publicly at scheduledAt; CANCELLED cancels it. Leave a field out to keep it.
  • validate_postValidate postPOSTAgents: ask firstDry run of create_post: checks media format and count, caption length, accounts and, with scheduledAt, the time, daily caps and Facebook window. Creates and posts nothing. Returns valid with errors or warnings.

Profile, 5 operations

  • create_profileCreate profilePOSTAgents: ask firstCreates a profile for one of your end users, to connect their social accounts with create_connect_link. Idempotent on externalId: an existing externalId returns that profile instead of a duplicate.
  • delete_profileDelete profileDELETEAgents: ask firstDeletes a profile and disconnects every social account it owns (tokens cleared, slots freed). Any outstanding connection charge stays payable.
  • get_profileGet profileGETAgents: ask firstReturns one profile and every account connected under it, whatever its status (active, paused or token_expired), with paid-through dates.
  • list_profilesList profilesGETAgents: ask firstLists your profiles (one per end user you connect social accounts for), newest first, with each one's count of active connected accounts. Needs the connect:write scope.
  • update_profileUpdate profilePATCHAgents: ask firstRenames a profile or changes its externalId. Send at least one of the two; a field left out is kept.

Webhook, 4 operations

  • delete_message_webhookDelete message webhookDELETEAgents: ask firstRemoves the message webhook: deliveries stop at once and its signing secret is discarded.
  • get_message_webhookGet message webhookGETAgents: ask firstReturns the workspace's message webhook (address, enabled, channels, events, last delivery; null when none) and the channels it can be limited to. Needs both inbox scopes. The signing secret is withheld.
  • set_message_webhookSet message webhookPUTAgents: ask firstSets the https address that receives message.received for every DM (and lead.captured when chosen). It must answer 2xx within 10 seconds; no redirects. The signing secret is withheld from the answer.
  • test_message_webhookTest message webhookPOSTAgents: ask firstSends a sample event (test true) to the saved webhook address and returns how it answered: message.received by default, or a made-up lead with event lead.captured.

Comment, 3 operations

  • hide_post_commentHide post commentPOSTAgents: ask firstHides (hidden true) or unhides (hidden false) a reply on a published Threads post; a hidden reply stays on Threads but is collapsed for viewers. Threads posts only. Needs comments:write.
  • list_post_commentsList post commentsGETAgents: ask firstReads the comments and replies on a published Instagram, Facebook or Threads post live from the network (personal data: commenter names and ids). Page with after set to nextCursor. Needs comments:read.
  • reply_to_post_commentReply to post commentPOSTAgents: ask firstReplies to a comment on a published post: mode public posts a visible reply under it, mode private sends the commenter one DM (Meta: one per comment, within 7 days). Threads: public only.

Conversation, 3 operations

  • get_conversationGet conversationGETAgents: ask firstReturns one DM conversation (personal data) with its inbox state, contact, last message, reply window and active flow, plus origin: the comment the chat started from. Marks nothing read. Needs inbox:read.
  • list_conversationsList conversationsGETAgents: ask firstLists Instagram, Facebook Messenger and WhatsApp DM conversations (personal data: contact names, usernames, last message), newest activity first. Page with cursor set to nextCursor. Needs the inbox:read scope.
  • mark_conversation_readMark conversation readPOSTAgents: ask firstMarks every inbound message of a DM conversation as read, clearing its unread count. Returns how many messages were marked. Needs the inbox:write scope.

Account, 2 operations

  • disconnect_accountDisconnect accountDELETEAgents: ask firstDisconnects a social account from Chat33: its stored tokens are dropped and it stops publishing (its post history stays). Reconnecting needs the account owner's consent again. Frees its connection slot.
  • list_accountsList accountsGETAgents: ask firstLists the social accounts (channels) connected to the workspace, with platform, name, username and status. Use their id as accountIds in create_post. Pass profileId or source=api for accounts connected for your end users.

Approval, 2 operations

  • list_approvalsList approvalsGETAgents: ask firstLists the workspace's posts sent for client approval, newest request first, with their approval state, steps, schedule and outcome. Answers 409 APPROVALS_OFF when approvals are off for the workspace.
  • request_approvalRequest approvalPOSTAgents: ask firstSends posts to the workspace's approvers as one request (at most 50, all or nothing). The approvers are emailed; the posts wait as drafts and are scheduled only once a person approves them.

Media, 2 operations

  • upload_media_fileUpload media filePOSTAgents: ask firstUploads an image or video file from an earlier step (4.5 MB at most) to Chat33 storage and returns its stored url to pass in create_post mediaUrls. For larger files use upload_media_from_url.
  • upload_media_from_urlUpload media from urlPOSTAgents: ask firstCopies a file from a public URL into Chat33 storage (any size) and returns its stored url to pass in create_post mediaUrls. Any public URL can also go straight into mediaUrls.

Connect link, 1 operation

  • create_connect_linkCreate connect linkPOSTAgents: ask firstCreates a single-use link (valid 15 minutes) that sends one of your end users to the network's own OAuth consent to connect their account to a profile. Costs $1 of credit per account that ends up connected.

Connection billing, 1 operation

  • get_connection_billingGet connection billingGETAgents: ask firstReturns the connect API billing summary: credit balance, amount outstanding on unpaid connection slots, amount available, free pre-bought slots, and the last 50 connection slots (paid or not).

Connection slot, 1 operation

  • buy_connection_slotsBuy connection slotsPOSTAgents: ask firstSpends credits: buys count connection slots ahead of connecting accounts, each $1 for 30 days, paid at once from the credit balance. Stops at the first slot the balance cannot cover (never creates debt).

Conversation automation, 1 operation

  • set_conversation_automationSet conversation automationPOSTAgents: ask firstSwitches one DM-automation flow off (paused true) or back on (paused false, so it can DM this person again) for this conversation's contact: flowId, else the conversation's active flow. Other flows keep running.

Direct message, 1 operation

  • reply_to_conversationReply to conversationPOSTAgents: ask firstSends a real DM from the connected account to the conversation's contact (text only here). Instagram and Facebook accept it only within 24 hours of the contact's last message. Do not retry a 409 delivery_unknown.

Flow features, 1 operation

  • get_flow_featuresGet flow featuresGETAgents: ask firstReturns which flow features this workspace may use (step editor, follow check, Threads, answering earlier comments, X reply trigger, collect email). Read it before building a flow.

Flow follow stats, 1 operation

  • get_flow_follow_statsGet flow follow statsGETAgents: ask firstReturns the counts of one follow-check step of a flow: people asked, people who tapped I followed, and how many follow or do not follow by their latest answer.

Flow stats, 1 operation

  • get_flow_statsGet flow statsGETAgents: ask firstReturns the all-time numbers of one flow: runs started, messages sent, link clicks, emails collected, and emails per Collect email step.

Flow template, 1 operation

  • list_flow_templatesList flow templatesGETAgents: ask firstLists the templates a new DM-automation flow can start from: Chat33's global templates, then the workspace's own, with each step's id, type and position. Use an id with create_flow_from_template.

Keyword conflict, 1 operation

  • list_keyword_conflictsList keyword conflictsGETAgents: ask firstLists other flows (live or draft) whose active trigger of the same type listens for the same keyword (case-insensitive). Going live is refused only for a keyword a live flow uses in the same place.

Message, 1 operation

  • list_conversation_messagesList conversation messagesGETAgents: ask firstReturns the messages of one DM conversation (personal data), oldest to newest, with attachments, buttons and the flow that sent each automated one. Page backward with before. Marks nothing read. Needs inbox:read.

Message media, 1 operation

  • get_message_mediaGet message mediaGETAgents: ask firstReturns a fresh link (url) to one photo, video or voice note of a DM message (personal data). The link is short-lived; call again for a new one. Answers 404 when the network no longer has the file.

Platform post, 1 operation

  • list_platform_postsList platform postsGETAgents: ask firstLists an account's own recent posts live from the network (id, caption, media, permalink), to pick posts a comment trigger watches. Instagram, Facebook, Threads: 25 per page with nextCursor; X: the 20 most recent.

Post analytics, 1 operation

  • get_post_analyticsGet post analyticsGETAgents: ask firstAggregates engagement (views, likes, comments, shares) across the workspace's published posts: totals, a per-network breakdown and the top posts by views. Scans at most 2,000 posts.

Post log, 1 operation

  • list_post_logsList post logsGETAgents: ask firstReturns the publish events of one post (attempts, successes, failures) with their type, details and time, to see why a post failed.

Post note, 1 operation

  • add_post_noteAdd post notePOSTAgents: ask firstAdds a note to a post's approval thread, shown as from this API key. Internal (team only) by default; internal false makes it a comment the client sees and may be emailed about.

Post summary, 1 operation

  • get_posts_summaryGet posts summaryGETAgents: ask firstFor each of your externalRef values (1 to 20), returns its comment-to-DM flow, DMs sent, link clicks and the per-network posts with their status, link and latest comments, likes and views.

Post thread, 1 operation

  • get_post_threadGet post threadGETAgents: ask firstReturns the team and client thread of a post, oldest first: comments, internal notes, approval history and outcome. Answers 409 APPROVALS_OFF when approvals are off for the workspace.

Workspace, 1 operation

  • get_meGet meGETAgents: ask firstReturns the workspace this API key acts in (organization, plan, workspace), the key's granted scopes and the count of connected accounts per network. Use it first to check the connection and scopes.

Use Chat33 from Claude Code, Cursor or Codex

Connect Chat33 in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Chat33 operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect Chat33

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect Chat33 once

    Add your Chat33 connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

Chat33 integration FAQ

What can you do with the Chat33 integration?

LiveContext exposes 54 operations on Chat33, covering flow, post, profile and webhook.

Popular integrations

Browse the whole catalog