A collection and compendium of HubSpot Resources for the (lovingly) green HubSpot Developer.

The thing that I love most about HubSpot as a developer is that their software engineers are ALWAYS listening to the developers who are building on their platform. Their documentaion and their platform are constantly evolving. Evolving not just in the direction that HubSpot wants but also in the direction that it's community wants.

This constant state of evolution -- while being a markedly good business model -- can also increase the barier of entry for new developers to gain some footing. This is exactly the reason why I wanted start off this new site by jotting down a quick list of tools and resources that I use most frequently while building in HubSpot.

HubSpot Chrome Extension

Back in the day some great minds (who pretty much all work for HubSpot now) got together and created a pretty nifty developer extension for google chrome. Once it is enabled it prepends your HubSpot portal's navigation with a new "developer" dropdown which contains a list of links that are usually nested a few children down in one of the other menus -- It makes accessing design tools, content staging, webpages, hubDB, etc super quick.

No More Digging through navigation trees!

On top of that it adds a gambit of features such as a cache buster, a hs-debug mode, and even a dark mode to the design tools ui. Navigate over to the extension's "develop" tab and you will also find some quick links to various documentation endpoints.

I pretty much use this extension every day and I couldnt recommend it more. If youre looking to snag it for yourself you can find it on the google chrome store here.

HubSpot Developer Docs

HubSpot's developer docs are my go to place to figuring out why my code isnt working the way it is. Despite working in the platform for nearly 5 years I still forget the syntax for certain tags. And I absolutely forget all of the options that are available for them. For the most part -- These docs are very easy to understand... And when they are not bringing them up in the HubSpot slack makes typically promps a speedy fix for future you, and future users.

HubSpot Developer Docs

The sublinks below are some of the docs that I use most often. Im including them not only for you but so I can quickly access them in the future too. :)

Filters

Need to manipulate your HubSpot data in any way, shape, or form? This is the place to figure out how to do it. Want to convert hubl into escaped JSON Strings -- |escapejson is your homie. Need to reformat a data point into something more worthy of a class name or a unique id -- |replace is going to put in all the work for you.

Just giving it a good ole eyball estimate -- There are somthing close to 30-50 differnt filters that are documented here ranging in scope from manipulating strings/numbers, to creating and manipulating arrays and object-like variables, all the way to date time formating.

Filter Docs

**If you cant find what you're looking for it is always worth noting that HubSpot is a jinja based language, which means you could always check out the jinja docs to see if any of those filters work in hubl. It's a long shot, but in dire times, if you have sacrificed enough tears and given your keyboard to the programming gods... you might just find something that works.

Variables

If you find yourself working on a blog listing or detail page, hubdb, emails, custom menu's, or need to access general/ globalized HubSpot variables set in the account settings for a portal, you are going to want to check out these variable docs.

A quick cmd/ctrl + f will snap you right to all of those global variable paths that you forgot from your last project (likely last week...or in my case yesterday :/ ).

Variable Docs

Functions

Trying to remember how to access data that seems to mysteriously just exist in the HubSpot platform? Chances are to access those data points you're going to need to use a hubl function.

{{ blog_recent_posts('default', 5) }}

-- will return the five most recent blog posts from your default blog.

{{ require_js("http://example.com/path/to/footer-file.js", "footer") }}

-- will allow you to load any js file(external or internally hosted) to the footer of your page. Best part about this function is that you can call it from anyplace where hubl is valid and makes sense! ANYWHERE. You can use this bad boy in the middle of a module if you wanted to and it would still slap that script right in the footer. How neat is that!?!?

Point -- There are a lot of juicy functions here that can really help you out. Use them in conjunction with filters and variables and you will be unstoppable in no time.

Function Docs

Tags

Anytime you want to add some kind of dynamic content (think something that changes from page to page or module to module that a content editor can manipulate) you're going to be adding a tag. On the surface tags are pretty straight forward. But take a peek at the docs and you will find a whole slew of options for nearly every tag that will really allow you to control how modules and fields behave when they are put on a page. Some of them might even save you some time when it comes time to style elements -- in particular I'm thinking about the {% menu %} tag.

The menu tag has a flow option which forces either a horizontal or vertical flow of menu items. Change the root_type parameter and you can easily change your menu into a traditional breadcrumb menu.

Tag Docs

Developer Slack

Last but certainly not least -- in retrospect this is likely one of the best resources of them all -- whether or not you're new or experienced developing in the HubSpot ecosystem I highly recommend joining the HubSpot Developer Slack. It's a great place to ask the world any questions you may have about HubSpot or life(Yes life too -- there is a "random" channel and the most recent thread at the time of posting this was about how to make a dovetail joint while working with wood).

But seriously - there are a lot of smart people on here and everyone is super welcoming to newcomers. Nobody will berate you for asking easy questions. We all have "DOH" moments sometimes...And we were all beginners at one point.

This is also where you can find me peeking from behind the bushes. If you are ever in need of some HubSpot help feel free to ping me on there!

Join the Developer Slack Channel