← Plugin catalog
Productivity

PostFast

PostFast v1.4.0

Plan and schedule social posts

Create a free account to save this plugin.

From the developer

Declared capabilities

  • Schedule posts
  • Content calendar
  • Answer comments

Cost & access

PostFast does not sell anything inside ChatGPT. The plugin works with an existing PostFast account.

Declared limitations

  • Instagram needs an image or video, even for a draft, so a text-only Instagram post cannot be created. The assistant should not try; it should ask for media instead.
  • Posts can only be scheduled in the future, so a time in the past cannot be used. The assistant should not schedule anything; it should ask for a future time.
  • PostFast does not send direct messages to arbitrary accounts. It answers comments on the user's own posts, and on Instagram it can send one private reply to someone who commented on the account's post within the last 7 days.

Onboarding example

Draft a post announcing my new product and schedule it to my connected accounts tomorrow at 9am

View onboarding source →

Sources & dates

Developer declarations; not independently tested. Listing last checked Nov 6, 2026. Package observed Nov 6, 2026.

View package source →

Description

From the marketplace listing

Plan, schedule and publish your social media posts without leaving ChatGPT. PostFast connects your existing PostFast workspace, so you can draft posts, keep a content calendar, answer comments and check results in the conversation instead of switching to a separate dashboard. With PostFast, you can: • Schedule posts: draft a post, pick the connected accounts it goes to, attach an image or video (or a document on LinkedIn) and set the time, or save it as a draft. Every post waits for your yes before it is published. Works with X, LinkedIn, Instagram, Facebook, TikTok, Pinterest, Threads, YouTube, Bluesky, Telegram and Google Business Profile. • See your content calendar: the past two days and the next two weeks of posts, grouped by day, from drafts and posts waiting for approval to published and failed ones. Filter by account, switch workspace, open a post in full with all its media, jump to it in PostFast, or start a new post and finish it in the conversation. • Answer comments: read the comments on your TikTok, Instagram, Facebook Page and Threads posts, reply under a comment or send an Instagram private reply, hide or delete a comment, and mark conversations read, snooze, close or assign them. Replies and deletions show you a preview and wait for your yes. • Check how posts did: look up a published post's performance and how an account's follower count has moved day by day. Analytics cover Instagram, Facebook, Threads, TikTok, YouTube, Pinterest Business accounts and LinkedIn company pages. • Connect accounts: create a link that opens PostFast's account connection flow for a new social profile. You sign in with your existing PostFast account over OAuth and can disconnect at any time. PostFast publishes through its own registrations with each social network and keeps your posts, media and comment history in your PostFast workspace: it is a first-party interface to that product, not a pass-through layer. Nothing is published, sent or deleted until you say yes in the conversation.

Language: English · Automatically detected from descriptions.

Matches for “comments”

Exact text from the indicated source. A mention alone does not establish support for your task.

Publisher capabilities · listing

Schedule posts Content calendar Answer comments Post analytics Connect social accounts

Publisher description

Plan, schedule and publish your social media posts without leaving ChatGPT. PostFast connects your existing PostFast workspace, so you can draft posts, keep a content calendar, answer comments and check results in the conversation instead of switching to a separate dashboard. With PostFast, you can: • Schedule posts: draft a post, pick the connected accounts it goes to, attach an image or video (or a document on LinkedIn) and set the time, or save it as a draft. Every post waits for your yes before it is published. Works with X, LinkedIn, Instagram, Facebook, TikTok, Pinterest, Threads, YouTube, Bluesky, Telegram and Google Business Profile. • See your content calendar: the past two days and the next two weeks of posts, grouped by day, from drafts and posts waiting for approval to published and failed ones. Filter by account, switch workspace, open a post in full with all its media, jump to it in PostFast, or start a new post and finish it in the conversation. • Answer comments: read the comments on your TikTok, Instagram, Facebook Page and Threads posts, reply under a comment or send an Instagram private reply, hide or delete a comment, and mark conversations read, snooze, close or assign them. Replies and deletions show you a preview and wait for your yes. • Check how posts did: look up a published post's performance and how an account's follower count has moved day by day. Analytics cover Instagram, Facebook, Threads, TikTok, YouTube, Pinterest Business accounts and LinkedIn company pages. • Connect accounts: create a link that opens PostFast's account connection flow for a new social profile. You sign in with your existing PostFast account over OAuth and can disconnect at any time. PostFast publishes through its own registrations with each social network and keeps your posts, media and comment history in your PostFast workspace: it is a first-party interface to that product, not a pass-through layer. Nothing is published, sent or deleted until you say yes in the conversation.

