ask_support
ChatGPTAsk posterly Support AI an authenticated question using posterly docs plus read-only account/post diagnostics for the caller workspace. Requires API auth and accounts:read + posts:read scopes. Human tickets are never opened on the first answer; ticket creation requires a follow-up in a continued conversation with an assistant answer plus request_human=true and confirm_escalation=true after explicit user confirmation.
audit_google_business_profile
ChatGPTRun a live local-profile audit for a connected Google Business Profile location. Returns the 0-100 completeness score, letter grade, a score for each section (profile basics, hours, categories, description, photos, attributes, review health, and service areas when the listing travels to customers), and recommendations. A service listing with no areas, or an area more than 80 miles from the business in a straight line, cannot keep a top score.
create_connect_session
ChatGPTCreate a short-lived handoff record for connecting a social account in a posterly workspace. This call does not connect the account itself: the user must open the returned connect_session.connect_url, sign in to posterly, and complete the browser connection flow. Poll list_accounts_connect_session with the returned session_id until connected, failed, cancelled, or expired. Planned or unconfigured targets return an error. Never collect provider passwords or tokens in chat.
create_media_drop
ChatGPTCreate a human drop page so ChatGPT or Claude users can upload laptop files (up to 20 per link) without dashboard login. Returns drop_url (https://www.poster.ly/drop/<token>). Send that URL to the user, wait, then call list_media. Accepts JPEG, PNG, GIF, WebP, MP4, MOV, WebM, and PDF up to 50MB (a PDF is for LinkedIn document posts); HEIC is not accepted. This is not the chat paperclip and not create_signed_upload.
create_post
ChatGPTCreate one post for a connected social account. A future scheduled_at queues publication at that UTC time; omitting scheduled_at requests immediate publication. Resolve the account and workspace with whoami and list_accounts, read account requirements with list_platforms_schema, and validate the exact caption, media, settings, and schedule with validate_post first. Show those details and obtain explicit user approval before calling with confirm=true. Third-party media URLs are copied into posterly storage and must still be accessible. Use create_posts_batch for multiple approved posts.
create_posts_batch
ChatGPTCreate 1-25 scheduled or immediate social posts in one API request. DESTRUCTIVE WRITE: show the user every post's account/platform, caption or thread text, scheduled time, media, settings, and workspace, then get explicit confirmation for the whole batch before calling. Third-party media URLs are copied into posterly storage before each post is saved. Partial success is possible; failed items return their array index. On an error or lost reply, retry with the same keys; a repeat within 10 minutes returns the original posts (deduplicated: true). TikTok items without privacy_level post directly using the saved default or public (tiktok_audience_defaulted); post_mode inbox sends to the app.
create_signed_upload
ChatGPTCreate signed upload URLs for larger images, videos or PDFs, 1 to 20 files per call. Accepts JPEG, PNG, GIF, WebP, MP4, MOV, WebM, and PDF up to 50MB (a PDF is for LinkedIn document posts); HEIC is not accepted. For one file pass filename, content_type and size. For several pass files: [{filename, content_type, size}] and get one slot per file, with any file that fails reported in place. PUT the raw bytes of each file to its upload_url (object storage) with the returned headers, then pass public_url to create_post / create_posts_batch. For a PDF, create the post with post_type document, media_url set to that public_url and a document_title in settings (LinkedIn only). pin_content_type: true locks each slot to the declared content_type. Always send the Content-Type header returned with the slot. Slots expire in 15 minutes.
delete_post
ChatGPTDelete one post in posterly. Requires confirm=true after explicit user approval.
delete_post_group
ChatGPTDelete a post group in posterly. Call without confirm first, show the returned preview, then use confirm=true and its preview_id only after explicit user approval.
disconnect_account
ChatGPTDisconnect a connected social account from posterly. DESTRUCTIVE and IRREVERSIBLE: this removes the account connection, emits account.disconnected webhooks, and may transfer Instagram scheduled posts to a replacement account. Always call list_accounts first, show the user the exact account/platform/workspace, and get explicit confirmation before calling.
dismiss_suggestion
ChatGPTDismiss a proactive post suggestion so it stops appearing, or pass save_as_draft true to turn it into an unpublished draft instead. A draft is not scheduled and nothing is published. WRITE: confirm the exact suggestion with the user first. Never dismisses, and does not overwrite, a suggestion that was already turned into a post.
find_available_slot
ChatGPTFind available time slots for posting. Respects a 1-hour gap between posts and preferred hours. Always pass timezone explicitly (default is America/New_York). Each slot includes the UTC instant to pass as scheduled_at. strategy "best_engagement" (needs account_ids) ranks the next 7 days by when these accounts get the most engagement, with a 1-5 star rating and a reason per slot.
generate_captions
ChatGPTGenerate or adapt AI caption suggestions for one or more social platforms. Uses AI Caption Assist quota and returns options only; it does not create, draft, schedule, or publish posts.
generate_image
ChatGPTQueue an AI image job via posterly using Nano Banana (Gemini) or Grok Imagine Image 2.0 (xAI). Returns job_id. Poll list_jobs_image for urls. COSTS CREDITS - confirm subject + style + aspect_ratio + quality + provider with the user before calling.
generate_video
ChatGPTQueue an AI video job with Google Veo 3.1 or xAI Grok Imagine Video 1.5. COSTS CREDITS - confirm provider, prompt, duration, resolution, aspect ratio, audio choice, and credit cost with the user before calling. Poll list_jobs_video for status and final video_url.
get_credits
ChatGPTGet the posterly AI credit balance: available to spend now, monthly included allowance left, purchased pack balance, plan tier, and the next reset. Credits are a shared WORKSPACE wallet, so this is the balance the caller can actually spend. Read-only. Requires the billing:read scope.
get_post
ChatGPTOne post in posterly.
get_post_missing
ChatGPTWhat a post is missing in posterly.
get_updates
ChatGPTGet the latest posterly product updates and news from the updates feed: new features, improvements, and fixes, newest first. The output says whether more updates exist; page with offset or narrow with since. Requires an active posterly subscription.
get_video_options
ChatGPTList read-only Google Veo and xAI Grok video generation options, input modes, durations, resolutions, aspect ratios, and credit-cost estimates. Does not generate video or spend credits.
get_x_posting_quota
ChatGPTGet managed X posting quota, usage, remaining posts, URL-blocking status, and add-on plan info for a workspace.
list_accounts
ChatGPTConnected accounts in posterly.
list_accounts_connect_session
ChatGPTCheck a connect session in posterly.
list_accounts_learned_voice
ChatGPTLearned voice of an account in posterly.
list_accounts_performance_profile
ChatGPTPerformance profile of an account in posterly.
list_activity
ChatGPTList recent activity and publish events for posts, including status changes, publish attempts, failures, and retries, newest first. Use this as the agent notifications feed. The output says whether more events exist; page with offset (offset + limit up to 1000) or narrow with since or post_id before concluding nothing else happened.
list_analytics_accounts
ChatGPTAccount analytics in posterly.
list_analytics_insights
ChatGPTPost insights in posterly.
list_analytics_posts
ChatGPTPost analytics in posterly.
list_brands
ChatGPTAll brands in posterly.
list_brands_accounts
ChatGPTBrand accounts in posterly.
list_brands_brand
ChatGPTOne brand in posterly.
list_brands_profile
ChatGPTBrand profile in posterly.
list_conversations
ChatGPTList conversations in posterly.
list_conversations_conversation
ChatGPTOne conversation with its messages in posterly.
list_google_business_media
ChatGPTList the photos and videos on a Google Business Profile gallery (the media shown on Maps and Search) for one location/account or every accessible GBP location. This is separate from media attached to a post. Returns each item's resource name, category, format, image URL, and date. Pages the gallery already fetched from Google: limit defaults to 50 (max 200) and offset skips that many items.
list_google_business_reviews
ChatGPTGoogle reviews in posterly.
list_google_business_reviews_review_link
ChatGPTGoogle review link in posterly.
list_google_business_service_areas
ChatGPTService areas on a location in posterly.
list_google_business_service_areas_places
ChatGPTSearch towns and postcodes in posterly.
list_jobs_image
ChatGPTImage jobs in posterly.
list_jobs_video
ChatGPTVideo jobs in posterly.
list_media
ChatGPTList the newest media assets for the authenticated user. After create_media_drop, pass drop_session_id to see files uploaded on /drop/<token>. Each file includes its filename and the time it was added. Use public_url with validate_post / create_post. A drop listing returns up to 20 files per page by default so a full drop fits one page. The output says whether every matching file is shown; page with offset (offset + limit up to 1000) when it is not.
list_platforms
ChatGPTSupported platforms in posterly.
list_platforms_connect_link
ChatGPTReturn a browser connection link for the selected platform. Credentials and authorization must be entered only on the posterly browser page, never in chat.
list_platforms_schema
ChatGPTRead posting requirements, media limits, and settings for a connected account or platform. Prefer account_id for connection-specific capabilities. Planned capabilities are not live.
list_post_suggestions
ChatGPTList proactive post suggestions: evidence-based weekly drafts posterly writes in each account's learned voice, each with a rationale tying it back to what has performed well. The caption, rationale, and account id are returned in full. Filter by account_id and status (pending, scheduled, dismissed; default pending). The output says whether every matching suggestion is shown; page with offset until it does. Read-only; requires a Pro plan or higher. Use dismiss_suggestion to hide one, or pass save_as_draft true on that tool to keep it as an unpublished draft.
list_posts
ChatGPTList posts using the supplied workspace, account, date range, and timezone. Respect the returned paging instructions and read all pages before drawing conclusions about totals or gaps.
list_posts_counts
ChatGPTReturn exact post totals for the supplied date range and timezone. Both scheduled_from and scheduled_to are required, and the range must be no longer than 366 days.
list_publishing_pauses
ChatGPTIs publishing paused? Shows whether the workspace is paused, which brands are paused (only brands you can see), and whether you may pause, resume, or publish missed posts. Read-only. Change it with manage_publishing_pause.
list_workspace_members
ChatGPTList the people in a workspace: members (with role, status, brand access and API access) and pending invites, plus seats in use. API access says whether a teammate can use this workspace's API plan from their own keys and AI apps; owners and admins also see each member's key count, connected AI apps and last use. Works with an API key that has the Manage team permission (any workspace member can list; brand-limited teammates only see brand ids they can access), or from ChatGPT, Claude and other OAuth connections when the user is an owner or admin of the workspace.
manage_brand_archive
ChatGPTArchive a brand in posterly. Call without confirm first, show the returned preview, then use confirm=true and its preview_id only after explicit user approval.
manage_brand_create
ChatGPTCreate a brand in posterly. Requires confirm=true after explicit user approval.
manage_brand_update
ChatGPTUpdate a brand in posterly. Requires confirm=true after explicit user approval.
manage_conversation_send
ChatGPTSend a DM in posterly. Call without confirm first, show the returned preview, then use confirm=true and its preview_id only after explicit user approval.
manage_conversation_sync
ChatGPTSync the inbox in posterly.
manage_google_business_location_update_attributes
ChatGPTUpdate attributes in posterly. Call without confirm first, show the returned preview, then use confirm=true and its preview_id only after explicit user approval.
manage_google_business_location_update_hours
ChatGPTUpdate regular hours in posterly. Call without confirm first, show the returned preview, then use confirm=true and its preview_id only after explicit user approval.
manage_google_business_media_add
ChatGPTAdd a photo or video in posterly. Call without confirm first, show the returned preview, then use confirm=true and its preview_id only after explicit user approval.
manage_google_business_media_delete
ChatGPTDelete a photo or video in posterly. Call without confirm first, show the returned preview, then use confirm=true and its preview_id only after explicit user approval.
manage_google_business_review_delete_reply
ChatGPTDelete a review reply in posterly. Call without confirm first, show the returned preview, then use confirm=true and its preview_id only after explicit user approval.
manage_google_business_review_reply
ChatGPTReply to a review in posterly. Call without confirm first, show the returned preview, then use confirm=true and its preview_id only after explicit user approval.
manage_google_business_review_suggest_reply
ChatGPTSuggest a reply (never posts) in posterly.
manage_publishing_pause_pause
ChatGPTPause publishing in posterly. Requires confirm=true after explicit user approval.
manage_publishing_pause_publish_missed
ChatGPTPublish missed posts now in posterly. Requires confirm=true after explicit user approval.
manage_publishing_pause_resume
ChatGPTResume publishing in posterly.
manage_workspace_member_invite
ChatGPTInvite a colleague to the workspace. Requires workspace_id, email, and role (publisher, editor, or viewer). Sends an invitation email and notifies the workspace owner. Call without confirm first, show the returned preview, then use confirm=true and its preview_id only after explicit user approval.
manage_workspace_member_remove
ChatGPTRemove one workspace member or cancel one pending invite. Requires workspace_id and member_id or invite_id. Removing a member revokes their workspace access and associated credentials. Call without confirm first, show the returned preview, then use confirm=true and its preview_id only after explicit user approval.
manage_workspace_member_update
ChatGPTUpdate one workspace member or pending invite. Requires workspace_id and member_id or invite_id, plus role or brand_ids. For a member, api_access may instead be changed on its own. The authenticated user must have the required owner or admin role. Call without confirm first, show the returned preview, then use confirm=true and its preview_id only after explicit user approval.
platform_linkedin_company_lookup
ChatGPTLook up a LinkedIn company by vanity name or company page URL. Switched off unless company lookup is enabled. Uses the organization vanity lookup the composer already uses.
platform_linkedin_recent_mentions
ChatGPTReturn recent LinkedIn organization mentions used by this user.
platform_pinterest_boards
ChatGPTList cached Pinterest boards for the connected account.
platform_tiktok_creator_info
ChatGPTFetch TikTok creator posting status and direct-post privacy options.
platform_x_quota
ChatGPTReturn managed X posting quota for the account workspace.
platform_youtube_playlists
ChatGPTList playlists on the connected YouTube channel. Refused until playlist publishing is switched on.
posterly_status
ChatGPTCheck posterly's own publishing health: overall state from the last 4 hours of publishing success, any active incident (for example X being unavailable), and per-platform state with 7-day success rate and publish counts. Call it before scheduling a time-critical post, or when a user asks whether posterly or a platform is down or why posts are failing. Says so plainly when there is not enough recent activity to judge. Failures caused by content or account problems (expired connections, content limits) are excluded from the rates and reported separately as customer_side. Not the same as whoami view "status", which only reports the MCP server and npm package version. Read-only; aggregates only, no post or user data.
submit_agent_feedback
ChatGPTSubmit bounded private operational telemetry after a concrete posterly workflow outcome. This is non-destructive to product content but writes a private feedback event. Never include API keys, prompts, captions, media URLs, personal data, or fabricated outcomes. Requires an authenticated bearer API key and paid API add-on.
submit_product_feedback
ChatGPTFile a product bug, idea, or general feedback on the public posterly feedback board (same board users see in the dashboard). Only call this when the human explicitly asks to report a bug, suggest a feature, or send feedback to posterly. Require confirm=true after they approve the title and category. Never use this for tool failures or retries - use submit_agent_feedback for private operational telemetry. Never include API keys, secrets, captions, media URLs, or personal data about third parties. Requires an authenticated bearer API key and paid API add-on.
update_post
ChatGPTEdit caption, media, schedule, or settings in posterly. Requires confirm=true after explicit user approval.
update_post_approval_approve
ChatGPTRecord a team-side approval for one post. Requires post_id and workspace owner or admin access. Optional approval_axis selects asset or caption; omit it for both. Optional approval_note is stored with the decision. The actor is the authenticated team member, never a brand guest. Requires confirm=true after explicit user approval.
update_post_approval_reject
ChatGPTRecord a team-side rejection for one post. Requires post_id and workspace owner or admin access. Optional approval_axis selects asset or caption; omit it for both. Optional approval_note is stored with the decision. Rejection returns affected posts to draft. The actor is the authenticated team member, never a brand guest. Requires confirm=true after explicit user approval.
update_post_approval_request
ChatGPTRequest client review of one post. Requires post_id and workspace owner or admin access. Opens both asset and caption review and emails the brand reviewers. This operation requests review; it does not record a review decision. Requires confirm=true after explicit user approval.
update_post_approval_request_changes
ChatGPTRecord a team-side request for changes to one post. Requires post_id, a nonblank approval_note, and workspace owner or admin access. Optional approval_axis selects asset or caption; omit it for both. The actor is the authenticated team member, never a brand guest. Requires confirm=true after explicit user approval.
update_post_release_id
ChatGPTSet a release or group ID in posterly. Requires confirm=true after explicit user approval.
update_post_status_draft
ChatGPTMove one scheduled, failed, or paused post back to draft and remove its pending publication jobs. Requires post_id. The post keeps its content but loses its publication schedule. Requires confirm=true after explicit user approval.
update_post_status_paused
ChatGPTPause one scheduled post and remove its pending publication jobs. Requires post_id. Only a scheduled post can be paused. This operation keeps the saved content and scheduled time. Requires confirm=true after explicit user approval.
update_post_status_scheduled
ChatGPTSchedule an existing draft, failed, or paused post for future publication. Requires post_id; scheduled_at is required for a draft and otherwise overrides the saved UTC time. The effective time must be in the future. Reads the saved content and queues publication without editing it. Resuming a paused post is refused while its workspace or brand is paused. Read get_post and show the content, account, and time before confirmation. Requires confirm=true after explicit user approval.
upload_media
ChatGPTUpload a file in posterly.
upload_media_chat_files
ChatGPTCopy images or videos from this conversation (ones you generated or the user attached) into posterly storage, up to 20 per call, and get public URLs in the same order for validate_post and create_post. Nothing is published. Files keep their original size and quality, count against storage, and a retry with the same files reuses them instead of copying. If a file is too large or the conversation file cannot be passed, use create_media_drop.
upload_media_delete
ChatGPTDelete a library file in posterly. Call without confirm first, show the returned preview, then use confirm=true and its preview_id only after explicit user approval.
upload_media_url
ChatGPTUpload from a URL in posterly.
validate_post
ChatGPTValidate and normalize one post without creating it. This is non-destructive: it does not create records, copy remote media, consume post-item/storage quota, reserve X quota, emit webhooks, or enqueue publication. Third-party media may return remote_media_not_materialized because live create performs storage copy and final byte validation. Use this before showing the final preview and asking for confirmation to call create_post.
video_google_estimate_cost
ChatGPTEstimate Google Veo or xAI Grok credit cost before queueing a public generation job. Select the provider with the identifier. Provider: google. This operation does not generate video or spend credits.
video_google_list_input_modes
ChatGPTReturn supported input modes, defaults, and constraints for the selected video provider. Provider: google. This operation does not generate video or spend credits.
video_google_validate_request
ChatGPTValidate a prospective public video-generation payload without spending credits. Provider: google. This operation does not generate video or spend credits.
video_xai_estimate_cost
ChatGPTEstimate Google Veo or xAI Grok credit cost before queueing a public generation job. Select the provider with the identifier. Provider: xai. This operation does not generate video or spend credits.
video_xai_list_input_modes
ChatGPTReturn supported input modes, defaults, and constraints for the selected video provider. Provider: xai. This operation does not generate video or spend credits.
video_xai_validate_request
ChatGPTValidate a prospective public video-generation payload without spending credits. Provider: xai. This operation does not generate video or spend credits.
whoami
ChatGPTYou, your scopes, and your workspaces in posterly.