Skip to content

Kickstarting your HubSpot developer journey

In the modern landscape of programming and development, there are many different languages, libraries, and frameworks. Each has its pros and cons, and every developer has favorites. In this article, we’re going to cover the different types of development one might encounter when building on or integrating with HubSpot’s platform. We’ll also take a closer look at what you should know, whether you are a new developer beginning your journey, a seasoned developer looking for a refresher, or simply looking to grow your career as a developer working with HubSpot’s Platform.

Building Integrations for HubSpot vs. Building Assets on HubSpot

When building on the HubSpot Platform, there are two paths a developer may travel. While these two paths can intersect with one another (such as CLI use or serverless functions being applicable to both CMS Hub and in CRM Cards), the skillset and things you should know can vary based on your end goal. Let’s review these paths in more detail.

The first path is building an integration with the HubSpot Platform. These integrations can take a few different shapes—such as using our APIs to add or supplement data in HubSpot, syncing HubSpot data into an external system, or extending HubSpot features like CRM cards and timeline events to let users view and manipulate your data while they work inside HubSpot. You can even add and customize workflow actions, allowing users to manipulate data through your integration while using HubSpot's powerful automation tools.

The second path for a developer is creating a website or web application on CMS Hub with a series of building blocks such as themes, modules, emails, or quotes —or even using data-driven content like serverless functions and GraphQL.

What you should know when building public or Private app integrations into HubSpot

Public and private apps function similarly when it comes to working with the HubSpot APIs. Both use OAuth access tokens to authorize requests to the API, and both use the same OAuth scopes to make sure that the apps and their tokens only have access to the specific data that's been approved. However, public and private apps have their own unique features that you should know about which can help you choose which app type to use for your particular needs.

Private apps are designed for custom integrations intended for use by a single Hubspot account. They're set up in that account, and the access token you get will never expire—so you don't need to worry about refreshing tokens. Private apps are a good solution for integrations built directly in HubSpot (such as custom-coded actions in workflows or serverless functions that need to make requests to the HubSpot APIs), but they can also be used with integrations hosted outside of HubSpot (such as on AWS).

Public apps, on the other hand, are a good solution for apps that will work with multiple HubSpot accounts. They're set up in a HubSpot Developer account, and can be connected to any number of HubSpot accounts. Public apps support one-click connections to a HubSpot account, making it easy for a user to connect your app without needing to manage the required scopes or copy and paste access tokens.

It’s also worth noting that if you want to be listed in the HubSpot App Marketplace, you'll need to create a public app. Some platform features, such as the Webhooks API or timeline events, also require that you use a public app.

What you should know when extending the CRM using CRM Cards

CRM Cards allow you to pull information from other systems and/or pull insights from CRM data and display those insights alongside CRM Contact records within HubSpot’s CRM. Node.js (the same runtime environment that powers our serverless functions) is used to power the functionality of CRM Cards. Node.js is an open-sourced, cross-platform JavaScript runtime environment, so it’s important to be familiar with the following basic JavaScript principles:

  • Variables
  • Conditionals
  • Functions
  • Event Handlers

What you should know when building websites on HubSpot’s CMS Hub

HubSpot’s CMS Hub is more than just a typical website. It’s a CRM-powered website that’s full of features, including HubDB, memberships, smart content, and data-driven content. Creating a website on CMS Hub will seem very familiar to creating a website on other platforms, in which you can use a mix of HTML, CSS, and JavaScript.

For templating, CMS Hub makes use of the HubSpot Markup Language, referred to as HubL. HubL is an extension of HubSpot’s Jinjava language, which is a templating language based on Jinja. It’s important to note that HubL uses a fair amount of markup that is unique to HubSpot, and not all of Jinja’s features are supported. HubL also has its own predefined variables, functions, tags, and filters, while also allowing you to create your own custom variables and macros.

When building websites on CMS Hub, we also recommend having a basic understanding of:

If you need some guidance to get up and running, take a look at our quick start guide for developing on CMS Hub .

Where can you go to upskill and learn more

There are many places across the web where you can begin upskilling on the languages, libraries, and frameworks we covered above. We’ve put together the following resource list to help you grow your career as a Hubspot Developer.

HubSpot Academy-based learning:

API and Application Development:

CMS Development:

General web development learning resources:

Best Practices in web development

HTML & CSS

JavaScript

Git/GitHub

API/GraphQL