Developer Announcements

HubSpot Employee
HubSpot Employee

March 2023 Rollup

Refer to the original announcement on the developer changelog.


March 2023 developer updates include theme-level module updates, SEO filter recommendations, new HubL variables, deprecation of the Gallery Default Module, sandboxes with unlimited resyncs of CRM object definitions, module and theme URL fields supporting a phone number and WhatsApp number, file expiration for the File Manager, and a new public API for Business Units.


Developer Updates for March 2023


Hide Specific Modules and Sections in Themes and Templates, Curating the Content Creator’s Experience

You can now hide modules and sections in a theme or template to curate the list of modules and sections available to content creators. In a theme, you can hide default modules (not custom ones). In a template, you can hide both default and custom modules and sections. Hiding modules at the theme level is done through the theme.json, and hiding modules and sections at the template level is done in the template annotations. This feature is powerful for teams and marketplace providers that create alternatives to the default modules, or have modules that are designed to work with specific templates. Add this functionality to your themes and templates.


Filters Now Included in Site Scan Export

In the SEO tool, you can now export a filtered view of Recommendations. For example, a developer can select the role "Developer" to get SEO recommendations that require that set of skills. Enabling them to look efficiently at the SEO recommendations based on where they are most needed.


New HubL Variables for Detecting When a Page Is Viewed in an Editor

The following variables can now be used in addition to the methods described on "How to provide a good editor experience":

  • is_in_hs_app - returns true if content is rendered within the HubSpot app at all.

Editor variables:

  • is_in_global_content_editor - returns true if content is rendered within the global content editor.
  • is_in_theme_editor - returns true if the content is being rendered in the theme settings editor.
  • is_in_page_editor - returns true if rendered in the CMS page editor.
  • is_in_blog_post_editor - returns true if rendered in the blog post editor.
  • is_in_email_editor - returns true if rendered in the email editor.

Previewer variables:

  • is_in_previewer - returns true if content is rendered in a preview (not-editable) context.
  • is_in_theme_previewer - returns true if the content is being rendered in a theme preview experience.
  • is_in_template_previewer - returns true if the content is being rendered within an in-app template preview experience.
  • is_in_page_previewer - returns true if the content is being rendered within a page preview experience.
  • is_in_blog_post_previewer - returns true if the content is being rendered within a blog post preview experience.
  • is_in_email_previewer - returns true if the content is being rendered within an email preview experience.
  • is_in_module_previewer - returns true if the content is being rendered within an in-app module preview experience.

This enables you to use an if condition to check against any of these situations:

{% if is_in_page_editor %}
Display something slightly different to make the editor experience better
{% endif %}


Deprecation of the Gallery Default Module

Now that the new Image Grid, Image Slider, and Tabbed Card default modules have been released to all accounts, the existing Gallery Default Module can be deprecated. This effectively means that all users will no longer see the gallery module in the page editor, existing instances of the module on pages will not be affected, and the module can still be cloned.


New Development Sandboxes Enable Unlimited Resyncs for CRM Object Definitions

New feature available to Sales and Service Enterprise users who enroll in the CRM Development Beta with Super Admin permission. Developers using the development sandboxes now have unlimited resyncs of CRM object definitions within development sandboxes. This feature will reduce the need to delete a sandbox and create a new one to trigger a 1-time sync for the CRM object definitions.

Now, you can trigger unlimited resyncs in two different ways for your CRM object definitions:

  1. Set your development sandbox as the default in your terminal and execute the HubSpot CLI command: hs sandbox sync
  2. Click the new "Set up sync to sandbox" button on the "Development" tab within the Development sandbox UI within your HubSpot account for development sandboxes.


Phone and WhatsApp Number Support in the URL Field

The URL field now has two new supported types:

  • PHONE_NUMBER: Renders a text input field for a phone number.
  • WHATSAPP_NUMBER: Renders a dropdown menu containing the account's connected WhatsApp numbers.


File expiration now available in File Manager

Files Expiration allows customers to indicate the duration that they'd like to make their file available for. At the expiration point, the file will then be moved to files trash automatically. Learn more about setting your files to expire on our knowledge base article.


New public API for Business Units

The new public API for Business Units exposes Business Unit information such as name and logo metadata to be retrieved. This API only allows for GET requests. View more about the Business Unitus API on our developer documentation.


Blog Posts Now Support Dragging and Dropping Modules

For developers, this means your modules are now usable within the content of blog posts.


HubSpot CLI v4.1.7

  • The Marketplace module validation command has been updated, moving the testing to HubSpot servers. It will function the same, except now you need to be connected to the internet. This change will enable better automatic validation.
  • Bugfix: when using -account flag with hs upload an inaccurate error was being displayed.

Updates to Developer Projects commands

  • New command: hs sandbox sync - this command will sync the currently selected sandbox with its parent account. See documentation for details.
  • The Projects upload command will now include your package-lock.json file. This mitigates dependency updates on deploy.
  • hs project upload has been updated to show more details about the build process and the sub-components of your project.

To upgrade to the latest version run npm i -g @hubspot/cli@latest.


Questions or comments? Let's chat below.

2 Replies 2
Participant | Diamond Partner
Participant | Diamond Partner

March 2023 Rollup

Hi team, we wan to list in the Assets Market place an Email Template we saw in this year the templates were going to be revamp. Do you have a date for it? Thanks a lot! 

HubSpot Employee
HubSpot Employee

March 2023 Rollup

Hi @Cesar_awtana 👋 - great question! I was able to confirm internally that there is no timeline yet for when email templates will be reintroduced, as we are currently focused on modules. However, we understand why this is important and I encourage you to follow up later on and appreciate your patience as we work towards this feature down the road.