How to Build a Customer 360 Dashboard Using Salesforce, HubSpot, and Stripe Data with a CRM API
March 4, 2026
RevOps platforms, analytics tools, and AI products increasingly need CRM data and billing data in the same place.
A Customer 360 dashboard combines:
- contact and company data from CRMs
- deal and pipeline activity
- invoices, payments, and subscriptions
This allows products to show a complete view of each customer — from first sales interaction to ongoing revenue.
The challenge is that this data lives across multiple platforms. A customer's sales activity might exist in Salesforce or HubSpot, while billing and subscriptions are managed in Stripe or an accounting platform.
Each system exposes different APIs, authentication models, and data schemas. Building and maintaining direct integrations across all of them quickly becomes expensive.
Unified solves this by providing category-specific APIs that normalize data across platforms in real time. With the CRM, Payments, and Accounting APIs, your product can retrieve customer, deal, invoice, and subscription data through a consistent interface and combine it into a single dashboard.
When to Build a Customer 360 Dashboard
Product teams commonly build Customer 360 views when developing:
- customer analytics platforms
- RevOps and revenue intelligence products
- account health dashboards
- AI sales copilots
- customer success tools
These products need to combine sales pipeline data with billing and subscription information to understand the full customer lifecycle.
Learn how to retrieve CRM and billing records in real time in our guide: How to Build Sales Enrichment Across Salesforce, HubSpot, and 38+ CRMs
Customer 360 architecture
A typical Customer 360 dashboard combines three data sources:
CRM platforms
(Salesforce, HubSpot)
↓
Unified CRM API
↓
Customer profile + pipeline data
Billing platforms
(Stripe, QuickBooks)
↓
Unified Payments / Accounting APIs
↓
Invoices, subscriptions, payments
Your application database
↓
Customer 360 dashboard
Common Customer 360 Use Cases
Products typically build Customer 360 dashboards to support:
Customer analytics platforms
Combine CRM and billing data to analyze revenue by account.
Sales intelligence tools
Provide reps with a unified view of pipeline activity and payment status.
Customer success platforms
Surface account health signals such as overdue invoices, declining engagement, or stalled deals.
AI copilots
Allow LLM assistants to answer questions like:
- 'What's the latest deal activity for this customer?'
- 'Has this account paid their last invoice?'
- 'When does their subscription renew?'
Unified Categories Used in a Customer 360 Dashboard
A Customer 360 dashboard typically pulls data from three Unified API categories.
| Category | Description | Key Objects |
|---|---|---|
| CRM | Customer relationship data across platforms like Salesforce and HubSpot | contact, company, deal, event, lead, pipeline |
| Payments | Billing and subscription data across providers like Stripe | payments, refunds, payouts, subscriptions |
| Accounting | Invoice and financial records from accounting platforms | invoices, bills, transactions, contacts |
These APIs normalize the core objects used in most CRM and billing systems, allowing your product to retrieve customer and revenue data through consistent endpoints.
Unified Objects & Key Fields
Unified standardizes the core objects needed to power customer analytics.
| Object | Purpose | Key Fields |
|---|---|---|
| Contact | Individual customer or prospect | id, name, emails, telephones, company_ids, deal_ids, user_id |
| Company | Organization associated with contacts and deals | id, name, domains, industry, employees, contact_ids, deal_ids |
| Deal | Revenue opportunity in a pipeline | id, amount, currency, stage_id, closing_at, contact_ids, company_ids |
| Event | Activity record such as meeting, call, or note | id, type, created_at, contact_ids, company_ids, deal_ids |
| Invoice | Billing document issued to a customer | id, contact_id, total_amount, status, due_at, paid_at |
| Payment | Transaction associated with an invoice | id, invoice_id, contact_id, total_amount, currency |
| Subscription | Recurring billing relationship | id, contact_id, status, current_period_start_at, current_period_end_at |
These objects provide the foundation for linking CRM activity with billing and subscription data.
What to Show in a Customer 360 Dashboard
A minimal Customer 360 view usually includes five panels.
Account profile
Displays the basic account record.
Example fields
- company name and domain
- primary contact
- account owner
- industry and employee size
Powered by
- CRM company
- CRM contact
Revenue and billing status
Shows the current financial relationship with the customer.
Example metrics
- subscription status
- renewal date
- most recent payment
- outstanding invoices
Powered by
- subscription
- invoice
- payment
Pipeline snapshot
Displays current revenue opportunities.
Example metrics
- open deals
- deal stage
- expected close date
- total pipeline amount
Powered by
- CRM deal
- CRM pipeline
Engagement timeline
Shows recent interactions with the customer.
Example metrics
- last activity date
- meetings and calls
- notes and emails
- activity count over time
Powered by
- CRM event
Customer health indicators
Combines sales and billing signals to assess account health.
Example signals
- overdue invoices
- canceled subscriptions
- lack of recent activity
These signals help customer success teams prioritize accounts that need attention.
Linking CRM Customers to Billing Customers
CRM contacts and billing contacts are intentionally separate objects in Unified.
CRM objects represent sales activity, while accounting and payment objects represent financial transactions. Because different systems manage these records, they use different identifiers.
To build a Customer 360 view, your application should maintain a mapping between them.
Typical approach:
- Maintain an internal
customer_id - Store associated identifiers from both domains
- CRM contact or company IDs
- accounting contact IDs
Matching is usually done using:
- primary email address
- company domain
- company name
Once mapped, your application can join CRM and billing data consistently.
Connect Customer Accounts
Customers authorize their systems through Unified Connect.
The authorization flow is the same across CRM, payments, and accounting platforms.
Typical process:
- Your application launches the authorization flow using the Unified Connect component.
- The customer selects a provider such as Salesforce, HubSpot, or Stripe.
- After authorization, the user is redirected back to your application.
- The redirect URL includes a connection_id identifying the authorized account.
You store the mapping between:
user_id → connection_id
Once the connection exists, the same identifier can be used across all Unified API calls.
Retrieving Customer and Billing Data
A Customer 360 dashboard typically queries CRM and billing objects using list endpoints.
Examples include:
CRM endpoints
GET /crm/{connection_id}/contact
GET /crm/{connection_id}/company
GET /crm/{connection_id}/deal
Common filters used in dashboards:
updated_gte– retrieve recently changed recordsuser_id– filter by account ownercompany_idorcontact_id– retrieve related recordspipeline_id– filter deals by pipeline
These parameters make it easy to retrieve incremental updates and group data for analytics.
Billing and payment endpoints
GET /accounting/{connection_id}/invoice
GET /accounting/{connection_id}/contact
GET /payment/{connection_id}/payment
GET /payment/{connection_id}/subscription
Useful filters include:
contact_id– retrieve invoices for a specific customerinvoice_id– retrieve payments linked to a particular invoiceupdated_gte– incremental updatesstart_gte/end_lt– subscription lifecycle analysis
Using these endpoints, your application can retrieve invoice status, subscription lifecycle data, and payment history for each customer.
Keeping Customer 360 Data Updated
Unified provides a consistent webhook system for tracking record changes.
Webhook subscriptions specify:
- the object type (for example
crm.contactoraccounting.invoice) - event types such as
created,updated, ordeleted - a callback URL
When supported by the underlying platform, native webhooks are forwarded directly. If a platform lacks native webhooks, Unified provides virtual webhooks, which poll the source API and emit events when records change.
For Customer 360 dashboards this enables updates such as:
- contact profile updates
- deal stage changes
- invoice status updates
- payment completion events
- subscription lifecycle changes
Your application receives these events and updates the dashboard immediately.
Supported CRM and Billing Platforms
Unified supports a large ecosystem of CRM and billing integrations.
CRM platforms
Unified's CRM API supports 47 CRM integrations, including:
- Salesforce
- HubSpot
- Pipedrive
- Zoho CRM
- Microsoft Dynamics 365
- Copper
- Close
- Freshsales
- Insightly
Billing and payments platforms
Unified's payments category supports 16 payment integrations, including:
- Stripe
- PayPal
- Chargebee
- GoCardless
- Square
- Brex
Accounting platforms
Unified's accounting category supports 41 accounting integrations, including:
- QuickBooks
- Xero
- Zoho Books
- Sage Accounting
Why Product Teams Choose Unified
Building a Customer 360 dashboard without integration infrastructure requires separate connectors for every CRM and billing platform.
Unified simplifies this by providing:
- normalized objects across CRM and billing categories
- real-time data retrieval from source APIs
- consistent webhook events across providers
- reusable authorization flows for all integrations
Instead of building and maintaining dozens of connectors, your team can focus on the product experience and analytics layer.
Start building customer analytics across Salesforce, HubSpot, Stripe, and dozens of other platforms today.