What changed

· 4 observations

Capabilities & instructions

Skill instructions changed from “A public reply, an Instagram private reply or a deletion goes through `prepare_inbox_action`, which sends nothing and returns a preview. Show the user the...” to “Each action has its own preview tool, which sends nothing and returns a preview: `preview_comment_reply` for a public...

View comparison →

Technical updates · 2

Package or technical metadata updated

View technical comparison →

Package or technical metadata updated

View technical comparison →

· 3 observations

Capabilities & instructions

Is template instance added: “false”. App-6a5cb08939488191b11c6c5648be95b9 updated; open the comparison for details. Postfast updated; open the comparison for details. Full description changed from “PostFast is a social media management tool. This plugin connects your existing PostFast workspace so you can run your...

View comparison →
Capabilities & instructions

Is template instance added: “false”. App-6a5cb08939488191b11c6c5648be95b9 updated; open the comparison for details. Postfast updated; open the comparison for details. Full description changed from “PostFast is a social media management tool. This plugin connects your existing PostFast workspace so you can run your...

View comparison →

Technical updates · 1

Package or technical metadata updated

View technical comparison →

Files & skills

File archives

Plugin package11 files · 25.5 KBBrowse files →
Skill instructions
get-started3.95 KB

View saved version →

---
name: get-started
description: "Set up PostFast in this conversation and check that it works: connect PostFast, pick the workspace, see which social accounts are connected, fix disconnected ones and make a first post. Use when someone is new to PostFast here, asks how to set it up or what it can do, says the PostFast tools are missing or signed out, wants to connect or reconnect a social account, or asks why their posts are not going out."
---

# Get started with PostFast

These steps check the PostFast connection and take the user to their first post. They only read, apart from a connect link the user asks for. Scheduling, comments, repurposing and reports have their own skills: schedule-posts, manage-comments, repurpose-content and performance-report.

## Rules

1. **Read first, change nothing.** Setup uses tools that only read. The one exception is `generate_connect_link`, and only when the user wants a link to connect or reconnect an account.
2. **Report what the tools return.** Don't guess which accounts are connected, and mention the ones that are not.
3. **Keep it short.** Show what the next step needs, then offer it.

## Steps

### 1. Check the connection

Call `list_workspaces`.

- **It answers:** PostFast is connected. Carry on.
- **The PostFast tools are missing, or the call says the user is not signed in or the sign-in expired:** PostFast is not connected in this app yet, or its sign-in lapsed. Ask the user to add or reconnect PostFast in their app's connector or app settings and sign in with their PostFast account. While signing in they choose the workspace this connection uses by default. Then try again.
- **They have no PostFast account:** say that PostFast works with an existing PostFast account and that they need one to use it here. Don't link to sign-up, plans or pricing.

### 2. Pick the workspace

`list_workspaces` shows every workspace this connection can use. With one, carry on. With several, show them by name and ask which to work in, then pass its `id` as `workspaceId` on every call that follows. Leaving `workspaceId` out uses the workspace chosen at sign-in.

### 3. See the connected accounts

Call `list_accounts` and list the accounts by network, with each one's `platformUsername` or `displayName`.

