The Media Company Outdoor Advertising

Real-Time Inventory Search

Sales reps needed to check real-time billboard availability from a data warehouse without leaving HubSpot. Every proposal required switching between four systems.

The Old Way

1 Open Snowflake dashboard in another tab
2 Copy date range and market parameters
3 Run query and wait for results
4 Copy availability data back to proposal
5 Repeat for each billboard location
6 Cross-reference with map visualization tool

Every step is a chance for errors. Every context switch costs time. Every manual entry is friction your team learns to resent.

The Solution

A custom UI card embedded directly on Deal records that queries Snowflake in real-time, displays availability with visual occupancy indicators, and integrates map visualization โ€” all without leaving HubSpot.

Capabilities

Real-time Snowflake data warehouse queries
Date range selection with calendar UI
Occupancy visualization with progress bars
Multi-tab interface for different query types
Embedded map integration
JWT OAuth2 authentication handling

See It In Action

An interactive mockup of what this looks like inside HubSpot

app.hubspot.com/contacts/12345678/record/...
R
Q
Deal

Q1 Metro Campaign - Acme Corp

Search Available Inventory

Showing 5 available units โ€ข 2 selected
Unit IDLocationTypeSizeImpressionsRate/MoStatus
BLB-2847I-95 North, Exit 42Digital14' x 48'285K/week$4,200Available
BLB-1923Downtown Main St & 5th AveStatic10.5' x 36'180K/week$2,800Booked
BLB-3156Highway 101 South Mile 42Digital14' x 48'220K/week$3,600Pending
BLB-0892Airport Connector RoadDigital20' x 60'340K/week$5,100Available
BLB-4521Metro Center StationDigital6' x 12'95K/week$1,800Available
โ„น
2 units selected
Combined rate: $9,300/month
Custom UI Extension built by Value-First Team

Impact

15 min โ†’ 30 sec
Time to check availability
4 โ†’ 1
Systems required
Eliminated stale data errors
Proposal accuracy

Technical Highlights

  • OAuth2 token refresh with automatic retry
  • GraphQL queries to Snowflake API
  • 3,700+ lines of React with complex state management

The Pattern

"When your sales process requires checking external databases, bring the database to the CRM โ€” not the other way around."

UI extensions are often part of larger transformation journeys.

See Active Transformations