I’d like to automatically sync the content stored in my Knowledge Base into my own internal database, so that my service’s agents can directly use that data.
Is there any supported way or recommended approach to achieve this? (Such as some API, e.t.c. ..)
The Ideas post for this suggestion is currently marked as “not planned at this time.” You may find the Site Search API, as described in this post, helpful. Hopefully this gets you pointed in the right direction!
I’d like to tag in some of our Top Contributors to see if they have any tips and tricks on this as well. @TomM2, @RubenBurdin, @MichaelMa, @SteveHTM -- Do you have any suggestions for @RoyAhn?
Thank you!
@RoyAhn - We only have a little bit of context here, but presume you are aware that the Customer Agent, as an example, already can be configured with access to data beyond the knowledge base?
Hi @RoyAhn , I feel the pain here. you want your agents to have the KB content in your own system, and you also need it to stay current without manual checks.
In HubSpot today, the most supported path is usually: use HubSpot’s site search endpoints to enumerate Knowledge Base articles (IDs, URLs, titles, snippets), then pull the actual HTML from the public article URL and store it in your database.
The legacy Site Search v2 endpoint explicitly supports the KNOWLEDGE_ARTICLE content type, which is handy for getting a full inventory and doing incremental re-syncs by search and filters (Accounts Dashboard | HubSpot). There’s also the newer CMS Site Search v3 docs that explain the same idea in a more modern wrapper (Accounts Dashboard | HubSpot).
One important detail before recommending the “best” approach: are your KB articles publicly accessible, or behind authentication (private/internal KB)? If they’re private, you’ll likely need an authenticated fetch path and you may be limited in what you can legally and technically mirror outside HubSpot, depending on your setup.