- **CONNECTED** accounts can publish.
- **DISABLED** accounts won't publish until they are reconnected. Give the `disabledReason` and offer a reconnect link: `generate_connect_link` with `platforms` set to that network. Whoever owns the account opens the link and signs in again. Set `sendEmail` only when the user asks you to email the link and gives the address.
- **No accounts:** nothing is connected in this workspace yet. The user connects accounts in the PostFast app (https://app.postfa.st) or sends a link from `generate_connect_link` to whoever owns them.
- `inboxCapable` shows which accounts' comments reach the PostFast inbox.

### 4. Settle the time zone

Ask for the user's time zone once, and use it for every time you show or schedule.

### 5. Offer a first step

In two or three lines, offer what fits the accounts they have:

- Schedule or draft posts. Every post waits for their yes before it publishes.
- Answer comments on Instagram, Facebook, TikTok and Threads, with a preview of every reply first.
- Turn an article or a link into a week of posts.
- Report how their posts and followers did.

If they want to post now, follow the schedule-posts skill.

## When something fails

- **A missing scope or permission:** the connection was allowed less than this needs, or the user's role in the workspace doesn't include it. Ask them to reconnect PostFast and allow everything it asks for, or to ask a workspace admin.
- **`socialMediaDisconnected` when scheduling:** the account needs reconnecting (step 3).
- **`subscription.required`:** the account has no active PostFast plan, so PostFast refuses the call. Say so plainly, and that the account owner can sort out the plan in PostFast. Don't link to pricing,

Preview of the first 4,000 characters. Read full instructions →

manage-comments6.8 KB

View saved version →

---
name: manage-comments
description: Read and answer comments on the user's social posts through the PostFast inbox, showing every reply or deletion to the user before it happens. Use when someone asks what people are saying under their posts, wants to find comments nobody has answered, reply to comments publicly or with an Instagram private reply, hide, unhide or delete a comment, or sort and assign comment threads on TikTok, Instagram, Facebook or Threads.
---

# Answer comments with PostFast

The PostFast inbox holds comments on the user's own posts on TikTok, Instagram, Facebook Pages and Threads. It is a comments inbox: never describe it as direct messages. Each account's `inboxCapable` flag in `list_accounts` says whether its comments reach the inbox today, and comments arrive only from the time the account was connected; there is no older history.

## Rules

1. **Nothing is sent or deleted without a yes to the exact preview.** Each action has its own preview tool, which sends nothing and returns a preview: `preview_comment_reply` for a public reply, `preview_private_reply` for an Instagram private reply and `preview_comment_deletion` for a deletion. Show the user the preview, wait for their yes in the conversation, and only then call the tool that carries it out: `reply_to_comment`, `send_private_reply` or `delete_comment`. This holds even when the user dictated the reply word for word: they still see the preview and say yes before it is sent. Never preview and carry out in the same turn.
2. **Carry out exactly what was previewed.** Pass the `confirmToken` from the preview with the same `itemId` and `text`, and the same `workspaceId` only if you passed one to the preview. If the user changes the text, preview it again and show the new preview.
3. **The conversation decides whether and how long a reply can be.** Read `canReply`, `maxReplyLength`, `windowState` and `disabledReason` on the conversation and keep to them. Don't assume a network's rules. When `canReply` is false, tell the user why, using `disabledReason`, instead of trying.
4. **If `preview_comment_reply`, `preview_private_reply` or `preview_comment_deletion` is not among your tools,** that action (a public reply, a private reply or a deletion) isn't available on this connection. Tell the user and suggest doing it in PostFast instead. Reading, hiding, restoring and sorting comments still work.

## Find comments to answer

1. If the user has more than one workspace (`list_workspaces`), ask which one and pass its `id` as `workspaceId` on every call.
2. `get_inbox_unread_count` gives the total of unread comments.
3. `list_inbox_conversations` lists threads, newest activity first, one per post. Filter with `unreadOnly`, `statuses` (OPEN, SNOOZED or CLOSED), `platforms` or `socialMediaIds`, and page with `page`.
4. `list_inbox_items` with the conversation's `id` as `conversationId` lists its comments and replies, oldest first (`order: "DESC"` for newest first). Items have `direction` (INBOUND from people, OUTBOUND from the account), `state` (VISIBLE, HIDDEN or DELETED), the author, and the text.
5. A comment is unanswered when it is INBOUND and VISIBLE and no OUTBOUND item replies to it; a reply's `parentExternalItemId` is the `externalItemId` of the comment it answers.
6. Show each comment with its post (the caption, and the link from `postPreview` when there is one), the author, the text and when it was written, and say whether a reply is possible.
7. After you have shown the user a thread, call `mark_inbox_conversation_read` for it.

## Reply

1. Draft a short reply to each comment the user wants answered, in the voice of the account and within `maxReplyLength`. Suggest hiding spam or abuse rather than answering it. Show the drafts as a numbered list so the user can change or drop any of them.
2. For each reply the user keeps, call `preview_comment_reply` with the comment's own `itemId` (the item from `list_inbox_items`, not the conversation) and the `text` e

Preview of the first 4,000 characters. Read full instructions →

performance-report3.6 KB

View saved version →

---
name: performance-report
description: Summarize how the user's social media is performing from PostFast analytics, with reach, engagement and follower growth per network, the best and weakest posts, and what to post more of. Use when someone asks how their posts did last week or last month, which posts worked best, how their follower count changed, or wants a performance report for a client, a manager or their team.
---

# Report social media performance with PostFast

This skill only reads. It never creates, approves or deletes anything.

## Steps

### 1. Set the scope

- **Workspace**: if `list_workspaces` shows more than one, ask which, and pass its `id` as `workspaceId` on every call.
- **Period**: use the period the user names. "Last week" means the previous Monday to Sunday in the user's time zone; with no period given, use the last 7 full days. State the dates you used. For a trend, also fetch the period of the same length just before it.
- **Accounts**: `list_accounts` gives each account's `platform`, `platformUsername` and current `followerCount`.

### 2. Fetch the numbers

- **Posts**: `get_post_analytics` with `startDate` and `endDate` (ISO 8601), and `platforms` or `socialMediaIds` to narrow it. It returns published posts with their `latestMetric` (impressions, reach, likes, comments, shares, total interactions) and network-specific `extras`; videos add views and watch time, and Instagram adds `saveRate`, and `reelsSkipRate` on Reels. There is no paging, so ask for a month at most at a time.
- **Followers**: `get_follower_history` for each account, with `from` and `to`. It returns `currentFollowerCount`, the change over the period (`delta`) and daily points. Tracking starts when PostFast first recorded the account (`trackingStartedAt`), so there is nothing before that date.
- **What went out**: optionally, `list_posts` with `statuses` PUBLISHED and FAILED and the same `from` and `to`, to count the posts published and the ones that failed.

Numbers come back as strings: convert them before you add or compare them. A post whose `latestMetric` is null has no metrics yet; count it but leave it out of averages.

### 3. Know the coverage

- Post analytics cover Instagram, Facebook, TikTok, Threads, YouTube, LinkedIn company pages and Pinterest business accounts. X, Bluesky, Telegram, Google Business Profile and LinkedIn personal profiles have no post analytics here; say so instead of reporting zeros.
- Follower history covers Facebook Pages, Instagram, YouTube, Pinterest, Threads, Bluesky, Telegram, LinkedIn company pages and TikTok, not X or personal Facebook profiles.

### 4. Write the report

1. **Summary**: two or three sentences on the period: posts published, total reach, engagement, and follower change.
2. **By network**: a table with posts, impressions, reach, interactions, engagement rate and follower change for each account. Engagement rate is interactions divided by reach; when reach is missing, use impressions and say so. Networks count impressions differently, so compare each network with its own earlier period rather than with the others.
3. **Best posts**: the top three by engagement rate, each with its account, date, the first line of its text, its numbers, and a short guess at why it worked, worded as a guess.
4. **Weakest posts**: the bottom one or two, with the same details.
5. **Next**: two or three concrete suggestions drawn from the data, such as the formats, topics, days or times that did best.

Keep every number traceable to the data you fetched, and don't state causes as facts. If the user wants to act on the suggestions, the schedule-posts skill can plan and schedule the next posts.
repurpose-content3.5 KB

View saved version →

---
name: repurpose-content
description: Turn an article, blog post, newsletter, video transcript or web page into a series of social posts and schedule them through PostFast. Use when someone shares a link or pasted text and asks for posts about it, a week of posts from it, a launch or campaign sequence across their networks, or captions for each network from one piece of content.
---

# Turn one piece of content into a week of posts

This skill plans and drafts the posts. Creating and scheduling them follows the schedule-posts skill, so they are held until the user approves them.

## Rules

1. **Nothing is created until the user has agreed to the drafts.** Planning and drafting use no PostFast tools that change anything.
2. **Stay true to the source.** Use only facts, numbers, names and quotes that are in it, word for word where it matters. Don't invent statistics, results or testimonials. Quote people only as the source quotes them.
3. **Fit each network.** Before you draft, load the schedule-posts skill and read its platform rules (`../schedule-posts/references/platform-rules.md` from this skill's folder): text limits, required media and how links work on each network.

## Steps

### 1. Read the source

Use what the user pasted or attached, or read the page at the link they gave with your own web tools, if you have them. If you can't open it, ask the user to paste the text. Read all of it before you plan.

### 2. Settle the brief

Ask only for what you can't tell, and propose a default for the rest:

- **Accounts**: `list_accounts` shows what's connected (use `list_workspaces` first if the user has more than one workspace). Only CONNECTED accounts can be scheduled.
- **How many posts, over how long**: by default about five posts over one week.
- **Time zone and times**: the user's time zone, and the times they usually post.
- **Link and call to action**: usually the source's own link, and what readers should do next.
- **Voice**: the account's usual tone, unless the user says otherwise.

### 3. Pull out the material

Note the main point, three to five strong supporting points (a finding, a tip, a number, a quote, an example), who it is for, and the call to action.

### 4. Plan the series

Lay the posts out in a table: day and time, account, angle, and media. Give each post its own angle, such as the announcement, a key takeaway, a surprising number, a quote, a practical tip, a question to the audience, and a recap. Don't repeat an angle on the same account, spread posts to one account over different days, and start with the announcement.

### 5. Draft each post

- Write every post so it stands on its own for someone who hasn't read the source.
- Fit each draft to its network with the platform rules: length, where the link goes, hashtags.
- Networks that require media (see the platform rules) need an image or video for every post. Use media the user gives you, or ask. An image from the source itself can be used only if the user confirms they may use it.
- Show the plan and all the drafts together, and let the user change, drop or add posts. Nothing is created yet.

### 6. Schedule them

When the user is happy with the drafts, follow the schedule-posts skill from its step 4: upload the media, create the posts on hold with `create_posts` and `approvalStatus: "PENDING_APPROVAL"`, show the preview, and call `approve_posts` only after the user says yes to that preview. If nothing changed since the drafts, keep the preview short: each post's account, time and first line, and a note that the texts are the ones agreed.
schedule-posts7.8 KB

View saved version →

---
name: schedule-posts
description: Schedule and publish social media posts through PostFast, with the user's approval before anything goes out. Use when someone wants to post or schedule something on X, Instagram, Facebook, TikTok, LinkedIn, YouTube, Threads, Pinterest, Bluesky, Telegram or Google Business Profile, plan a week of content, save a draft for later, or check, fix or remove posts that are scheduled or failed.
---

# Schedule posts with PostFast

These steps use the PostFast connector's tools. PostFast holds each post you create until the user approves it, so the user sees exactly what will go out, where and when, before anything is published.

## Rules

1. **Create on hold, publish only on a yes.** Create every post with `approvalStatus: "PENDING_APPROVAL"`. Show the user the preview (step 6), and call `approve_posts` only after they say yes to it in the conversation, even when their first message asked you to post right away. A yes covers the posts as previewed; if anything changes, preview again.
2. **Only connected accounts publish.** Check each account's `connectionStatus` in `list_accounts` before you schedule to it.
3. **Fit each network.** Before you write or adapt a post, read `references/platform-rules.md` in this skill's folder: text limits, required media, and the settings each network needs.
4. **Use the user's time zone.** `scheduledAt` is ISO 8601 with a UTC offset. If you don't know the user's time zone, ask once, and show every time back in it.

## Steps

### 1. Pick the workspace

Call `list_workspaces`. With one workspace, carry on and leave `workspaceId` out. With several, use the one the user names or ask which, then pass its `id` as `workspaceId` on every call that follows, including `approve_posts`, `delete_post`, `delete_posts` and `list_posts` in later turns. Leaving it out uses the workspace the user connected, where a post from another workspace isn't found: `delete_post` then answers `deleted: false`, `delete_posts` lists it in `notFoundIds`, and `list_posts` returns nothing.

### 2. Pick the accounts

Call `list_accounts` and match what the user asked for ("our Instagram", "LinkedIn and X") by `platform`, `platformUsername` and `displayName`. If a network has more than one account, ask which one.

If an account's `connectionStatus` is DISABLED:

- Don't schedule to it; PostFast rejects that. Tell the user, and give the `disabledReason`.
- Offer a reconnect link: `generate_connect_link` with `platforms` set to that network. Whoever owns the account opens the link and signs in again. Set `sendEmail` only when the user asks you to email the link and gives the address.
- Offer to save the post as a draft in the meantime.

### 3. Write the posts

- One post per account: a post for three networks is three posts.
- When the user gives exact text, use it as given. If it's over a network's limit, say so and offer a shorter version rather than cutting it yourself.
- When you write the text, fit it to each network instead of pasting one text everywhere: its length, how hashtags, mentions and links work there, and its tone. Keep names, prices, dates and links exactly as the user gave them.

### 4. Add media

- TikTok, Instagram, Pinterest and YouTube need media, even for a draft. If the user hasn't given any, ask for it before you create anything.
- A file at a public https URL: `upload_from_url` with `sourceUrl`. For a caption file or a document, link to the file itself; a share page doesn't work.
- A file in the conversation: `upload_media`. If your app can attach the file to the tool call, pass it as `file`. Otherwise pass its bytes as base64 in `data` with its MIME type in `contentType`, which suits images of a few MB. For a video or a large file you can't attach, ask for a public https link that downloads the file, and use `upload_from_url`.
- Each upload returns a `media_id` and its `type`. Pass an IMAGE or VIDEO one as `mediaItems[].key`, with that `type` and `sortOrder` from 0. A CAPTION 

Preview of the first 4,000 characters. Read full instructions →

Referenced files: 1 — file references are metadata, not package contents.

Release notes

You can now answer comments from ChatGPT: reply under a comment, send an Instagram private reply, or delete a comment. Each one shows you a preview first and waits for your yes before anything is sent or deleted. The first time you use them, ChatGPT may ask you to approve PostFast's comment permissions.

Declared in the saved package. Remote tools may change independently.

Package details

Publisher declarations from the archived package. These are separate from our research and the live service's terms.

Package author
PostFast
Getting started skill
./skills/get-started/SKILL.md
Commerce declaration
Does not support commerceThis does not establish whether access is free or paid.
Review scenarios
5 positive · 3 negativeScenario counts, not test results.

Declared capabilities

  • Schedule posts
  • Content calendar
  • Answer comments
  • Post analytics
  • Connect social accounts

Package observed Nov 6, 2026.

Technical details
First seen
Sep 30, 2026 · 22:02 UTC
Last seen
Nov 6, 2026 · 12:00 UTC
Latest observed change
Oct 28, 2026 · 12:27 UTC
Collection status
Collected

plugin_asdk_app_6a5cb08939488191b11c6c5648be95b9

Download plugin data (JSON)

Plugin details: served from cache. Prepared . Refreshed when plugin data changes or after 6 hours. Your account and Follow status are live.