> ## Documentation Index
> Fetch the complete documentation index at: https://docs.postsider.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Blogging & Publishing Channels: WordPress, Medium & More

> Publish to WordPress, Medium, Dev.to, Hashnode, Ghost, Notion, Bear Blog, and more from Volta. All use direct credential entry — no OAuth app needed.

Volta connects to the most popular blogging and publishing platforms, letting you write once and publish everywhere. Whether you maintain a self-hosted WordPress site, a Hashnode blog, or a minimal Bear Blog, you can compose your content in Volta and push it to your publishing destinations on a schedule. This section also covers Google My Business, Listmonk newsletters, and Lemmy — platforms where longer-form or structured content makes sense.

<Tip>
  Every platform in this section uses **direct credential entry** — you enter a token or API key from the platform's settings page directly into Volta. No OAuth app registration or server-side configuration is required, making these the fastest channels to connect.
</Tip>

## Platforms

<AccordionGroup>
  <Accordion title="WordPress">
    **Connection method:** REST API with Application Password

    **How to connect:**

    <Steps>
      <Step title="Enable REST API">
        WordPress REST API is enabled by default on all modern WordPress installations. No plugin is required.
      </Step>

      <Step title="Create an Application Password">
        In your WordPress admin, go to **Users → Your Profile → Application Passwords**. Enter a name (e.g. "Volta") and click **Add New Application Password**. Copy the generated password.
      </Step>

      <Step title="Connect in Volta">
        Go to **Channels → Add Channel → WordPress** and enter:

        * **Domain** — your WordPress site URL (e.g. `https://myblog.com`)
        * **Username** — your WordPress username
        * **Password** — the Application Password you just created
      </Step>
    </Steps>

    **Notes:**

    * Uses the WordPress REST API (`/wp-json/wp/v2/posts`)
    * Supports HTML in the post editor
    * Supports custom post types (configured per connection)
    * Max 100,000 characters per post
  </Accordion>

  <Accordion title="Medium">
    **Connection method:** Integration Token

    **How to connect:**

    <Steps>
      <Step title="Generate an Integration Token">
        Go to [medium.com/me/settings](https://medium.com/me/settings), scroll to **Security and apps**, and click **Integration tokens**. Generate a new token.
      </Step>

      <Step title="Connect in Volta">
        Go to **Channels → Add Channel → Medium** and paste your integration token.
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="Dev.to">
    **Connection method:** API Key

    **How to connect:**

    <Steps>
      <Step title="Generate a DEV API Key">
        Go to [dev.to/settings/extensions](https://dev.to/settings/extensions), scroll to **DEV API Keys**, enter a description, and click **Generate API Key**.
      </Step>

      <Step title="Connect in Volta">
        Go to **Channels → Add Channel → Dev.to** and paste your API key.
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="Hashnode">
    **Connection method:** Personal Access Token

    **How to connect:**

    <Steps>
      <Step title="Generate a Personal Access Token">
        Go to [hashnode.com/settings/developer](https://hashnode.com/settings/developer) and generate a new Personal Access Token.
      </Step>

      <Step title="Connect in Volta">
        Go to **Channels → Add Channel → Hashnode** and paste your token.
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="Ghost">
    **Connection method:** Admin API Key

    **How to connect:**

    <Steps>
      <Step title="Create a Ghost integration">
        In your Ghost admin panel, go to **Settings → Integrations** and click **Add custom integration**. Give it a name (e.g. "Volta") and copy the **Admin API Key**.
      </Step>

      <Step title="Connect in Volta">
        Go to **Channels → Add Channel → Ghost** and enter:

        * **Domain** — your Ghost instance URL (e.g. `https://myblog.ghost.io`)
        * **Admin API Key** — the key you copied
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="Notion">
    **Connection method:** Internal Integration Token

    **How to connect:**

    <Steps>
      <Step title="Create a Notion integration">
        Go to [notion.so/my-integrations](https://www.notion.so/my-integrations) and create a new internal integration. Copy the **Internal Integration Secret**.
      </Step>

      <Step title="Share pages with the integration">
        In Notion, open each database or page you want Volta to publish to. Click **...** → **Add connections** and select your integration. You must do this for each page or database you want to use.
      </Step>

      <Step title="Connect in Volta">
        Go to **Channels → Add Channel → Notion** and paste your Internal Integration Secret.
      </Step>
    </Steps>

    **Notes:**

    * The integration can only access pages you've explicitly shared with it
  </Accordion>

  <Accordion title="Bear Blog">
    **Connection method:** URL + API Token

    **How to connect:**

    <Steps>
      <Step title="Get your Bear Blog API token">
        Log into your Bear Blog account and find your API token in the account settings.
      </Step>

      <Step title="Connect in Volta">
        Go to **Channels → Add Channel → Bear Blog** and enter your Bear Blog URL and API token.
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="Mataroa">
    **Connection method:** API Key

    **How to connect:**

    <Steps>
      <Step title="Get your Mataroa API key">
        Log into your Mataroa account and go to **Settings**. Find and copy your API key.
      </Step>

      <Step title="Connect in Volta">
        Go to **Channels → Add Channel → Mataroa** and paste your API key.
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="Write.as">
    **Connection method:** Username and password

    **How to connect:**

    <Steps>
      <Step title="Connect in Volta">
        Go to **Channels → Add Channel → Write.as** and enter your Write.as username and password.
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="Google My Business">
    **Connection method:** OAuth 2.0 via Google

    Google My Business uses the **same Google OAuth credentials** as YouTube (`YOUTUBE_CLIENT_ID` / `YOUTUBE_CLIENT_SECRET`). If you've already connected a YouTube channel, your Google app is already set up.

    **Additional setup required:**

    <Steps>
      <Step title="Enable GMB APIs in Google Cloud">
        In your Google Cloud project, enable the following APIs:

        * My Business Account Management API
        * My Business Business Information API
        * Business Profile Performance API
      </Step>

      <Step title="Add the GMB redirect URL">
        In your OAuth client's authorized redirect URIs, add:

        ```
        https://your-volta-domain.com/integrations/social/gmb
        ```
      </Step>

      <Step title="Connect in Volta">
        Go to **Channels → Add Channel → Google My Business** and authenticate with your Google account.
      </Step>
    </Steps>

    **Limits and notes:**

    * Max 1 photo per post (video is not supported)
    * Supports **EVENT** and **OFFER** post types in addition to standard updates
  </Accordion>

  <Accordion title="Listmonk (Newsletter)">
    **Connection method:** API credentials (self-hosted)

    Listmonk is a self-hosted email newsletter platform. Volta integrates with your Listmonk instance via its API.

    **Required credentials:**

    | Variable           | Description                       |
    | ------------------ | --------------------------------- |
    | `LISTMONK_DOMAIN`  | URL of your Listmonk instance     |
    | `LISTMONK_USER`    | Admin username                    |
    | `LISTMONK_API_KEY` | API key from Listmonk settings    |
    | `LISTMONK_LIST_ID` | ID of the mailing list to send to |

    **How to connect:**

    <Steps>
      <Step title="Set up Listmonk">
        Install and configure [Listmonk](https://listmonk.app/) on your own server.
      </Step>

      <Step title="Get your API credentials">
        In Listmonk admin, go to **Settings → API** to find your API credentials. Note the list ID for the list you want to send to.
      </Step>

      <Step title="Configure in Volta">
        Enter your Listmonk domain, username, API key, and list ID in the Add Channel popup.
      </Step>
    </Steps>

    **Notes:**

    * Listmonk must be publicly accessible for Volta to reach the API
  </Accordion>

  <Accordion title="Lemmy">
    **Connection method:** Direct credentials — no OAuth app setup needed

    **How to connect:**

    <Steps>
      <Step title="Connect in Volta">
        Go to **Channels → Add Channel → Lemmy** and enter:

        * **Instance URL** — your Lemmy instance (e.g. `https://lemmy.world`)
        * **Username** — your Lemmy username
        * **Password** — your Lemmy password
      </Step>
    </Steps>

    **Limits and notes:**

    * Max 10,000 characters per post
    * Supports 1 cover image per post
    * Posts are published to your chosen community on the instance
  </Accordion>
</AccordionGroup>
