---
title: "Connect your CMS or application"
description: "Choose a supported destination and supply the permissions and configuration it needs."
updated: "2026-09-11"
verifiedAgainst:
  - apps/web/app/app/integrations/page.tsx
  - apps/web/app/app/integrations/guide/page.tsx
  - workers/publishing-integrations-adapters.ts
  - apps/web/lib/server/publishing-integrations-wordpress-com-client.ts
  - apps/web/lib/server/publishing-integrations-wordpress-com-oauth.ts
---

An owner or admin connects a destination for the active Project. Use
**Integrations → Connections & routing → Connect**. Wait for **ready** before
saving it as a publication destination.

| Destination                    | What you need                                                                    | Receives summaries?           |
| ------------------------------ | -------------------------------------------------------------------------------- | ----------------------------- |
| WordPress, on your own hosting | Blogged Publishing companion plugin and a publishing user's application password | Yes                           |
| WordPress.com                  | Sign in to WordPress.com and authorize the Blogged app for one site              | No                            |
| Ghost                          | A custom integration's Admin API key                                             | Yes                           |
| Webflow                        | Site token, site/collection IDs and CMS field mapping                            | No                            |
| Next.js                        | The Blogged receiver installed on your server with PostgreSQL                    | Yes                           |
| Signed webhook                 | A receiver implementing Blogged's signed delivery contract                       | Only when it supports noindex |

## WordPress on your own hosting

Download the [Blogged Publishing plugin](https://app.blogged.dev/integrations/blogged-publishing-wordpress.zip)
and install and activate it in WordPress. Create an application password for a
dedicated user allowed to publish posts and upload media. In Blogged, enter the
installation's **CMS base URL**, the **Public blog URL**, username and application
password. The companion manages its own posts; it does not take over unrelated
WordPress content. Your installation must support the plugin's WordPress/PHP
requirements and InnoDB tables. Theme, SEO-plugin and upload settings still apply.

## WordPress.com

Choose **Connect with WordPress.com**. Sign in, select one site, and approve
site, post and media access. Back in Blogged, review the selected site and
confirm the connection. You do not need to register your own developer app or
install the self-hosted companion plugin.

The site permission verifies access; posts and media allow article delivery and
image copying. An existing token can still be used through **Use an existing API
token instead**, with the same one-site permissions. Keep it private.

Attempts expire after 15 minutes and are bound to the browser, Blogged account
and Project. Start again after an expired attempt. **Reconnect** must authorize
the original site; use a new connection for a different site. To revoke provider
consent, use WordPress.com's connected applications settings. Cancelling an
unfinished attempt in Blogged clears its pending credential, not provider consent.

WordPress.com is a full-article destination because this adapter cannot guarantee
per-post noindex control for summary copies.

## Ghost

Create a custom integration in Ghost, then copy its **Admin API key**. Enter the
CMS base URL and public blog URL in Blogged. An author ID is optional. Delivery
publishes to the website without requesting newsletter delivery.

## Webflow

Use a site token with `sites:read`, `cms:read`, `cms:write` and `assets:write`.
Enter the site and collection IDs, map the **Rich Text body** field, and create
a dedicated **Plain Text publication ID** field. Map optional summary, SEO-title,
meta-description and cover-image fields when your template supports them.

Your site plan must support the intended CMS publication, and the collection
page template must render these fields. Blogged publishes its individual items;
it does not publish the entire site. Webflow is a full-article destination in
this release. See the [setup reference](https://app.blogged.dev/integrations/guide)
for the adapter's current requirements.

## Next.js and signed webhooks

Download the [Next.js receiver](https://app.blogged.dev/integrations/blogged-nextjs-receiver.zip)
and follow its included README. It requires a Node.js server, durable PostgreSQL
storage and a supported `after()` request lifetime; static export is not supported.
A custom webhook receiver must implement durable publication identity, ordered
updates, image copying, inspection and withdrawal. See [Developer API](/integrations/developer-api).

When a secret is generated, copy it into your receiver before dismissing it.
Secrets are shown only in the creation response. After a connection is **ready**,
[save destinations for new articles](/integrations/publishing).
