Skip to main content
Build a Custom GPT that manages your Postsiva workspace: list accounts, generate content, publish posts, read analytics, and reply to comments — using the same tools as MCP and the WhatsApp agent. Requires Pro plan with gpt_app_enabled.

Overview

  1. User chats with your Custom GPT
  2. ChatGPT calls POST /unified/gpt-actions/{tool_name} with JSON bodies
  3. User authenticates once via Connect to Postsiva (OAuth)
  4. Actions run against the selected workspace
Full API reference: GPT Actions

Create the Custom GPT

1

Open GPT Builder

ChatGPT → Explore GPTsCreateConfigure
2

Import OpenAPI schema

ActionsImport from URL:
https://backend.postsiva.com/openapi/chatgpt-actions.json
This registers all Postsiva tools as Actions (publish, get_accounts, idea_to_content, etc.).
3

Configure authentication

Authentication type: OAuth
FieldValue
Client IDFrom Postsiva (contact support or app settings if provided)
Client SecretMatching secret
Authorization URLhttps://backend.postsiva.com/auth/oauth/authorize
Token URLhttps://backend.postsiva.com/auth/oauth/token
ScopeAs defined in Postsiva OAuth config
Alternative for internal/testing: API Key with Authorization: Bearer psk_live_YOUR_KEY (not recommended for public GPTs).
4

Set instructions

Example system instructions:
You are a Postsiva social media assistant.

Rules:
- Always confirm before publishing live posts or replying to comments publicly.
- Use get_accounts first when platform connection is unclear.
- idea_to_content, content_to_image, and media_to_content do NOT publish — follow with publish when the user wants to go live.
- Scheduling times must be ISO 8601 UTC (e.g. 2026-07-10T14:30:00Z).
- If the user wants to disconnect ChatGPT from Postsiva, call disconnect_gpt_connector.
- You cannot search the web — do not claim live web results.
5

Test connection

Click Connect to Postsiva in the GPT preview, sign in, select workspace, then ask:
What social accounts are linked to my workspace?

OAuth flow (Connect to Postsiva)

  1. ChatGPT redirects to GET /auth/oauth/authorize
  2. User signs in at /auth/oauth/login (email/password or Google)
  3. User selects workspace at /auth/oauth/select-workspace
  4. ChatGPT receives access token (Bearer JWT with workspace_id)
  5. Subsequent Actions send Authorization: Bearer <token>
Discovery: GET https://backend.postsiva.com/.well-known/oauth-protected-resource Disconnect: User asks GPT to disconnect, or you call:
POST /unified/gpt-actions/disconnect_gpt_connector
Authorization: Bearer <oauth_jwt>
Body: {}
See GPT Actions — disconnect.
disconnect_gpt_connector revokes the ChatGPT session only. Social accounts stay connected. Use manage_platform_connection with action=disconnect to unlink a network.

Available Actions

Same 12 tools as MCP, excluding web_search_duckduckgo:
ActionUse when user asks to…
get_accountsSee connected platforms or one profile
get_queued_postsView scheduled posts or drafts
get_user_postsList recent posts
get_unified_analyticsView engagement totals
get_commentsRead comments on posts
reply_to_commentPost a public reply
manage_platform_connectionConnect or disconnect OAuth
idea_to_contentTurn a topic into post copy
content_to_imageGenerate images from text
media_to_contentWrite captions from image/video URL
analyze_mediaDescribe what’s in media
publishPost, draft, or schedule content
disconnect_gpt_connectorLog out ChatGPT from Postsiva
Argument schemas are in the imported OpenAPI file.

Example conversations

Generate and draft
User: Write LinkedIn and Threads posts about our new API docs, then save LinkedIn as a draft.
GPT calls: idea_to_contentpublish with draft: true for LinkedIn. Schedule
User: Schedule this for Friday 10am UTC on Instagram: [caption]. Image: [url]
GPT calls: publish with post_type=image, scheduled_time, and media fields. Analytics
User: How did my posts perform this month?
GPT calls: get_unified_analytics, optionally get_user_posts with refresh_stats=true.

GPT Actions vs MCP

Custom GPTMCP (Cursor)
AuthOAuth (user-facing)API key
Web searchNoYes (web_search_duckduckgo)
AudienceNon-technical usersDevelopers
OpenAPIRequired importMCP tool list
Timeout120 secondsClient-defined

Privacy and data

  • Actions run against one workspace selected at OAuth time
  • Post content and analytics pass through ChatGPT’s conversation context — review OpenAI’s data policies for your use case
  • Do not embed psk_live_ keys in public GPT instructions

Troubleshooting

IssueSolution
Actions grayed outRe-import OpenAPI; check Pro plan
401 on every callReconnect via Connect to Postsiva
”Plan upgrade” messageWorkspace needs gpt_app_enabled (Pro)
GPT tries to web searchRemind in instructions — tool not available
Wrong workspaceDisconnect OAuth, reconnect, pick correct workspace

Alternative: API key testing

For private GPTs or development, set Authentication to API Key:
Authorization: Bearer psk_live_YOUR_KEY
All Actions resolve workspace from the key. No OAuth UI required.
Never publish a Custom GPT that exposes your personal API key in instructions or shared links.

Next

GPT Actions API

Endpoint reference

Plans

Pro requirements

MCP overview

Developer agent integration