Plugins and apps
The constraint
Section titled “The constraint”Pickpost holds every user’s social network tokens. Any code running inside the server process can read all of them. That decides who may run code where.
| Who writes it | Where it runs | What it can reach |
|---|---|---|
| Pickpost | inside the server, compiled in | everything, like the rest of the code |
| anyone else | its own server, as an app | only what a user granted it, through the public API |
Pickpost will not load community plugins into the hosted service. One malicious or buggy plugin would expose every user’s accounts.
Official plugins
Section titled “Official plugins”Built by the Pickpost team and compiled into the server. Each is one extension point:
- Networks. A new social network (LinkedIn, Bluesky, Instagram).
- Actions. A new capability. It shows up in the UI, the assistant, MCP and the REST API at once, with the same approval rules.
- Content hooks. Change a post just before it is published, for example add UTM tags.
- Event sinks. React to
post.published,post.failed,account.disconnected. - Notification channels. Email first, then others.
Community apps
Section titled “Community apps”A community plugin is an app, the same model as Slack or Shopify apps:
- Manifest. The app publishes
pickpost-app.jsonwith its name, the scopes it needs (posts:read,posts:write, …) and the events it wants. - Install is an OAuth consent. The user sees the scopes and approves. The app gets a token for that user only.
- The app calls Pickpost through the REST API or MCP, within its scopes. Public actions still become approval cards.
- Events arrive as signed webhooks: an HMAC-SHA256 signature and a timestamp, retries with backoff, and a delivery log.
- UI inside Pickpost runs in a sandboxed iframe from the app’s own origin. Pickpost never runs third-party JavaScript in its own page.
Order of work
Section titled “Order of work”- Scoped tokens and OAuth for MCP clients, through Pickpost’s sign-in service. Done.
- Signed outgoing webhooks. Done for workspaces, added by their owners and admins; apps will subscribe to them at install.
- App registry and install screens (third-party applications in the sign-in service).
- UI surfaces for apps.