All plugins

@shane.bsky.shas.am/emdash-to-buffer-plus

EmDash to Buffer Plus

Share new entries to Buffer, fitted to each network, with delivery tracking, an engagement dashboard, an editor panel and MCP tools.

View source

About EmDash to Buffer Plus

Shares new entries to your Buffer channels, fitted to each network, with delivery tracking, an engagement dashboard, an editor panel and MCP tools.

  • Every network Buffer's API can post to. Text is fitted to each network's limit, only the description is shortened, and each post carries the entry's image or a link card where Buffer supports one.
  • Tracked delivery. Each post is followed from your site to the live post. A failed post shows Buffer's reason and can be retried, and an uncertain answer is checked in Buffer before anything is sent again, so nothing posts twice.
  • Reports. Posts sent, queued and failed, impressions and engagement over 7, 30 or 90 days, top entries and a table per channel. A missing figure is shown as missing, never as zero.
  • Editor panel. Before an entry is first sent, leave out a channel or write custom text for it. Afterwards, see each channel's state and a link to the live post.
  • MCP tools. Four read-only tools that answer from stored data.

Only entries first published after you install the plugin are shared, and republishing never sends again.

The plugin uses the Buffer API with your personal API key. It is not affiliated with Buffer.

Before you install

Requested permissions

4
  • Read content

    Read entries from your site’s content collections.

  • Read content structure

    Read the collections and fields defined on your site.

  • Read media

    Read media metadata from your library.

  • Make network requests

    Connect to the publisher-declared external hosts.

    • api.buffer.com

Faq

Will it share my existing posts? Not on their own. An administrator can share an older entry by hand with Share now in its editor panel. Republishing never sends an entry again.

Why was a channel skipped? The editor panel and the Buffer Plus page say why: the network needs an image the entry lacks, the channel is disconnected or locked, no Pinterest board is chosen, the text is too long even without the description, or Buffer's API cannot post there (YouTube, WhatsApp, Start Page).

Which tags work in post text? {title}, {description} (the entry's Description or SEO description, also written {excerpt}) and {url}.

Why does a figure say "None yet"? Buffer reports figures about once a day, and only those a network gives. Missing is not zero.

Do impressions include posts made elsewhere? Yes. They cover every post on the shared channels, split into posts made directly on the network and posts made through Buffer, this plugin included. Sent, queued and failed count this plugin's posts only.

Why only 31 days of figures? Buffer limits how far back figures go by plan: the Free plan gives 31 days (from Buffer's own answer, not documented by Buffer). The plugin learns the limit from Buffer and shows what the plan allows.

Can a post go out twice? No: after an uncertain answer it looks for the post in Buffer before sending again.

How many Buffer requests does it make? About 40 to 50 a day for 10 channels, from Buffer's per-account limit shared with your other keys and assistants (Free plan: 250 a day, 3,000 in 30 days). Reports pause while less than "Leave for other tools" is left.

What if Buffer's limit is reached? Posts are not lost. They wait and go out by themselves when the limit refills. Buffer's separate per-channel posting limit can refuse a post: select Retry the next day.

Does it work on every network? It follows Buffer's documented rules but has not been tried live on every network. Please report what you find.

Security

Report a security problem privately through the repository's advisory form: https://github.com/shanelord01/emdash-to-buffer-plus/security/advisories/new

What the plugin can do

  • Read content, the schema and media, to find a published entry's link and image. It never changes your content.
  • Make requests to api.buffer.com only. It sends Buffer each post's text, link, image address and alt text.

How it handles your Buffer key

  • The key is saved as an encrypted setting (AES-GCM with EMDASH_ENCRYPTION_KEY). Without that key EmDash refuses to save it rather than store it in plain text.
  • The key is never shown in the admin after saving and never logged.
  • A Buffer key acts for your whole Buffer account. If you think it has leaked, create a new one in Buffer under Settings > API and paste it into the plugin's settings.

Images

Buffer fetches images itself. The plugin passes an image address only when it is https and on your site's own host, or an absolute https address from an external media provider. IP addresses, localhost and private names are refused.

Who can do what

Viewing the Buffer Plus page, the dashboard card, the editor panel and the MCP tools needs the editor role. Discovering channels, saving setup, Retry and Send again need the administrator role.

Changelog

0.1.3, 3 October 2026

  • The engagement and impressions charts cover every day of the range. A day with no posts counts as 0. Days without figures, and figures a network does not report, stay as gaps.
  • The sent and failed chart covers the whole range too, and chart tooltips show the day without a time.
  • Share now and Send again ask for confirmation inside the editor panel, naming the channels.
  • The Setup view says older entries can be shared with Share now.
  • No new permissions and no MCP tool output changes.

0.1.2, 3 October 2026

  • Buffer limits how far back figures go by plan (the Free plan: 31 days). The plugin learns the limit from Buffer's answer, reads only what the plan allows and says so on the Analytics page, instead of showing an error and no channel figures.
  • The engagement and impressions charts split each channel into posts made directly on the network and posts made through Buffer, such as "Facebook (Direct)" and "Facebook (Buffer)".
  • {description} works in post text as another name for {excerpt}.
  • The plugin is called Buffer Plus in the admin sidebar, on the dashboard and in the editor.
  • Parts of a Buffer answer that came back are kept when other parts are refused.
  • No new permissions and no MCP tool output changes.

Full history: CHANGELOG.md.

Installation

You need EmDash 1.1.0 or later with a sandbox runner, a Buffer account with your channels connected, room in your Buffer account's API limit (shared by every key and connected assistant: 250 requests a day and 3,000 in 30 days on the Free plan, the plugin uses about 40 to 50 a day for 10 channels), and EMDASH_ENCRYPTION_KEY set on the site so the API key can be saved encrypted (npx emdash secrets generate makes one).

  1. Install the plugin from the Registry and review its permissions: read content, read the schema, read media, and network requests to api.buffer.com only.
  2. In Buffer, open Settings > API (https://publish.buffer.com/settings/api) and create a personal API key.
  3. In EmDash, open Plugins, then this plugin's settings, and paste the key into Buffer API key. Save.
  4. Open Plugins > Buffer Plus and select Setup.
  5. Select Discover channels.
  6. Turn on each channel you want to post to, and choose when it posts (queue, share next, share now or a Buffer draft) and what it attaches (image, link card or nothing). Pinterest also needs a board.
  7. Under Collections, tick the collections to share from and choose where each takes its image.
  8. Publish an entry. It goes to Buffer straight away, or within a minute or two when many channels are on.

Each collection needs a URL Pattern (under Content Types) so entries have a public link. On Cloudflare Workers, the sync needs the Cron Trigger from EmDash's deployment guide.

To use the MCP tools, turn on Agent access for the plugin under Plugins. Turn it on again after an update that adds a tool or a permission.

Install on your site

Open in EmDash

Choose the EmDash site where you want to review this plugin. Nothing is installed until you confirm its permissions in that site's admin.

This browser will remember the site. You can change it next time.