HubDB is the right call when data changes on a predictable schedule and needs to render inside HubSpot's own pages, emails, or CRM cards. A custom API integration is the right call when the data has to be live, interactive, or lives in a system you don't want to duplicate into HubSpot at all.
In This Article
What HubDB actually is
HubDB is HubSpot's built-in, spreadsheet-like database: rows and columns you define, that can be surfaced on CMS pages, in emails, and on custom CRM cards. You push data into it, on a schedule or on demand through the API, and once it's there, HubSpot renders it instantly with no outside call needed at page-load time.
The tradeoff is baked into that description: HubDB shows you a copy of the data as of the last sync. It's fast and reliable to render, but it's only as current as the last time something pushed fresh rows into it.
What a custom API integration actually is
A custom API integration, typically a serverless function backing a workflow custom code action or a CRM UI Extension card, calls out to the source system directly, in real time, whenever it's needed. There's no copy sitting in HubSpot. Every load asks the source system what's true right now.
The tradeoff here is the mirror image of HubDB's: the data is always current, because it never gets stale between syncs, but every request depends on that outside system responding quickly, and adds real latency to whatever is waiting on it.
The real difference: sync now vs. look up live
Strip away the implementation details and the choice comes down to one question: does this data need to be duplicated into HubSpot ahead of time, or looked up fresh at the moment someone needs it? Everything else, rendering speed, staleness risk, dependency on another system's uptime, follows from that one decision.
If a HubDB-backed feature keeps showing "wrong" data that turns out to just be outdated, that's a sign the underlying data changes faster than the sync schedule accounts for, not a sign HubDB was the wrong tool.
A framework for picking one
- Data changes rarely, on a known schedule? HubDB. Sync it in and let HubSpot render it without depending on another system at page-load time.
- Data changes constantly, or reflects a live status that matters in the moment? Custom API integration. A sync would always be showing yesterday's answer.
- The rep needs to search, confirm, or act on the result? Usually a custom API integration behind a UI Extension card, not a static HubDB lookup.
- The source system has strict rate limits or an unreliable uptime record? Lean toward HubDB, and accept the staleness tradeoff rather than building something that fails whenever the other system does.
Ask how often the underlying data actually changes, not how often it theoretically could. Most integration regrets come from picking live lookups for data that barely moves, or a sync schedule for data that changes by the hour.