Connect HubSpot to AltoRank

HubSpot authenticates with a private app access token that you create and can revoke yourself. Connecting it makes HubSpot an available destination — it does not give AltoRank permission to publish. That still takes a person approving the draft.

What you will need

Access token
From a private app with blog write scopes
Blog ID
Optional
Which blog to post to. Left empty, the blog of your most recent post is used

Setup

  1. 1 Create the credential in HubSpot

    Go to HubSpot → Settings → Integrations → Private apps. AltoRank never asks for your HubSpot login: you create a scoped credential there and paste it here, so revoking our access later is one click on your side and does not change how you sign in.

  2. 2 Add the connection in AltoRank

    In your workspace, open Integrations, choose HubSpot, and fill in access token. The connection is tested before it saves, so a wrong value fails here rather than silently at publish time.

  3. 3 Approve an article

    Nothing publishes on connection. Open a draft, read the fact-check verdict, and approve it. Only then does AltoRank call HubSpot. You can also turn on automatic publishing for the workspace, which ships after a hold you can veto; either way there is no agent route around the approval.

What approving does in HubSpot

On approve
Creates a blog post in state PUBLISHED with the slug and meta description set.
On unpublish
Sets the post to DRAFT.

Worth knowing

  • A private app token is scoped and revocable without affecting your HubSpot login or other integrations.
  • On a portal with no posts yet there is nothing to read the default blog from, so set the Blog ID explicitly.

The adapter behind this page is apps/web/lib/cms/hubspot.ts . If this page and that file disagree, the file is right and the page has a bug.

Common questions

Does AltoRank publish to HubSpot automatically?

Only after a person approves the specific draft. Connecting HubSpot removes the copy-and-paste step; it does not hand over the decision. The publish path requires an approval recorded under a person, by click or by the rule they set, and the MCP server exposes no publish tool, so this holds even when an AI agent is driving the product.

What HubSpot credentials does AltoRank need?

Access token, Blog ID (optional). Private app access token. Nothing else, and never your HubSpot account password.

Can I publish to HubSpot as a draft instead of live?

Not from AltoRank: the review happens here, before anything is sent, so approving is the act of publishing. On approve, Creates a blog post in state PUBLISHED with the slug and meta description set. If you want a staging destination, connect Notion as well and approve there first. Unpublishing is available afterwards: Sets the post to DRAFT.

Can I revoke access without breaking my site?

Yes. The credential is created in HubSpot and revoked there, independently of your login. Revoking it stops AltoRank publishing and changes nothing else. Articles already published stay where they are: they are ordinary content on your platform, not embeds pointed at us.

Can I use HubSpot on the self-hosted version?

Yes. Self-hosting is the same product under an open-source licence with no feature gates, so every connector works and your credentials never leave your own infrastructure. The adapter is apps/web/lib/cms/hubspot.ts in the repository.

Be the site the assistant names.

Add a domain and the first draft is written while you watch. Every publish is your decision, a click on the draft or a rule you set and can hold, and you can read the source or self-host it free.

Add a domain, it sets up your workspace