CMS integrations
Hashnode
GrowGanic cross-posts each finished article to your Hashnode publication with a canonical link back to your own site.
A cross-post destination. Your article is copied here with a canonical link back to your primary site, so the ranking credit stays where it belongs. About 1 minutes.
#What connecting does
Hashnode is a cross-post destination, not a home. Your article lives on your primary site and a copy goes to Hashnode carrying a canonical link back to your own URL, so Google credits the original rather than the copy.
Your Hashnode newsletter is never emailed by us. GrowGanic sends the newsletter flag explicitly off on every publish, because you connected this for publishing and not for mailing your subscribers.
GrowGanic finds your publication for you. Accounts with one publication connect silently.
#Before you start
- A paid Hashnode Pro plan on your blog. Since May 2026 Hashnode requires Pro for any API publishing. That is a Hashnode change and not a GrowGanic limit, and on the free plan every publish is blocked no matter how the connection is set up.
- A publication. Hashnode signups do not create one automatically: open hashnode.com/dashboards and create your first blog if the list is empty.
#Connect
Set it up
- Hashnode charges for API publishing: since May 2026 any API access needs a paid Pro plan on your blog (a Hashnode change, not a GrowGanic one). Open your blog dashboard, go to Billing, and upgrade first; on the free plan Hashnode blocks every publish.
- Make sure you have a publication: open hashnode.com/dashboards and create your first blog if the list is empty. Hashnode signups do not auto-create one.
- Open your developer settings. Click Generate New Token, name it, then click the copy icon next to the masked value (a 36-character UUID).
- Leave Publication ID blank. We auto-discover it from your account.
What you paste
| Field | Required | Where to find it |
|---|---|---|
| Personal access token | Yes | hashnode.com/settings/developer, then Generate New Token. It is a 36-character value revealed behind a copy icon. |
| Publication ID | Optional | Leave blank and we find it from your account. It is 24 hex characters, not your blog name, and you only need it if you run several publications. |
If it will not connect
- The Publication ID is 24 hex characters (0-9 and a-f), NOT your blog name. Override only when you run several publications and want a specific one.
- Newsletter safety: GrowGanic never emails your Hashnode subscribers. We send
isNewsletterActivated: falseon every publish.
#Permissions we ask for
Every permission below is used by a call GrowGanic actually makes. We ask for nothing we do not use.
| Permission | Used for | Why |
|---|---|---|
| Personal access token | Confirming the account, finding your publication, and creating and publishing posts | Hashnode issues one token rather than per-scope keys. It acts as your account against their GraphQL API and can be revoked from the same settings page. |
GrowGanic reads your own account and publication and writes posts. It never emails your subscribers: the newsletter flag is sent explicitly off on every publish, and drafts could not email anyone anyway.
#What we write
| Field | What goes in it |
|---|---|
| title | The article title. |
| contentMarkdown | The article body as Markdown, which is Hashnode's native format. |
| subtitle | The excerpt, capped at 200 characters. |
| slug | The article slug. |
| coverImageOptions | The hero image. |
| originalArticleURL | Your primary site's URL for this article. This is what keeps the ranking credit on your own domain. |
| isNewsletterActivated | False, always. |
Fields your setup does not have are skipped rather than guessed at, and the article publishes with the ones it does have.
The hero image
The hero is sent as a URL and referenced as your post's cover image, served from our CDN.
It is also set as the post's social image, so a shared link previews with the same picture.
#Publishing behaviour
A live cross-post and a draft use two different Hashnode mutations, so the one that emails subscribers is never the one we call by accident.
Editing an article in GrowGanic updates the same Hashnode post. It never creates a second one.
Draft mode is not offered for Hashnode, because it is not your own site. A cross-post sitting unpublished on someone else's platform is not doing the job you connected it for.
If this destination is ever unreachable, the article is not held. It publishes to your GrowGanic blog and moves here on its own once the connection is healthy again. GrowGanic never holds a finished article back waiting for you.
#Disconnect
Disconnecting stops cross-posting to Hashnode. Posts already there stay published and stay yours, canonical links intact.
You can also revoke the token at hashnode.com/settings/developer. GrowGanic finds out on the next call, switches the connection off and emails you. The token you pasted is kept, so that once the problem is fixed clicking Test puts the connection back with nothing re-entered. Disconnect if you want it gone from our database.
Open Integrations in GrowGanic, find this destination and click Disconnect. The stored credential is deleted from our database in the same step, not marked inactive. Articles already published stay exactly where they are, and they are yours.
#Troubleshooting
| What you see | Why | Fix |
|---|---|---|
| Hashnode now requires a paid Pro plan for API publishing. | A Hashnode change as of May 2026. Free-plan blogs cannot publish through the API at all. | Upgrade your blog to Pro under Billing in the Hashnode dashboard, or publish through another destination. Your articles keep publishing to your GrowGanic blog and any other CMS you have connected. |
| Hashnode rejected the personal access token. | The token was refused, usually a partial paste or a revoked token. | Generate a fresh one at hashnode.com/settings/developer and reconnect. |
| Your Hashnode account has no publication yet. | Signing up for Hashnode does not create a blog for you. | Open hashnode.com/dashboards, click Create your first blog, then reconnect. |
| Publication not found. | The Publication ID field holds something that is not a publication on this account. | Clear the field and let us find it, or copy the 24-character hex id from your publication's dashboard URL. |
| Hashnode denied this operation. | The account does not hold the right role on the publication, or the publication is not on Pro. | Confirm the connected account can publish to that publication and that the blog is on Pro. |
Still stuck? Email [email protected] and tell us the sentence you are seeing. Or read the other destinations.