Connect Hashnode to Fondoo

Live6 min readUpdated

Connecting Hashnode lets Fondoo and your AI agent publish to your Hashnode blog. The agent can write drafts, update posts and fix SEO fields. It asks you before anything goes live or gets deleted. There are two ways to connect; this guide covers the main one first.

What Fondoo can do with it

Main route: Hashnode as your blog (a "connector"). You store a Hashnode token in Fondoo once. After that, Fondoo can:

  • List your publication's posts and read a single post.
  • Create drafts, update drafts and posts, and publish a draft.
  • Delete posts or drafts.
  • Link a Fondoo site to Hashnode (connect_cms). Then page edits (update_page) and publishing (publish_connected_page) go to Hashnode.
  • Fill in missing SEO titles, descriptions and canonical links (apply_seo_fixes). Hashnode calls the canonical link originalArticleURL.

Needs your approval: publishing a draft, deleting a post or draft, switching a site to a different blog, and removing the connection. Fondoo marks these steps as destructive. When your agent tries one, the request waits in your approval queue. Publishing a linked page also needs approval, unless you have turned on automatic publishing in Fondoo. So does an SEO fix that touches more than 20 pages. Reading posts and saving drafts do not need approval.

Second route: Hashnode as a social channel. Fondoo can also cross-post to Hashnode through Upload-Post, its posting partner for social networks. Use this only if you want Hashnode in your social calendar. Posts are text only, up to 100,000 characters. Each needs a title (hashnode_title, 3 to 250 characters) and an HTTPS canonicalUrl pointing to the original article. Fondoo adds "Original source: " to the post. By default every post waits for your approval. There are no stats for this route.

Before you start

  • A Hashnode account and a Hashnode blog (Hashnode calls it a "publication").
  • A Hashnode Pro plan on that publication. Since 13 May 2026, Hashnode requires Pro for every API request, both reads and writes (announcement). Hashnode lists Pro at $5 per seat per month on hashnode.com/pro. Prices change, so check the Billing page in your blog dashboard.
  • Your Hashnode role on the publication must allow the action. Hashnode, not Fondoo, decides what your token can do.
  • You are the owner of your Fondoo workspace.
  • The public HTTPS address of your blog, for example https://blog.example.com. You need it to link a Fondoo site.

Step by step: get your credentials

You need two values: a personal access token and your publication ID.

  1. Sign in to Hashnode. Open hashnode.com/settings/developer. You can also click your profile picture, choose Account Settings, then the Developer tab.
  2. Click Generate new token. Labels can change. Look for the button that creates a personal access token.
  3. Copy the token and keep it private. Anyone with it can act as you on Hashnode.
  4. Open your blog dashboard. The address looks like https://hashnode.com/<ID>/dashboard. The long code in place of <ID> is your publication ID. Copy it.

Where each value goes:

Hashnode valueMain route fieldSocial route field
Personal access tokenapiKeypat
Publication IDpublicationIdpublication_id

Connect it in Fondoo

To get the setup steps as a link, your agent can call connect_service({provider:"hashnode", siteId}) (REST: POST /v1/ops/connect_service). It returns a signed link, valid for 15 minutes, plus a QR code and these setup steps. That link only shows instructions. Your token is saved through the secure key page from add_connection_key (the dashboard Use a key button), below.

(a) In the dashboard

  1. Open Connections in the left menu.
  2. In the Available card, find Hashnode under "Content". Or type "Hashnode" in Find a tool.
  3. Click Use a key. When "Enter your key securely" appears, click Open secure key entry.
  4. Paste the token into apiKey and the publication ID into publicationId, then save. Fondoo encrypts your key and never adds it to the chat.
  5. Hashnode now shows in the Connected card. Click Check connection.

The Connect Hashnode button only gives you a setup link. Use a key is what stores your token.

(b) Ask your agent

Example prompt:

Connect my Hashnode blog. Send me a secure link to enter my token. Then test the connection and link it to my site at https://blog.example.com.

