If your HubSpot portal shows custom information on a contact, company or deal record (an order summary, a finance status, a panel from an installed app), there is a good chance it is rendered by a legacy CRM card. Those cards are on a clock. HubSpot has published a firm sunset date for the classic CRM card framework, and after it passes those cards stop being supported. This is not a vague "direction of travel" warning. It is a dated, forced migration that every HubSpot Enterprise customer needs on their radar.
This article explains what is actually changing, what UI extensions add over the old cards, what a migration involves in engineering terms, and why leaving it late is a real operational risk rather than a tidy-up job.
The deadline that makes this urgent
HubSpot has confirmed that support for the classic (legacy) CRM card framework ends on 31 October 2026. After that date, the legacy cards are deprecated and developers are expected to have moved to App Cards, which are powered by HubSpot's UI extensions platform. You can read the detail on HubSpot's own deprecation changelog and its developer platform migration timeline.
A few related dates matter if you build or rely on apps:
- 16 June 2025: HubSpot stopped certifying and listing new marketplace apps that contain classic CRM cards.
- 14 November 2024: App Cards for private apps became available across all Enterprise tiers, not just Sales and Service Hub Enterprise.
- 21 April 2026: HubSpot's Legacy CRM Card View Swapping Tool became available, which swaps legacy cards for app cards on existing customer CRM views without disrupting their placement.
- 1 August 2026: the Projects framework version 2025.1 reaches end of support, so apps still on it must move to 2025.2 or 2026.03 or builds will fail.
- 31 October 2026: legacy CRM card framework support ends.
The pattern is clear. HubSpot has already closed the door on new legacy cards and is now closing it on the existing ones. The window to migrate calmly, rather than under pressure, is finite.
What UI extensions add over legacy CRM cards
The old cards were static and server-rendered, with limited interactivity. App cards built on UI extensions are a different class of thing. HubSpot's own framing is that app cards offer "dynamic interactions and greater flexibility" against the classic cards' "static and limited functionalities". In practical terms, here is what you gain.
React-based interfaces
UI extensions are built with React components rather than a fixed, templated card. That means genuinely interactive panels: tables that filter, forms that validate, buttons that trigger actions, and views that respond to the record an agent is looking at.
The @hubspot/ui-extensions SDK
Extensions are powered by the @hubspot/ui-extensions SDK, published as an npm package and listed in your project's dependencies. The SDK gives developers context access (the current user, account and CRM record), actions (alerts, copy to clipboard, reload, opening overlays), and hooks to fetch extension metadata, CRM properties and associations, alongside standard and CRM-specific components. This is a proper component library, not a constrained card template.
Serverless back ends
For private apps, the React front end can call serverless functions to do real work: query an external system, run a calculation, write back to a record. The front end invokes the function, passes parameters, and reads the result. One constraint to design around is that a serverless function has a 15 second response limit, so long-running work needs to be handled asynchronously rather than blocking the card. Everything runs in a secure, sandboxed environment hosted by HubSpot.
If you want a fuller picture of what this platform unlocks, our UI extensions service page covers it, and our guide on what you can build with custom HubSpot development sets it in context.
What a migration actually involves
This is the part that catches teams out. Moving from a legacy card to a UI extension is an engineering migration, not a settings change. There is no "convert" button that does it all for you. A typical migration runs roughly like this.
- Get the app onto the Projects framework. UI extensions live on HubSpot's developer projects platform. Serverless support on the new platform arrived with version 2026.03, so you need to be on a supported framework version (2025.2 or 2026.03, not 2025.1 after 1 August 2026). HubSpot provides a CLI migration command and supporting tooling to move public and legacy apps across.
- Rebuild the card UI in React. The visual panel is rebuilt as a React app card using the @hubspot/ui-extensions SDK. Any logic that fetched data or talked to another system moves into serverless functions behind the card.
- Swap the views without disrupting customers. HubSpot's Legacy CRM Card View Swapping Tool (a migrate-views API endpoint) swaps the legacy cards for app cards on existing CRM record views while preserving where they were placed, with no action needed from the people using the portal.
- Stay on a supported version. Once migrated, the app needs to remain on a supported Projects version so future builds keep working.
None of this is exotic for an engineering team, but it is firmly developer work: React, an SDK, serverless functions and a versioned build platform. It is not something a marketing operations admin can click together, which is exactly why it tends to get parked until it becomes urgent.
Who this affects, and the tier question
Building and running UI extensions (app cards, app pages and app settings) requires a HubSpot Enterprise subscription on any hub, or a free developer test account for building. Importantly, a paid seat is not required to simply view UI extensions on CRM records, so rolling them out to a wide team does not force everyone onto extra seats. This is firmly an Enterprise-tier concern, which means it lands squarely on the serious, growing HubSpot customers who have invested in customising their CRM.
It also affects you indirectly. If a third-party app you have installed still relies on classic cards and the vendor has not migrated, the panels that app provides on your records are exposed to the same deadline.
The cost of leaving it late
The risk here is concrete and dated. Leave the migration too long and you face several problems at once: CRM record interfaces that stop rendering after support ends, builds that fail if you are still on the 2025.1 framework after 1 August 2026, and a rushed rebuild squeezed into the final weeks alongside everyone else trying to do the same thing. A panel that quietly disappears from a deal record is the kind of failure that surfaces in front of your sales team on a live deal, not in a test environment.
Treated early, this is a manageable, well-scoped piece of engineering. Treated late, it becomes an emergency. The teams who come out of this well will be the ones who audited their cards, planned the rebuild, and migrated on their own timeline.
How SpotDev approaches it
We are a UK HubSpot Diamond Partner and a software engineering firm, HubSpot Custom Integration Accredited, with an in-house engineering team that builds on the modern HubSpot developer platform every day. We treat a card migration as what it is: a React, SDK and serverless rebuild that needs to be planned, built properly and shipped without breaking the views your team relies on. Our "Default to Build" approach means we engineer the panel you actually need rather than forcing your process into a brittle workaround.
If you have legacy CRM cards in your portal, or installed apps that depend on them, now is the time to scope the work. Explore our UI extensions service, see the wider picture on our HubSpot development hub, and when you are ready to plan the migration, request a quote. UI extension work starts from £8,000, and we deliver on time or you get 20% back.
Frequently asked questions
When do legacy CRM cards stop working in HubSpot?
HubSpot has confirmed that support for the classic (legacy) CRM card framework ends on 31 October 2026. After that date the legacy cards are deprecated and developers are expected to have moved to App Cards powered by UI extensions. HubSpot also stopped listing new marketplace apps containing classic cards from 16 June 2025.
What is the difference between a legacy CRM card and a UI extension?
Legacy CRM cards are static, server-rendered panels with limited interactivity. UI extensions (app cards) are built with React using the @hubspot/ui-extensions SDK, run in a HubSpot-hosted sandbox, and can call serverless functions for back-end logic. HubSpot describes app cards as offering dynamic interactions and greater flexibility versus the classic cards' static and limited functionality.
Is migrating from CRM cards to UI extensions just a settings change?
No. It is an engineering migration. You move the app onto HubSpot's Projects developer platform on a supported framework version, rebuild the card interface as a React app card with the SDK, move data and business logic into serverless functions, then use HubSpot's Legacy CRM Card View Swapping Tool to swap the views without disrupting where cards are placed. It is developer work, not a click-together configuration task.
Do I need a HubSpot Enterprise subscription to use UI extensions?
Building and using UI extensions such as app cards, app pages and app settings requires an Enterprise subscription on any hub, available across all Enterprise tiers since 14 November 2024, or a free developer test account for building. A paid seat is not required simply to view UI extensions on CRM records, so you can roll the panels out to a team without extra seat costs.
What happens if I leave the CRM card migration too late?
You risk CRM record interfaces that stop rendering once support ends on 31 October 2026, builds that fail if you remain on the Projects 2025.1 framework after its 1 August 2026 end of support, and a rushed rebuild under pressure. Migrating early on your own timeline keeps it a manageable, well-scoped engineering project rather than an emergency.
Stay Updated with Our Latest Insights
Get expert HubSpot tips and integration strategies delivered to your inbox.

