CMS integrations
HubSpot
GrowGanic publishes each finished article to your HubSpot blog, with tags resolved and meta fields set.
A primary destination. Your article lives here and the canonical URL points at it, so this is the site Google credits. About 1 minute in one click, or 5 minutes by hand.
#What connecting does
Every article GrowGanic finishes is created as a blog post on your HubSpot portal and published on your own domain.
GrowGanic finds your blog for you. Portals with one blog connect silently; portals with several ask once. The blog's content group id is a number HubSpot's own interface never puts in front of you, so asking you to dig it out of a URL is not a step we ask for unless you want to override the choice.
Tags on your articles are resolved to HubSpot's numeric tag ids, and created when they do not exist yet, so your posts land tagged rather than bare.
#Before you start
- A blog has to exist on your portal before anything can publish to it. Open Marketing, then Website, then Blog in HubSpot and create one. HubSpot refuses a post with no parent blog, and this is the most common reason a first article fails.
- At least one blog author on the portal. HubSpot requires an author on a published post; GrowGanic uses the first one it finds. Add yourself under Marketing, then Blog, then Manage authors.
#Connect
In one click
- Click Connect HubSpot. HubSpot opens its own permission screen and asks which account to connect.
- Click Connect app on that screen. We find your blog on our own and ask only when your portal has more than one.
That is it. You land back in GrowGanic connected, and articles publish to your HubSpot blog on their own from then on.
Or connect by hand
- HubSpot needs a blog to exist on your portal before we can publish to it. If you have not created yours yet, open Marketing, then Website, then Blog in HubSpot first.
- In HubSpot click the Settings gear, then Integrations, then Service Keys (older portals list it under Development, then Keys). Click Create service key and name it GrowGanic. Already hold a Private App token? It works here unchanged, so paste that and skip the next step.
- Click Add new scope, search for content, check the box, click Update, then Create (top-right). The key looks like pat-eu1-...; click Show, then Copy to reveal and copy it.
- Leave Blog ID blank. We auto-discover the first blog on your portal.
What you paste
| Field | Required | Where to find it |
|---|---|---|
| Service Key or Private App token | Yes | HubSpot Settings, then Integrations, then Service Keys, with the content scope added. Older portals list it under Development, then Keys. A Private App token minted before HubSpot's deprecation works here unchanged. |
| Blog ID | Optional | Leave blank and we find the first blog on your portal. Override it only to name a specific blog: it is the long number after /content/blog/ in the URL when you open that blog in HubSpot. |
| Author ID | Optional | Leave blank and we use the first author on your portal. Set it only to attribute posts to a specific person, from Marketing, then Blog, then Manage authors. |
If it will not connect
- More than one blog? Open Marketing, then Website, then Blog in HubSpot, click the blog you want, and copy the long number after
/content/blog/in the URL into the Blog ID field. - HubSpot requires an author on a published post, and we use the first one on your portal. Set an Author ID (under Advanced settings) only to attribute posts to someone specific; find it under Marketing, then Blog, then Manage authors.
#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 |
|---|---|---|
| content | Reading your blogs and creating, updating and deleting blog posts | This is the whole ask on the manual path. Without it the very first call is refused. |
| oauth | Identifying the portal the grant belongs to | One-click only. It is how we know which portal you connected. |
| files | Referencing the article's hero image | One-click only. |
GrowGanic asks for blog content and nothing else. It requests no access to your contacts, deals, tickets, forms, workflows, email tools or reporting, and could not read any of them with the token it holds.
#What we write
| Field | What goes in it |
|---|---|
| name | The article title. |
| postBody | The article body as HTML. |
| slug | The article slug. |
| metaDescription | The meta description. |
| postSummary | The excerpt. |
| featuredImage | The hero image, with alt text. |
| tagIds | Your article's tags, resolved to HubSpot tag ids and created where missing. |
| state | PUBLISHED, or DRAFT when you have asked for drafts. |
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 referenced by URL from our CDN and shown on your post through HubSpot's featured image field.
The alt text is taken from the article's own image description, then its meta description or excerpt, capped at 200 characters.
#Publishing behaviour
The one-click access token lasts thirty minutes and GrowGanic refreshes it automatically. You never re-paste anything.
Because that token is short-lived, a Test click that finds it expired is not treated as a broken connection: the connection is left on and the token is refreshed. A button called Test must never be the thing that breaks what it is testing.
Editing an article in GrowGanic updates the same post. It never creates a second one.
You can set articles to arrive as drafts instead of publishing live, from Settings in GrowGanic.
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 publishing to HubSpot. Posts already on your portal stay published and stay yours.
You can also revoke the key or uninstall the app in HubSpot. GrowGanic finds out on the next call, switches the connection off and emails you.
A grant you approved in one click is deleted from our database when HubSpot refuses it, and so is any token HubSpot itself tells us is finished when we try to refresh it. A Service Key you pasted is kept instead, so that clicking Test can repair the connection with nothing re-entered. Disconnect if you want a pasted key removed.
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 |
|---|---|---|
| Your HubSpot portal has no blog yet. | There is no blog for a post to belong to. | Create one under Marketing, then Website, then Blog, then reconnect. |
| HubSpot needs at least one blog author before it accepts a live post. | The portal has a blog but no author, and HubSpot will not publish without one. | Open Marketing, then Blog, then Manage authors and add yourself. Nothing is lost meanwhile: your article is on your GrowGanic blog and we send it to HubSpot again once an author exists. |
| HubSpot did not accept that Service Key. | The key was refused outright, usually a partial paste or a key from another portal. | Create a fresh Service Key with the content scope and paste the whole pat- value. |
| Your Service Key is missing the content scope. | The key exists but was created without the scope that reaches blog content. | Edit the key, click Add new scope, search for content, check it, Update and Create, then paste the key again. |
| HubSpot could not find that Blog ID. | The Blog ID field holds a value that does not match a blog on this portal. | Clear the field and let us find the blog, or copy the long number after /content/blog/ from the blog's URL in HubSpot. |
Still stuck? Email [email protected] and tell us the sentence you are seeing. Or read the other destinations.