ContentStudio integration
ContentStudio is a social media management platform. Create, schedule, update and delete posts that ContentStudio publishes to the user's connected Facebook, Instagram, X, LinkedIn, Pinterest, YouTube, TikTok, Threads, Bluesky, Google Business Profile and other accounts, through each network's official integration and the user's own connection; manage campaigns, labels, content categories and their posting slots, the media library, approval workflows, client share links, RSS and evergreen automations, and read per-account analytics and generated reports. Left out: connecting or removing social accounts, the social inbox (DMs, comments, reviews), AI image, video and carousel generation, competitor, ads and other detailed analytics, report schedules, workspace creation and deletion, team member administration and bulk CSV uploads. Authentication is an API key (ContentStudio, Settings, API Keys) sent in the X-API-Key header.
Say what should happen.
The workflow builds itself.
What you can do with ContentStudio
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.
Post, 7 operations
add_evergreen_postsAdd evergreen postsPOSTAgents: ask firstAppends one or more posts to the automation's recycling pool in a single atomic write, so concurrent callers cannot overwrite each other, safe to drive from a webhook or a no-code step.create_postCreate postPOSTAgents: ask firstCreates a post for one or more connected social accounts: text, media, per-network overrides and scheduling. Publishes publicly to those networks unless scheduling.publish_type is draft.delete_postDelete postDELETEAgents: ask firstDeletes a post from ContentStudio. With delete_from_social true it first tries to delete the published post from the social networks too (all published accounts, or account_ids). Irreversible.get_postGet postGETAgents: ask firstReturns one post: content, per-network overrides, accounts with their posting status, links and errors, scheduling, labels, campaign, network options and approval state (external reviewers' names and emails included).list_postsList postsGETAgents: ask firstLists the workspace's posts with their content, accounts and per-account publishing status, scheduling, labels, campaign and approval state. Filter by status[], dates, labels[], campaigns[], categories, creators or approvers.list_rss_automation_postsList rss automation postsGETAgents: ask firstThe posts this automation produced. `status=published` is what it has already published; `status=queued` is what it will publish next, in execution order.update_postUpdate postPUTAgents: ask firstReplaces an unpublished post's content, accounts, scheduling and options (send the whole post: it is a full replace; read it first with get_post). Published posts cannot be edited. A scheduled post still publishes publicly.
Approval workflow, 5 operations
create_approval_workflowCreate approval workflowPOSTAgents: ask firstCreate a multi-level approval workflow with up to 5 levels. Every member referenced in `levels[].members[]` must belong to the workspace team. A workflow with any level that has no members is stored as a draft and cannot be set as default.delete_approval_workflowDelete approval workflowDELETEAgents: ask firstDelete an approval workflow.get_approval_workflowGet approval workflowGETAgents: ask firstRetrieve one approval workflow, including drafts, plus its runtime in-flight metrics.list_approval_workflowsList approval workflowsGETAgents: ask firstRetrieve the workspace's published (non-draft) multi-level approval workflows. Use the returned `id` as `approval_workflow.workflow_id` when creating or updating a post. Requires the `manage_workflow` permission.update_approval_workflowUpdate approval workflowPUTAgents: ask firstPartially update an approval workflow, fields that are not provided keep their current values. The definition is always saved.
Content category, 5 operations
create_content_categoryCreate content categoryPOSTAgents: ask firstCreate a new content category in the specified workspace.delete_content_categoryDelete content categoryDELETEAgents: ask firstPermanently delete a content category. Its weekly posting slots and per-member access entries are removed with it. Posts already scheduled against the category are NOT deleted and keep their `content_category_id`.get_content_categoryGet content categoryGETAgents: ask firstRetrieve one content category with its resolved social accounts AND its full weekly posting schedule, so a caller does not need a second request to understand when the category publishes.list_content_categoriesList content categoriesGETAgents: ask firstRetrieve list of content categories for a specific workspace with resolved social account information. Global categories are excluded.update_content_categoryUpdate content categoryPUTAgents: ask firstPartially update a content category. Fields that are not provided keep their current values. Providing `accounts` REPLACES the category's entire account list across every platform; omit it to leave the existing accounts untouched.
Share link, 5 operations
create_share_linkCreate share linkPOSTAgents: ask firstCreates a public link showing a set of posts (scope selection, with plans or notes ids) or a calendar window (future or all) to clients, optionally letting them comment or approve. Anyone with the URL can open it.delete_share_linkDelete share linkDELETEAgents: ask firstPermanently delete a link; the public URL stops resolving immediately. There is no force flag, but the response reports how many external approvers still had un-actioned invitations, so a scripted cleanup can see that it cut them off mid-review.get_share_linkGet share linkGETAgents: ask firstRetrieve one share link. Neither the link password nor its external-approval tokens are ever returned; `outstanding_invitations_count` is the safe projection of the token map.list_share_linksList share linksGETAgents: ask firstRetrieve the workspace's planner share links, newest first. Neither the link password nor its external-approval tokens are ever returned.update_share_linkUpdate share linkPUTAgents: ask firstChanges a share link; fields left out keep their value. is_disabled disables it without deleting; turning approval_flow off revokes every outstanding invitation. Password protection is managed in the ContentStudio app.
Campaign, 4 operations
create_campaignCreate campaignPOSTAgents: ask firstCreate a new campaign (folder) in the specified workspace. Color must be one of color_1..color_20.delete_campaignDelete campaignDELETEAgents: ask firstPermanently delete a campaign (folder) from the workspace. Posts assigned to it are detached.list_campaignsList campaignsGETAgents: ask firstRetrieve paginated list of campaigns (folders) for a specific workspace, sorted alphabetically by name.update_campaignUpdate campaignPUTAgents: ask firstUpdate a campaign's name and/or color. Partial updates allowed, only the fields provided are changed.
Folder, 4 operations
create_media_folderCreate media folderPOSTAgents: ask firstCreates a folder in the workspace content library. Omit parent_folder_id to create a top-level folder, or supply it to create a subfolder. Folder names must be unique within their level.delete_media_folderDelete media folderDELETEAgents: ask firstIrreversible and cascading. Deleting a folder also permanently deletes every subfolder beneath it and every media file inside them, from both the library and cloud storage.list_media_foldersList media foldersGETAgents: ask firstReturns every media-library folder in the workspace. Folders the caller cannot access (shared/global folders without the access_shared_folder permission) are omitted. An empty library returns an empty array, not an error.rename_media_folderRename media folderPUTAgents: ask firstRenames a media-library folder. The Brand Assets system folder and shared/global folders cannot be renamed without the access_shared_folder permission.
Label, 4 operations
create_labelCreate labelPOSTAgents: ask firstCreate a new label in the specified workspace. Color must be one of color_1..color_20.delete_labelDelete labelDELETEAgents: ask firstPermanently delete a label from the workspace.list_labelsList labelsGETAgents: ask firstRetrieve paginated list of labels for a specific workspace, sorted alphabetically by name.update_labelUpdate labelPUTAgents: ask firstUpdate a label's name and/or color. Partial updates allowed, only the fields provided are changed.
Rss, 4 operations
delete_rss_automationDelete rss automationDELETEAgents: ask firstPermanently deletes the automation AND the posts it has scheduled. Irreversible: automations have no archive or restore. To only stop publishing, pause it with set_rss_automation_status (status false) instead.get_rss_automationGet rss automationGETAgents: ask firstGet an RSS automationlist_rss_automationsList rss automationsGETAgents: ask firstPaginated list of the workspace's RSS automations.update_rss_automationUpdate rss automationPUTAgents: ask firstChanges an existing automation's feed or settings. Fields you omit keep their current values, with one exception: `account_selection` is always required.
Slot, 4 operations
create_content_category_slotCreate content category slotPOSTAgents: ask firstCreate one weekly posting slot. Times are 12-hour: pass `hour` 0-12 with an AM/PM `period`, 12 is normalised to 0, so hour 12 with period AM is midnight and hour 12 with period PM is noon.delete_content_category_slotDelete content category slotDELETEAgents: ask firstRemove one weekly posting slot from a category. The skip markers this slot recorded are purged with it, so nothing lingers on the category; markers belonging to other slots are left alone.list_content_category_slotsList content category slotsGETAgents: ask firstRetrieve every weekly posting slot on a content category, ordered by period then hour. Times are 12-hour: `hour` 0-11 plus an AM/PM `period`. `weekday_sorting` is the day's index with Sunday as 0.update_content_category_slotUpdate content category slotPUTAgents: ask firstPartially update a slot, anything you omit keeps its current value. A slot cannot be moved to a different category here; delete it and create it on the target category instead.
Evergreen, 3 operations
delete_evergreen_automationDelete evergreen automationDELETEAgents: ask firstPermanently deletes the automation AND the posts it has scheduled. Irreversible: automations have no archive or restore. To only stop publishing, pause it with set_evergreen_automation_status (status false) instead.get_evergreen_automationGet evergreen automationGETAgents: ask firstGet an evergreen automationlist_evergreen_automationsList evergreen automationsGETAgents: ask firstList evergreen automations
Media, 3 operations
delete_mediaDelete mediaDELETEAgents: ask firstIrreversible. Permanently deletes the media file from the library and from cloud storage.list_mediaList mediaGETAgents: ask firstRetrieve a paginated list of media assets for a workspace with filtering, search, and sort options.upload_mediaUpload mediaPOSTAgents: ask firstUpload a media file or import from URL into the workspace content library. Provide either a file or a URL, not both.
Analytics report, 2 operations
get_analytics_reportGet analytics reportGETAgents: ask firstThis is the polling endpoint. Read it until `status` is `completed` and `export_url` is populated, or `failed`. A caller that would rather be told than ask should pass callback_url when generating.list_analytics_reportsList analytics reportsGETAgents: ask firstLists the workspace's generated analytics reports with name, type, status, progress and export_url (the file link once completed).
Bluesky post analytics, 2 operations
get_bluesky_post_analyticsGet bluesky post analyticsGETAgents: ask firstReturns the analytics of one Bluesky post of a connected account by its post_id (the network's own post id, from the analytics post lists or list_posts).list_bluesky_analytics_postsList bluesky analytics postsGETAgents: ask firstLists Bluesky posts of one connected account published in a date range, with their metrics, ranked by order_by; page with limit and offset. Analytics of the user's own account.
Brand asset, 2 operations
flag_media_as_brand_assetFlag media as brand assetPOSTAgents: ask firstMarks a media item as a brand asset so it feeds AI generation for the workspace's brand profile, exactly as flagging it from the Brand Knowledge tab does. This moves the file and hides it from the default listing.unflag_media_as_brand_assetUnflag media as brand assetDELETEAgents: ask firstClears the brand asset flag so the item no longer feeds AI generation. The media file itself is not deleted. This moves the file.
Facebook post analytics, 2 operations
get_facebook_post_analyticsGet facebook post analyticsGETAgents: ask firstReturns the analytics of one Facebook post of a connected account by its post_id (the network's own post id, from the analytics post lists or list_posts).list_facebook_analytics_postsList facebook analytics postsGETAgents: ask firstLists Facebook posts of one connected account published in a date range, with their metrics, ranked by order_by; page with limit and offset. Analytics of the user's own account.
Gmb post analytics, 2 operations
get_google_business_post_analyticsGet google business post analyticsGETAgents: ask firstReturns the analytics of one Google Business Profile post of a connected account by its post_id (the network's own post id, from the analytics post lists or list_posts).list_google_business_analytics_postsList google business analytics postsGETAgents: ask firstLists Google Business Profile posts of one connected account published in a date range, with their metrics, ranked by order_by; page with limit and offset. Analytics of the user's own account.
Instagram post analytics, 2 operations
get_instagram_post_analyticsGet instagram post analyticsGETAgents: ask firstReturns the analytics of one Instagram post of a connected account by its post_id (the network's own post id, from the analytics post lists or list_posts).list_instagram_analytics_postsList instagram analytics postsGETAgents: ask firstLists Instagram posts of one connected account published in a date range, with their metrics, ranked by order_by; page with limit and offset. Analytics of the user's own account.
Linkedin post analytics, 2 operations
get_linkedin_post_analyticsGet linkedin post analyticsGETAgents: ask firstReturns the analytics of one LinkedIn post of a connected account by its post_id (the network's own post id, from the analytics post lists or list_posts).list_linkedin_analytics_postsList linkedin analytics postsGETAgents: ask firstLists LinkedIn posts of one connected account published in a date range, with their metrics, ranked by order_by; page with limit and offset. Analytics of the user's own account.
Pinterest post analytics, 2 operations
get_pinterest_post_analyticsGet pinterest post analyticsGETAgents: ask firstReturns the analytics of one Pinterest post of a connected account by its post_id (the network's own post id, from the analytics post lists or list_posts).list_pinterest_analytics_postsList pinterest analytics postsGETAgents: ask firstLists Pinterest posts of one connected account published in a date range, with their metrics, ranked by order_by; page with limit and offset. Analytics of the user's own account.
Post comment, 2 operations
add_post_commentAdd post commentPOSTAgents: ask firstAdds a comment or an internal note to a post inside ContentStudio (not on the social network). mentioned_users notifies those team members.list_post_commentsList post commentsGETAgents: ask firstLists the comments and internal notes team members left on a post inside ContentStudio, with author, mentions and dates. Not the comments people left on the social network.
Report, 2 operations
delete_analytics_reportDelete analytics reportDELETEAgents: ask firstDeletes a generated analytics report (report_id from list_analytics_reports or generate_analytics_report). Irreversible.generate_analytics_reportGenerate analytics reportPOSTAgents: ask firstQueues a report and returns its id immediately - the file is NOT ready when this call returns. Either read the report until status is completed, or pass callback_url to be POSTed once when it finishes.
Rss automation, 2 operations
create_rss_automationCreate rss automationPOSTAgents: ask firstCreates an RSS automation that turns new feed items into posts on the selected accounts: published immediately, queued, or filed into a content category (posting_type). Published posts are public on those networks.pull_rss_automation_nowPull rss automation nowPOSTAgents: ask firstRuns the RSS automation's feed pull now instead of waiting for its pull_frequency (backfills the feed). Runs in the background (202); new items become posts that may publish publicly. Rate limited.
Status, 2 operations
set_evergreen_automation_statusSet evergreen automation statusPATCHAgents: ask firstSets whether the automation is active. Reversible and safe to repeat. An automation mid-run is locked and returns 409 AUTOMATION_LOCKED rather than silently doing nothing.set_rss_automation_statusSet rss automation statusPATCHAgents: ask firstSets whether the automation is active. Reversible and safe to repeat. An automation that is mid-run is locked and cannot change status until its job finishes, that returns 409 AUTOMATION_LOCKED rather than silently doing nothing.
Threads post analytics, 2 operations
get_threads_post_analyticsGet threads post analyticsGETAgents: ask firstReturns the analytics of one Threads post of a connected account by its post_id (the network's own post id, from the analytics post lists or list_posts).list_threads_analytics_postsList threads analytics postsGETAgents: ask firstLists Threads posts of one connected account published in a date range, with their metrics, ranked by order_by; page with limit and offset. Analytics of the user's own account.
Tiktok post analytics, 2 operations
get_tiktok_post_analyticsGet tiktok post analyticsGETAgents: ask firstReturns the analytics of one TikTok post of a connected account by its post_id (the network's own post id, from the analytics post lists or list_posts).list_tiktok_analytics_postsList tiktok analytics postsGETAgents: ask firstLists TikTok posts of one connected account published in a date range, with their metrics, ranked by order_by; page with limit and offset. Analytics of the user's own account.
Twitter post analytics, 2 operations
get_twitter_post_analyticsGet twitter post analyticsGETAgents: ask firstReturns the analytics of one X (Twitter) post of a connected account by its post_id (the network's own post id, from the analytics post lists or list_posts).list_twitter_analytics_postsList twitter analytics postsGETAgents: ask firstLists X (Twitter) posts of one connected account published in a date range, with their metrics, ranked by order_by; page with limit and offset. Analytics of the user's own account.
Workspace posting, 2 operations
pause_workspace_postingPause workspace postingPOSTAgents: ask firstPauses publishing for the whole workspace: every pending post (scheduled, in review for a future slot, queued drafts) is held and automations are locked until resume_workspace_posting.resume_workspace_postingResume workspace postingPOSTAgents: ask firstResumes publishing for the workspace. time_type resume (default) restores held posts whose slot is still ahead (past ones stay drafts), recurring re-spreads them from now, custom leaves them all as drafts. Released posts publish publicly.
Youtube post analytics, 2 operations
get_youtube_post_analyticsGet youtube post analyticsGETAgents: ask firstReturns the analytics of one YouTube post of a connected account by its post_id (the network's own post id, from the analytics post lists or list_posts).list_youtube_analytics_postsList youtube analytics postsGETAgents: ask firstLists YouTube posts of one connected account published in a date range, with their metrics, ranked by order_by; page with limit and offset. Analytics of the user's own account.
Account, 1 operation
list_accountsList accountsGETAgents: ask firstRetrieve paginated list of social media accounts for a specific workspace with optional platform filtering
Activity, 1 operation
get_share_link_activityGet share link activityGETAgents: ask firstEvery comment and every approve/reject a recipient left through THIS link, newest first.
Archive, 1 operation
archive_mediaArchive mediaPOSTAgents: ask firstArchiving hides media from the default library listing without deleting it, the safe alternative to deletion for media attached to posts that have not published yet. Set archived=false to restore items to their original folder. Reversible.
Bluesky analytics summary, 1 operation
get_bluesky_analytics_summaryGet bluesky analytics summaryGETAgents: ask firstReturns Bluesky KPIs of one connected account for a date range (start_date, end_date): summary.current, previous, difference and percentage, each a map of metric name to value. Analytics of the user's own account.
Cascade job, 1 operation
get_approval_cascade_jobGet approval cascade jobGETAgents: ask firstPoll the progress of a cascade dispatched by an approval-workflow update (`confirmed=true`) or a force delete. Terminal states are `completed`, `partially_failed` (finished, with per-post problems listed in `failures`) and `failed`.
Duplicate, 1 operation
duplicate_approval_workflowDuplicate approval workflowPOSTAgents: ask firstCreate a copy of an approval workflow, named `<name> (Copy)`. The clone is never the default, even when the source is. It inherits the source's draft status, so duplicating a draft yields a draft.
Evergreen automation, 1 operation
create_evergreen_automationCreate evergreen automationPOSTAgents: ask firstCreates an evergreen automation that republishes a pool of posts publicly on the selected accounts on a repeating schedule. Counts against the workspace's automation limit (422 AUTOMATION_LIMIT_REACHED).
Facebook analytics summary, 1 operation
get_facebook_analytics_summaryGet facebook analytics summaryGETAgents: ask firstReturns Facebook KPIs of one connected account for a date range (start_date, end_date): summary.current, previous, difference and percentage, each a map of metric name to value. Analytics of the user's own account.
Gmb analytics summary, 1 operation
get_google_business_analytics_summaryGet google business analytics summaryGETAgents: ask firstReturns Google Business Profile KPIs of one connected account for a date range (start_date, end_date): summary.current, previous, difference and percentage, each a map of metric name to value. Analytics of the user's own account.
History, 1 operation
list_rss_automation_pullsList rss automation pullsGETAgents: ask firstWhat each feed pull did, how many new items it found and how many posts it created, or that it found nothing. This is the automation's own log; for the posts themselves use the `/posts` endpoint.
Instagram analytics summary, 1 operation
get_instagram_analytics_summaryGet instagram analytics summaryGETAgents: ask firstReturns Instagram KPIs of one connected account for a date range (start_date, end_date): summary.current, previous, difference and percentage, each a map of metric name to value. Analytics of the user's own account.
Limit, 1 operation
get_workspace_limitsGet workspace limitsGETAgents: ask firstRead every metered entitlement for a workspace with what has been used, what the plan allows, and whether it applies, the same figures the billing screen shows for the same workspace.
Linkedin analytics summary, 1 operation
get_linkedin_analytics_summaryGet linkedin analytics summaryGETAgents: ask firstReturns LinkedIn KPIs of one connected account for a date range (start_date, end_date): summary.current, previous, difference and percentage, each a map of metric name to value. Analytics of the user's own account.
Me, 1 operation
get_meGet meGETAgents: ask firstRetrieve information about the currently authenticated user. This is typically the first endpoint you'll call to verify your API key is working correctly.
Move, 1 operation
move_mediaMove mediaPOSTAgents: ask firstMoves media items (media_ids from list_media) into a folder (folder_id from list_media_folders). Moving an archived item also restores it from the archive. Reversible.
Next, 1 operation
get_content_category_next_slotGet content category next slotGETAgents: ask firstAnswer when a post queued into this category right now would publish. The time is returned in the workspace's own timezone, with that timezone named alongside it so a caller never has to guess.
Note, 1 operation
update_media_noteUpdate media notePUTAgents: ask firstWrites a free-text note on a media item, replacing any existing one; an empty string clears it.
Optimal time, 1 operation
get_optimal_posting_timesGet optimal posting timesPOSTAgents: ask firstAnalyse historical performance of the workspace's connected accounts and return the best times to publish, both pooled across accounts (`global`) and per account (`individual`).
Option, 1 operation
list_analytics_report_optionsList analytics report optionsGETAgents: ask firstThe report types available and the sections each one can contain. Read this before generating rather than guessing section names: an unknown section is dropped silently, so the report builds and the section the caller wanted is simply absent.
Pinterest analytics summary, 1 operation
get_pinterest_analytics_summaryGet pinterest analytics summaryGETAgents: ask firstReturns Pinterest KPIs of one connected account for a date range (start_date, end_date): summary.current, previous, difference and percentage, each a map of metric name to value. Analytics of the user's own account.
Post approval, 1 operation
approve_or_reject_postApprove or reject postPOSTAgents: ask firstApproves or rejects a post under review, with an optional comment. An approved post goes on to publish publicly as scheduled.
Remove default, 1 operation
remove_default_approval_workflowRemove default approval workflowPUTAgents: ask firstDemote the workspace default, leaving the workspace with no default workflow until another is promoted. Calling this on a workflow that is not the default is a successful no-op.
Retry, 1 operation
retry_analytics_reportRetry analytics reportPOSTAgents: ask firstQueues a failed report again (HTTP 202); read it with get_analytics_report until status is completed.
Set default, 1 operation
set_default_approval_workflowSet default approval workflowPUTAgents: ask firstPromote a workflow to the workspace default. The previous default is unset atomically as part of the same operation. Calling this on the workflow that is already the default is a successful no-op. Draft workflows cannot be made default.
Settings, 1 operation
get_workspace_settingsGet workspace settingsGETAgents: ask firstReturns every workspace-level setting the product exposes, plus the workspace's posting state and the number of scheduled posts currently held by a pause.
Share link invitation, 1 operation
send_share_link_invitationsSend share link invitationsPOSTAgents: ask firstTurns on external approval for a share link and emails an approval link to each address in approval_emails (real emails to those people). anyone clears on the first approval, everyone needs all.
Shuffle, 1 operation
shuffle_content_category_postsShuffle content category postsPOSTAgents: ask firstRandomly reassign the execution times already held by this category's upcoming posts among those same posts. The set of times is unchanged, only which post occupies which time moves, so the publishing cadence stays exactly as configured.
Social account, 1 operation
get_team_member_social_accountsGet team member social accountsGETAgents: ask firstList the social accounts a team member may use. `member_id` is the membership id (the `member_id` field from the team-members list endpoint).
Storage, 1 operation
get_media_storageGet media storageGETAgents: ask firstReturns the media storage limit, current usage and remaining space for the workspace, so an integration can check for room before uploading instead of discovering a full library as a failed request.
Team member, 1 operation
list_team_membersList team membersGETAgents: ask firstRetrieve a paginated list of team members for a specific workspace. Useful for selecting approvers when creating posts with approval workflows.
Text background, 1 operation
list_facebook_text_backgroundsList facebook text backgroundsGETAgents: ask firstReturns the full list of Facebook colored-background preset IDs accepted by `facebook_options.facebook_background_id` on create_post. Backgrounds only apply to plain text posts (no media, no link).
Threads analytics summary, 1 operation
get_threads_analytics_summaryGet threads analytics summaryGETAgents: ask firstReturns Threads KPIs of one connected account for a date range (start_date, end_date): summary.current, previous, difference and percentage, each a map of metric name to value. Analytics of the user's own account.
Tiktok analytics summary, 1 operation
get_tiktok_analytics_summaryGet tiktok analytics summaryGETAgents: ask firstReturns TikTok KPIs of one connected account for a date range (start_date, end_date): summary.current, previous, difference and percentage, each a map of metric name to value. Analytics of the user's own account.
Twitter analytics summary, 1 operation
get_twitter_analytics_summaryGet twitter analytics summaryGETAgents: ask firstReturns X (Twitter) KPIs of one connected account for a date range (start_date, end_date): summary.current, previous, difference and percentage, each a map of metric name to value. Analytics of the user's own account.
Validate feed, 1 operation
validate_rss_feedValidate rss feedPOSTAgents: ask firstFetches the feed and reports whether it is readable, without creating anything. Use this before create_rss_automation when the URL came from an end user, so a bad feed is reported as its own failure rather than as a failed create.
Workspace, 1 operation
list_workspacesList workspacesGETAgents: ask firstReturns paginated workspaces associated with the authenticated user
Youtube analytics summary, 1 operation
get_youtube_analytics_summaryGet youtube analytics summaryGETAgents: ask firstReturns YouTube KPIs of one connected account for a date range (start_date, end_date): summary.current, previous, difference and percentage, each a map of metric name to value. Analytics of the user's own account.
Use ContentStudio from Claude Code, Cursor or Codex
Connect ContentStudio in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its ContentStudio operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect ContentStudio
- Create your workspace
Sign up free. Nothing to install.
- Connect ContentStudio once
Add your ContentStudio connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- 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.
ContentStudio integration FAQ
What can you do with the ContentStudio integration?
LiveContext exposes 119 operations on ContentStudio, covering post, approval workflow, content category and share link.