The agent will call:

  1. add_connection_key with { "provider": "hashnode", "siteId": "<site>" }. Leaving out fields returns a one-time secure link that expires in 15 minutes. You open it and paste your values yourself.
  2. test_connection with { "connectionId": "<id>" }.
  3. connect_cms with { "siteId": "<site>", "connectionId": "<id>", "settings": { "publicSiteUrl": "https://blog.example.com" } }.

To cross-post a page that first appeared somewhere else, the agent passes providerFields: { "originalArticleURL": "https://original.example.com/post" } to update_page.

REST equivalent, using your Fondoo API key:

curl -X POST https://api.getfondoo.com/v1/ops/add_connection_key \
  -H "Authorization: Bearer $FONDOO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"provider":"hashnode","siteId":"YOUR_SITE_ID"}'

Optional: the social route

  1. Your agent calls connect_social with { "siteId", "provider": "upload_post", "network": "hashnode", "redirectUrl" }. Keep the connectionId it returns.
  2. You, the owner, call configure_upload_post_platform with { "siteId", "connectionId", "network": "hashnode", "credential": { "pat": "...", "publication_id": "..." } }. There is no secure form for this. Run it yourself over REST with an owner API key, so the token stays out of agent chat.
  3. Call refresh_social_accounts with { "siteId", "connectionId" }.
  4. Add hashnode to your posting rules with update_distribution_rules. Only a signed-in owner can do this. The call replaces all your rules, so run get_distribution_rules first and keep your other networks.

Test that it works

  1. Click Check connection, or ask your agent to run test_connection. The status should read connected. Fondoo asks Hashnode who you are, then lists user.read as confirmed and write actions as "unknown". That is normal: Fondoo does not guess write access from a read.
  2. Ask your agent to list your posts. It runs connector_action with { "connectionId": "<id>", "action": "posts.list" }. You should see your recent posts.
  3. Ask for a test draft (drafts.create). Check that it appears in your Hashnode drafts, then delete it in Hashnode.

Troubleshooting

  • The status says invalid even though your token is correct. Hashnode has moved its API. The old address (gql.hashnode.com) now redirects to an announcement page. Fondoo's connector still calls the old address and does not follow redirects. If a new token still fails, contact Fondoo support and mention this. This may differ for your account.
  • "Hashnode rejected the operation." The most common cause is no active Pro plan on the publication. Hashnode answers with "Publication does not have an active Pro plan". Upgrade in your blog dashboard under Billing. Trying again will not help until you do. Other causes: your role does not allow the action, or a post or draft ID is wrong.
  • "Credential fields do not match the connector manifest." Fill in both apiKey and publicationId. Paste the token without extra spaces.
  • "Supply settings.publicSiteUrl for the published CMS site." Add your blog's HTTPS address to connect_cms.
  • "Use Fondoo schedules for this CMS." Fondoo's connector cannot schedule Hashnode posts. Leave out scheduledAt and publish when you are ready.
  • Social route: "hashnode requires hashnode_title" or "Canonical source must be an HTTPS URL." Add both fields to the post details. The URL must start with https://.

Limits, data and security

  • Rate limits: Hashnode's published targets are 20,000 queries and 500 changes per minute. Its own developer notes say these limits are not strictly enforced yet (source). Fondoo allows up to 60 Hashnode requests per minute per connection. Above that you will see "Connector rate budget exhausted".
  • What Fondoo stores (main route): your token and publication ID, encrypted. list_connections shows them only as [redacted], plus status, test results and last use.
  • What Fondoo stores (social route): Fondoo passes your credentials to Upload-Post and never sends them back to you or your agent.
  • Rotate: generate a new token in Hashnode. Then call rotate_connection_key with your connectionId for a fresh secure link. After that, revoke the old token in Hashnode.
  • Disconnect: call delete_connection, which needs your approval. Then revoke the token at hashnode.com/settings/developer. Deleting it in Fondoo does not revoke it at Hashnode.