← Plugin catalog
Communication

Publora

CCCrafts v1.0.0

Is this plugin right for you?

Researched Oct 1, 2026

Schedule and publish social content from one conversation. [1]

Useful for social media managers. Our assessment from the available sources.

What you can do

  • Schedule a post with media [1]
  • Review queued content [1]

What you need

  • A Publora account with at least one connected social account [1] [2] [3]

Pricing

Free Starter includes API and MCP access. Higher limits are paid. [1] [2] [3]

Before you connect

  • Network-specific rules and account limits apply; publishing changes external accounts. [1] [2] [3]
Sources, unknowns & research method

We reviewed the saved listing and available official pages. Scenarios are our summaries of documented capabilities. This plugin has not been tested in a connected account. A missing price does not mean free access.

Still unknown

  • A numeric price applicable to this integration has not been established.
  • Publisher country has not been verified in this research pass.
  1. Saved marketplace listingchatgpt.com · Checked Oct 1, 2026 · Snapshot saved
  2. Official websitepublora.com · Checked Oct 1, 2026 · Snapshot saved
    API & MCP access
  3. Saved listing and package evidencecodex-plugin-stats.com · Checked Oct 1, 2026 · Snapshot saved
  4. Official websitepublora.com · Checked Oct 1, 2026 · Snapshot saved
  5. Saved package manifestcodex-plugin-stats.com · Checked Sep 30, 2026 · Snapshot saved
Download structured report →

Publisher description

Publora lets ChatGPT publish and schedule your social media posts across ten networks: LinkedIn, X, Instagram, Threads, TikTok, YouTube, Facebook, Bluesky, Mastodon and Telegram. Connect your accounts once, then work in plain language. Ask for a post to be drafted and kept as a draft for you to approve, attach an image or video, schedule it for a specific time, or check what is already queued. Publora handles each network's own rules, so you don't have to think about character limits, media requirements or threading. On LinkedIn it can also comment, react and reshare from the same conversation. You need a Publora account with at least one connected social account. The free plan works.

Language: English · Automatically detected from descriptions.

Package details

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

Package author
CCCrafts

Package observed Sep 30, 2026.

Files & skills

File archives

Plugin package5 files · 5.17 KBBrowse files →
Skill instructions
publora-linkedin-engagement2.88 KB

View saved version →

---
name: publora-linkedin-engagement
description: >
  Comment, react and reshare on LinkedIn through Publora, and mention people
  correctly. Use when the user wants to respond to a LinkedIn post rather than
  publish their own. Not for metrics — Publora exposes no LinkedIn analytics
  here.
---

# LinkedIn engagement

Publishing is only half of LinkedIn. This skill covers the other half:
responding to what is already there. Every action below happens on a live post
under the user's own name, in public, and the platform notifies people.

## Before anything

```
list_connections
```

Engagement needs a connected LinkedIn account, and the `platformId` goes into
each call verbatim. If LinkedIn is not connected, say so and stop.

## What is available

| Action | Tool | Reversible? |
|---|---|---|
| React to a post | `linkedin_create_reaction` | Yes, `linkedin_delete_reaction` |
| Remove a reaction | `linkedin_delete_reaction` | The original is gone |
| Comment | `linkedin_create_comment` | Yes, `linkedin_delete_comment` |
| Delete a comment | `linkedin_delete_comment` | **No** |
| Reshare to the feed | `linkedin_create_reshare` | Delete the reshare as a post |

Reactions and comments need the target post's URN. Take it from what the user
gives you — a link or an id — and never construct one. A guessed URN either
fails or, worse, hits someone else's post.

## Comments are text the user signs

Show the exact comment text and the post it lands under, and wait for a yes.
"Leave a nice comment on that post" is not consent to a specific sentence.

Keep drafted comments short and specific to the post. Do not add hashtags,
emoji or a pitch for the user's own product unless they asked.

## Mentions

