payload-plugins
A monorepo of open-source Payload CMS plugins, each published independently to npm.
Launched on
Visit →
payload-plugins is a monorepo of Payload CMS plugins I build and maintain. Each plugin lives in its own workspace package and is published independently to npm, while a shared dev/ Payload app mounts every plugin for local testing. Versioning and releases are handled per-package with Changesets.
I started extracting these while building production Payload sites: the same gaps kept showing up — pulling forms in from HubSpot, picking icons in the admin, and translating localized content — so I pulled them out into reusable, well-tested plugins instead of copy-pasting bespoke code between projects.
Plugins
payload-hubspot
Syncs HubSpot forms into Payload’s Form Builder collection. It adds a HubSpot Forms button next to Save/Publish on the forms collection: editors fetch the forms defined in a HubSpot account, pick one, and import its fields into a Payload Form Builder document. The HubSpot portalId and formId are stored on the document so it stays linked back to its source form — letting you render HubSpot forms in your own design system instead of as an embed.
payload-iconify
An Iconify icon-picker field for Payload. It gives editors a searchable icon input in the admin so they can browse and select from the full Iconify set wherever a field needs an icon — navigation items, feature cards, callouts — without hardcoding SVGs.
- source (npm release coming soon)
payload-translator
Translates localized documents and globals through pluggable resolvers. It ships adapters for copy, Google, OpenAI, LibreTranslate, and the Vercel AI SDK, so you can draft a translation of the active document into your other locales and review it rather than retype it — useful for keeping multilingual sites in sync.
- source (npm release coming soon)
Tooling
- pnpm workspaces — each plugin is its own package; the
dev/app imports them directly so source changes are picked up without a rebuild. - Changesets — independent versioning and changelogs, with each package versioned and published on its own.
- SWC + shared tsconfig — a common build and TypeScript config across every package.
- Vitest + Playwright — integration and e2e tests run against the shared Payload dev app.
Repository
- Source code: github.com/omaroubari/payload-plugins