generate_content
ChatGPTGenerates AI text for the selected brand and debits workspace AI credits once per idempotencyKey. kind caption: a caption for postContent. hashtags: hashtag suggestions for postContent. transform_caption: rephrase, shorten, expand, casual or formal. ideas: 3–10 content ideas for a topic, optionally grounded in performance context. weekly_plan: a 7-day calendar. image_suggestions: text-only visual concepts (no image generation).
get_profile
ChatGPTReturns the authenticated LuftSocial profile for this connection: a stable id, and a name and nickname when available.
get_publishing_capabilities
ChatGPTReads platform publishing rules and runs pure validation; nothing is stored. kind post_types: supported post types per platform. kind validation_rules: versioned media and text constraints per platform. kind validate_media: checks media (owned assets or URLs) and text against the target platforms for the selected brand.
get_workspace_context
ChatGPTReads workspace context. section brands: the brands this credential can access (the brandId values other tools accept). section entitlements: plan, remaining posts and AI credits, locked features, and featureDetails (catalogue name, category and description per feature); ai_best_time_to_post covers AI posting-time recommendations, while descriptive best-time analytics in query_analytics are part of basic_analytics. section accounts: social accounts connected to the selected brand, from stored state without refreshing provider tokens; handle is the stored provider handle when known (null otherwise), and analyticsHealth, present only with basic_analytics, is the stored analytics collection status (not a live check). Lists accept limit and cursor.
manage_media
ChatGPTWrites to the selected brand's media library. request_upload reserves upload targets for clients that can transfer bytes; start_browser_upload creates a short-lived browser upload session for clients that cannot (the user uploads the file and clicks Done); complete_upload finalizes a reserved upload (parts for multipart); import_url fetches a public HTTPS URL server-side into the library; transform applies platform image transforms (video transcoding is unsupported); delete removes an unlinked asset. Every operation needs an idempotencyKey.
manage_posts
ChatGPTCreates, edits and cancels non-publishing post state. create_draft saves a draft (requireApproval enters the approval workflow). update_draft and delete_draft act on a draft by draftId and version. update_scheduled edits a pending scheduled post by scheduledPostId and version; cancel_scheduled cancels it atomically with its queue job (CANCEL_PUBLISH_IN_PROGRESS when a worker already claimed it). Changes to caption, media, destinations or schedule time need a preflightId for the exact final payload. Every operation needs an idempotencyKey.
preflight_post
ChatGPTValidate the complete post command (destinations, content, media, platform rules, premium gates, scheduling, optional native location, optional LinkedIn Page audience geo) before publishing. X is an add-on on Essential/Starter and included on Pro+; PREMIUM_PLATFORMS_SUBSCRIPTION_REQUIRED means subscribe to the X add-on or omit X. If location.displayName is set without a catalog ID, locationCandidates are returned on each target. If linkedinAudienceGeo.q is set without URNs, audienceGeoCandidates are returned on the LinkedIn target. LinkedIn audience geo is counted per Company Page and must exceed 300 followers in-region. A successful preflight returns a preflightId bound to this exact payload (valid 15 minutes, single use).
publish_post
ChatGPTPublishes or schedules a post, or retries a failed destination. mode now (default) publishes immediately and schedule publishes at one future instant (scheduledAtUtc preferred); both need a preflightId from preflight_post for this exact payload, and publishing completes asynchronously (progress: query_posts view publish_status). mode retry re-enqueues one failed, retryable destination (publishId, platform, accountId, version). Each logical operation needs its own idempotencyKey; repeating a call with the same key and payload returns the stored result.
query_analytics
ChatGPTReads canonical Analytics 2.0 read models for the selected brand. result.data is the service response, unmodified; values that are not collected are null or carry a status (AVAILABLE, PARTIAL, NOT_SUPPORTED, NOT_AUTHORIZED, PRIVACY_SUPPRESSED, NOT_COLLECTED, STALE, FAILED), never zero. Views: query (operation RANK, GROUP, COMPARE, SERIES, AUDIENCE_GROWTH, BEST_TIME, VELOCITY, POSTING_FREQUENCY or DATA_HEALTH), dashboard, detailed, content_insights, comments, aggregates, and the catalogues content_insights_metrics, comment_capabilities and aggregate_metrics. Catalogues describe static platform capability, not stored data or account readiness: platforms lists mapped platforms; content_insights_metrics platformAvailability is COLLECTED, MAPPED_NOT_COLLECTED or UNAVAILABLE (reason OPERANDS_NOT_ALIGNED), and unsupportedPlatforms codes are LIFETIME_ONLY (use alternativeMetric), NOT_MAPPED, MAPPED_NOT_COLLECTED or OPERANDS_NOT_ALIGNED. Top posts: content_insights with sections ["performance"], or query RANK on one lifetime content metric with platform or compatibleFamily. Best posting times: content_insights with sections ["bestTime"], or query BEST_TIME with a platform (a descriptive weekday-by-hour grid, not a recommendation; included in basic_analytics and independent of ai_best_time_to_post); includeInsufficient true also lists bestTime.insufficient buckets with their sample sizes and thresholds, which are never recommendations. Metric blocks carry entityLevel, basis and definition: account. metrics are the period activity of an account (account.content_views.interval is "Account views (period activity)"), content. metrics are per-post values, and notSupported is per metric, so post-level metrics may still be collected. coverage.unavailablePosts counts deleted, unavailable and unknown posts outside the measured population. Data-health issues carry firstDay, lastDay and ongoing: act on an issue only when ongoing is true; null means this period cannot tell. Trends: includeSignals true on detailed, content_insights, comments or query adds TREND and ANOMALY signals that describe the selected historical period; they are not forecasts. Per-item source, coverage and freshness (collectedAt) are returned only with includeEvidence true; X metrics come from stored facts and can be stale.
query_media
ChatGPTReads the selected brand's media library. view assets: cursor-paged library assets with CDN URLs. view asset_url: read URL for one asset. view upload_session: status of a browser upload session; COMPLETE is reported only after the user finishes uploading.
query_posts
ChatGPTReads posts of the selected brand. view post: one draft, scheduled post or publish record by id, with per-destination results and retry eligibility. view publish_status: progress of an asynchronous publish by publishId. views drafts, scheduled, published and failed: cursor-paged lists (limit, cursor); scheduled and published accept date filters.
generate_content
Claudeget_profile
Claudeget_publishing_capabilities
Claudeget_workspace_context
Claudemanage_media
Claudemanage_posts
Claudepreflight_post
Claudepublish_post
Claudequery_analytics
Claudequery_media
Claudequery_posts
Claude