`linkedin_list_mentionables` lists people captured from engagement on the
user's connected company pages, each with the app-scoped person id — the only
id namespace LinkedIn resolves in a mention. Look the person up there and use
the returned id. A name typed into the text is plain text, not a mention, and a
guessed id will not resolve.

If the person is not in the list, say so. They have not engaged with the
account, so there is nothing to mention them by.

## Reshares

`linkedin_create_reshare` puts an existing post on the user's own feed,
optionally with commentary. The commentary is the user's public voice: draft
it, show it, then post it. The original post is untouched.

A scheduled reshare of the user's own upcoming post is set instead through
`platformSettings.linkedin` on `create_post` — see the `publora-publishing`
skill.

## Never

- React, comment or reshare without an explicit go-ahead on the exact content.
- Delete a comment because it "looks wrong". It cannot be brought back.
- Bulk-engage: no reacting to a list of posts, no repeated comments across a
  feed. That is what platforms remove accounts for.
- Claim engagement numbers or reach. Those are not available through this
  connector.
publora-media2.86 KB

View saved version →

---
name: publora-media
description: >
  Attach images and video to a Publora post — by public URL or by uploading a
  local file — and fix media problems that block scheduling. Use when a post
  needs a picture or clip, when Instagram, TikTok or YouTube refuse a text-only
  post, or when media errors stop a post from being scheduled.
---

# Media in Publora

Two ways in, and one of them is much shorter.

## By URL, when the file is already on the web

Pass `mediaUrls` to `create_post` or `update_post`. Publora downloads the files
server-side, so nothing is uploaded from the conversation.

```
create_post
  platforms: ["<platformId>"]
  content: "<caption>"
  mediaUrls: ["https://example.com/image.png"]
  scheduledTime: "2026-08-12T09:00:00Z"
```

Requirements that actually bite:

- **Direct file URLs only.** A Google Drive or Dropbox share page is a web page,
  not a file, and the download fails.
- Images: jpeg, png, gif, webp, tiff, avif, up to 25 MB.
- Videos: mp4, mov, webm, up to 150 MB.
- Up to 10 files per post.

If a URL cannot be fetched, the whole call fails and the response names the
file and the HTTP status behind it. Report that to the user rather than
retrying the same URL — an expired or private link will not start working.

## By upload, when the file is local

Three steps per file, in order:

1. `get_upload_url` with a **unique** file name → returns a presigned URL and a
   `mediaId`. Reusing a name returns the same slot instead of adding a new one,
   which is how several files silently collapse into one.
2. `PUT` the bytes to that URL.
3. `complete_media` for that `mediaId` — Publora inspects the bytes and marks
   the file ready.

Create the post as a draft first (no `scheduledTime`), attach the media, then
`update_post` with `status: "scheduled"` and the time. Scheduling before the
media is ready fails validation.

## Networks that require media

Instagram, TikTok and YouTube cannot take a text-only post. If the user wants
one of those without a file, say so and offer either to attach something or to
drop that network — do not schedule and hope.

## Covers and network options

`platformSettings` carries the extras: an Instagram Reels cover image, a
YouTube title, tags and privacy, TikTok viewer setting. A cover URL follows the
same rule as any media URL — public, direct, https.

## When media blocks scheduling

Two errors show up in practice:

- **Too many media slots, or a slot that was never uploaded.** Call `get_post`
  and read its `media` array: each entry carries a status. Remove the offending
  file with `delete_media`.
- **A reference to a file that no longer exists.** `prune_media_reference`
  clears a dangling reference that `delete_media` cannot, because the underlying
  record is already gone.

Both are destructive and cannot be undone. Name the exact file you are about to
remove, and let the user confirm before you remove it.
publora-publishing4.26 KB

View saved version →

