Schedule social media posts with ChatGPT
Add Postozo to ChatGPT as a custom app in developer mode. Then ask ChatGPT to plan, write and schedule posts on your channels.
How to connect Postozo to ChatGPT
You need a Postozo account with at least 1 connected channel. ChatGPT connects to Postozo's MCP server at https://app.postozo.com/mcp using your personal key URL.
- In ChatGPT on the web, open Settings, Security and login, and turn on Developer mode.
- Open ChatGPT's app list (OpenAI's guide calls it Plugins) and click + to add a new one. Name it Postozo.
- For the connection, choose Public endpoint and paste your personal URL:
https://app.postozo.com/mcp/YOUR_API_KEY. In Postozo, open Settings, Developers and copy your API key. It starts withpz_live_. Treat it like a password. - Choose No authentication, because the key is already in the URL. Create it and check the list of Postozo tools ChatGPT found.
- In a new chat, add Postozo from the tools menu and ask: "List my Postozo channels".
Plans: OpenAI lists developer mode for Plus, Pro, Business, Enterprise and Education accounts on the web. On Business and Enterprise, a workspace admin may need to allow or publish the app.
Why the key URL? OpenAI's current docs list OAuth with static credentials or client metadata documents. Postozo's sign-in uses automatic client registration, which those docs do not list, so we document the key URL as the method we know works. Treat the URL like a password.
ChatGPT asks you to confirm write actions, such as scheduling or deleting a post, before they run. OpenAI changes these menus often; if a label is different, follow OpenAI's developer mode guide linked below.
Check it works
Ask ChatGPT: "List my Postozo channels." It should call list_channels and show your channels.
What ChatGPT can do with Postozo
Postozo gives ChatGPT 20 tools. A normal flow is: list your channels, read the rules of each network, check the post, find a free slot, then schedule it once you say yes.
| Tool | What it does | Changes data |
|---|---|---|
list_channels | List the connected social channels (accounts, pages) with their id, network, name and status. Call this first to get channel ids. | No |
list_networks | List every network this server supports and whether it can be connected. Useful to explain what is possible. | No |
list_customers | List customers. A customer groups channels (agencies use 1 per client). | No |
get_channel_rules | Get the posting rules for 1 channel: max length, media needs, whether comments are supported, and the settings schema (some settings are required, for example a title on YouTube or a board on Pinterest). Read before scheduling to that channel. | No |
find_free_slot | Find the next free posting time for these channels, using each channel's preferred posting times. | No |
check_post | Check a post against every channel's rules without saving it. Returns a list of problems (empty means it is fine). | No |
schedule_post | Create or edit a post for 1 or more channels. Supports drafts, scheduling, posting now, client review, threads with delays, per-channel text, network settings, tags and repeats. Returns the post id, its status and a preview link. | Yes |
list_posts | List posts on the calendar between 2 dates (default: last 7 days to next 30 days). | No |
get_post | Get 1 post with its text per channel, state per channel (queued, published, error...), links to the live posts, errors with a fix, comments and history. | No |
change_post_date | Move a post to a new date and time. | Yes |
retry_post | Retry the channels of a post that failed or could not be confirmed. Only use after the user confirms the post is not already live. | Yes |
delete_post | Delete a post from the calendar. Posts already live on a network stay live there. | Yes |
upload_media_from_url | Import an image or video from a public URL into the media library. Returns a media id to use in schedule_post. | Yes |
list_media | List files in the media library. | No |
list_tags | List tags used to label posts. | No |
get_analytics | Get account statistics for 1 channel from its network (7, 30 or 90 days). Some networks do not share statistics. | No |
get_post_analytics | Get statistics for 1 published post on 1 channel. Use the per-channel post id from get_post (channels[].root.id). | No |
get_workspace_stats | Counts from this workspace: posts by state, published posts per channel, and short link clicks. | No |
run_channel_tool | Run a network helper for 1 channel, for example list Pinterest boards, Reddit flairs or YouTube playlists, to fill a setting. get_channel_rules lists the tools for each channel. | No |
generate_image | Create an image with AI from a description and save it to the media library. Uses 1 image credit. Returns a media id. Only when AI images are turned on for your workspace. | Yes |
The server also offers 2 ready prompts: plan_week (plan 5 posts for the next 7 days about a topic) and repurpose (turn a link or text into 1 post per channel).
Example prompts
- "Plan a week of posts about our summer sale for Instagram and Facebook. Show a table and save them as drafts after I say yes."
- "Write 3 versions of this announcement, 1 for LinkedIn, 1 for X and 1 for Threads, each within its limit."
- "What is scheduled for next week? Group it by channel."
- "Find a free slot tomorrow afternoon for my Google Business Profile and schedule this offer there."
- "Which post got the most engagement on LinkedIn this month?"
- "Generate an image for this post and attach it before scheduling."
Safety and control
- 14 of the 20 tools only read. The 6 that change data (schedule_post, change_post_date, retry_post, delete_post, upload_media_from_url and generate_image) are marked as write tools, so ChatGPT can ask you before it runs them.
- The server tells the AI to confirm the text, channels and time with you before it schedules or publishes.
- Ask for drafts ("save as drafts") or for client review ("send for approval") when you want a human to check first.
- A post is never sent twice. If Postozo cannot confirm a post went live, it marks it "could not confirm" instead of retrying on its own.
- Remove access any time in Postozo under Settings, Approved Apps, or by creating a new API key.
Sources
Questions
Can ChatGPT schedule posts with Postozo?
Yes. After you add Postozo's MCP server, ChatGPT can list your channels, check each network's rules, find free times and create drafts, scheduled posts or posts for client approval.
Which ChatGPT plans can do this?
OpenAI lists developer mode for Plus, Pro, Business, Enterprise and Education on the web.
Is the key URL safe?
Anyone with the URL can use your workspace, so keep it private. If it leaks, create a new API key in Postozo and the old URL stops working.
Does ChatGPT post without asking?
ChatGPT asks you to confirm write actions by default, and Postozo marks which tools change data.
Does it cost extra?
No. The API and MCP server are included in every Postozo plan. ChatGPT has its own plans and limits.
Post to each network from ChatGPT
ChatGPT for Facebook
posts on your Facebook Pages
ChatGPT for Instagram
Instagram posts, carousels, Reels and Stories
ChatGPT for LinkedIn
LinkedIn profile and Company Page posts
ChatGPT for X
posts and threads on X
ChatGPT for TikTok
TikTok videos and photo posts
ChatGPT for Google Business Profile
Google Business Profile updates, offers and events
Connect ChatGPT to Postozo
Start a 7-day free trial, connect your channels, then add the server.
Create your free account