---
name: publora-publishing
description: >
  Publish or schedule a post to connected social accounts through Publora —
  LinkedIn, X, Instagram, Threads, TikTok, YouTube, Facebook, Bluesky,
  Mastodon, Telegram. Use for drafting, scheduling, editing the queue and
  checking what is already queued. Not for analytics; Publora does not
  expose metrics here.
---

# Publishing with Publora

One post, several networks, one set of rules. This skill covers the whole
publishing path: read what is connected, respect each network's limits, save a
draft or schedule, then confirm what actually happened.

Publishing is public and effectively irreversible. Show the user the exact text
and the exact accounts before anything goes out, and never publish on a guess.

## Always start with the connections

```
list_connections
```

Copy each target's `platformId` **verbatim** into the next call. Never invent,
shorten or guess an id — a wrong id is the most common reason a post silently
goes nowhere. If the network the user asked for is not in the list, say so and
stop: connecting an account is done by the user in the Publora dashboard, not
by a tool.

Pinterest can be connected but cannot be published to.

## Draft, schedule or publish

`create_post` does all three, and the difference is one field:

| Intent | Call |
|---|---|
| Draft, to finish later | `create_post` **without** `scheduledTime` |
| Scheduled | `create_post` with `scheduledTime` |
| Right now | `create_post` with a `scheduledTime` a few minutes ahead |

Times are ISO 8601 in UTC, for example `2026-08-12T09:00:00Z`. When the user
says "tomorrow at 9", convert from their timezone and state the conversion back
to them. Read the `scheduledTime` in the response rather than repeating the
requested one: the server may adjust it and explain why in `warnings`.

Default to a draft when the request is ambiguous. A draft that needed to be a
post costs one click; a post that needed to be a draft cannot be recalled.

## Per-network limits

Publora validates these, but knowing them avoids a failed call:

| Network | Caption limit | Media |
|---|---|---|
| X | 280 | optional |
| Threads, Mastodon | 500 | optional |
| Instagram, TikTok | 2200 | **required** |
| YouTube | 5000 | **required** |
| LinkedIn | 3000 | optional |
| Facebook, Bluesky, Telegram | generous | optional |

When one post targets several networks, the strictest limit wins. If the text
is too long for one of them, offer to shorten it or to drop that network —
do not silently truncate.

Instagram, TikTok and YouTube reject a text-only post. Attach media or leave
them out; see the `publora-media` skill for how.

Network-specific options — YouTube title and tags, TikTok privacy, Instagram
cover, Telegram flags, Threads reply control, LinkedIn scheduled repost — go in
`platformSettings`, never inside the caption.

## After the call

`create_post` returns a `postGroupId`. Give it to the user together with the
stored time and the resolved account names. That id is how anything is changed
later.

- `list_posts` — what is queued, filtered by status, network or date range.
- `get_post` — one post group in full, including per-network state.
- `update_post` — edit content, targets, status, time or settings in place.
  It overwrites, so state what will change before calling it. Removing a
  network from the target list drops that network's post.
- `delete_post` — permanent, for one post group at a time. Ask first, and
  never run it across a list because the user said "clear my queue".

## Retries

Every write accepts an `idempotencyKey`. Reuse the same key when retrying the
same post so a network hiccup cannot produce two identical posts. Change the
key only when the content changes.

## Test without publishing

`publora-playground` is a reserved target: a post sent there is acknowledged
and discarded, and nothing reaches a real account. Use it to prove the
connection works before touching a live account — especially on a first run.
It must be the only entry in `platforms` when used.

## Never

- Publish or delete without the user seeing the exact text and targets.
- Invent a `platformId`, an account, or a time the user did not confirm.
- Answer "which accounts do I have" from memory. Call `list_connections`.
- Present a draft as published, or a scheduled post as already live.
Technical details
First seen
Sep 30, 2026 · 22:02 UTC
Last seen
Oct 1, 2026 · 12:00 UTC
Collection status
Collected

plugin_asdk_app_6a7074e91c008191942479b885fb0d9b

Download listing JSON