HubSpot API Integration: Contacts and Deal Sync

View this page

How a website, app or store syncs contacts and deals with HubSpot: upsert by email, deal associations, rate limits by tier, signed webhooks, and when HubSpot forms are enough.

Organisation
WavX Solutions
Telephone
+919310079927

Description

Integration HubSpot integration: contacts, deals and two-way sync with your systems

A HubSpot integration keeps contacts and deals in HubSpot matched with what happens in your own systems: an enquiry or sign-up upserts a contact by email and opens a deal, and a deal moving stage in HubSpot updates your app, store or messaging. It runs on HubSpot's CRM API with a private app token or OAuth, inside per-10-second and daily limits. Facts here are from HubSpot's documentation as read on 2 October 2026.

Discuss an integration Last updated 2 October 2026

What the integration connects

HubSpot is the CRM most overseas buyers already run, and Indian companies selling abroad often inherit it. The integration joins it to the systems HubSpot does not see on its own:

Into HubSpot: sign-ups and enquiries from your app, checkout and orders from a store or billing system, conversations from WhatsApp , product usage that should raise a deal's priority.

Out of HubSpot: a deal marked closed-won creates an account or order in your system; a lifecycle change sends a message; a sales owner's assignment appears in your support tool.

Tracking which ad or campaign produced each contact is a separate job, done with Google Analytics 4 and the ad platforms' conversion APIs, then passed into HubSpot as contact properties.

Data flow: a sign-up becomes a contact and a deal

App sign-up / enquiry / order

Your server ── normalise email and phone, add source properties

├─▶ POST /crm/v3/objects/contacts/batch/upsert (idProperty: email)

│ ◀── contact id

├─▶ POST /crm/v3/objects/deals (dealname, dealstage id, pipeline id,

│ associations → contact id)

│ ◀── deal id

Store both HubSpot ids beside your own record

HubSpot ── webhook: deal stage changed (signed, X-HubSpot-Signature-V3)

Your server ── verify signature and timestamp ── fetch deal ── update your system

Field mapping

Your field

HubSpot object and property

Notes

Email

Contact email

Primary unique identifier; used as idProperty for upsert

First and last name

Contact firstname , lastname

At least one of email, first name or last name is required

Mobile

Contact phone or mobilephone

Not unique in HubSpot; normalise to +91 format if you match on it

Company name

Company name , associated to the contact

Or a contact property if you do not use companies

Signup source, UTM values

Custom contact properties

Create them in HubSpot first

Plan or order value

Deal amount

Number, without currency symbols

Enquiry or order reference

Deal dealname , plus a custom property holding your ID

Your ID makes later lookups and de-duplication possible

Stage

Deal dealstage

Must be the stage's internal ID, not its label

Pipeline

Deal pipeline

Internal ID; required when the account has more than one pipeline

Limits HubSpot documents

Rule

As read on 2 October 2026

Private (privately distributed) apps, Free and Starter

100 requests per 10 seconds per app; 2,50,000 per day per account

Professional

190 per 10 seconds per app; 6,25,000 per day per account

Enterprise

190 per 10 seconds per app; 10,00,000 per day per account

With the API limit increase

250 per 10 seconds per app; 10,00,000 per day on top of the base subscription

Public OAuth apps

110 requests per 10 seconds for each installing account

Daily limit

Shared across all apps in the HubSpot account

Batch create, update, upsert

100 records per request

CRM search

5 requests per second per account; 200 results per page; 10,000 results per query; query body up to 3,000 characters

Webhook verification

HMAC SHA-256 over method, URI, body and timestamp; reject anything older than 5 minutes

Gotchas

Search lags behind writes. HubSpot says newly created or updated records may take a few moments to appear in search. An integration that searches for a contact right after creating it will not find it and creates a duplicate. Use upsert by email instead of search-then-create.

Stage labels are not stage IDs. Sending "Qualified" as dealstage fails. The pipeline's internal IDs are read once and mapped.

The 10,000 search cap. Any nightly job that pages through a large search will stop at 10,000 results. Bulk reconciliation must page by date windows.

Shared daily quota. Your marketing tools and this integration draw from the same account-wide daily limit.

Legacy private apps. HubSpot still supports them but recommends its newer developer platform for new apps; on a legacy private app, webhook subscriptions are edited in the app settings, not through the API.

Webhooks need verifying. A receiver that does not check the v3 signature and timestamp will accept forged or replayed events.

What WavX builds

WavX builds the server-side sync between HubSpot and your app, store or back-office system: contact upsert with clean phone and email, deal creation with associations and correct stage IDs, a verified webhook receiver for changes coming back, batching and back-off for the rate limits, a nightly reconciliation by date window, and a log of every exchange. HubSpot connected to WhatsApp conversations is covered on WhatsApp to CRM .

Effort band

HubSpot integration work is quoted after scoping. For planning, the software cost estimator carries third-party integrations as a ₹60,000 line item inside a larger build; the worked range for a standalone integration service is on API and system integration services . HubSpot's own subscription and any API limit increase are paid to HubSpot.

When not to build one

If leads only come from website forms, embed HubSpot's forms and let HubSpot create the contacts. If HubSpot's marketplace already has a maintained app for the tool you want to connect, try it before commissioning custom code. If your team is on HubSpot's free tier and evaluating whether a CRM is worth it at all, a custom integration is premature. When HubSpot itself is the wrong fit, read custom CRM development or compare with Zoho CRM .

Frequently asked questions

Can HubSpot forms do this without a developer?

For website enquiries, often yes. An embedded HubSpot form sends submissions straight to HubSpot, provided the site's domain is added to HubSpot's tracking settings; otherwise submissions are marked as spam. Custom work is for leads that come from an app, a checkout, WhatsApp or a back-office system, and for anything that has to flow back out of HubSpot.

How are duplicates avoided?

HubSpot treats email as the primary unique identifier for contacts, and the batch upsert endpoint can match on email. Phone numbers are not unique in HubSpot, so a contact without an email needs its own matching rule in the integration, usually a normalised phone number stored in a property you search on.

What happens when we hit HubSpot's rate limit?

HubSpot answers with a 429 error for calls over the limit. A sound integration batches writes (up to 100 records per call), spaces its requests, and retries 429s after a pause. The daily limit is shared by every app in the HubSpot account, so a careless integration can stop your other tools too.

Should we use HubSpot or build a custom CRM?

If your sales process fits HubSpot's contacts, companies, deals and pipelines, use HubSpot and integrate it. A custom CRM is worth considering when your process does not fit those objects or when per-seat pricing grows faster than the team's value from it.

Sources

HubSpot developer docs: API usage guidelines and limits · read 2 October 2026

HubSpot developer docs: CRM search API · read 2 October 2026

HubSpot developer docs: Contacts API guide · read 2 October 2026

HubSpot developer docs: Deals API guide · read 2 October 2026

HubSpot developer docs: Validating requests · read 2 October 2026

HubSpot developer docs: Legacy private apps · read 2 October 2026

HubSpot Knowledge Base: Embed HubSpot forms on an external site · read 2 October 2026

Related

WhatsApp to CRM integration

Zoho CRM integration

Google Analytics 4 integration

Custom CRM development

API and system integration services

Build your own software — your way, your pricing.

WavX Solutions is here to create your own software in a fully custom way, built exactly how you work — with a pricing model that fits your business. Connect now and let's build it.

Contact Now helpwavx@gmail.com

Reference material from WavX Solutions

Related questions WavX has answered

We use HubSpot for B2B sales and Shopify for our online store, and the two don't share customer data. Marketing wants abandoned carts and order history inside HubSpot. Is the ready-made connector enough, or should we build a custom integration?

Start with the ready-made connector; it covers what marketing asked for. Standard connectors sync customers, orders, products and abandoned carts into HubSpot and are quick to switch on. Build a custom integration only when you hit their limits: mapping Shopify B2B companies to HubSpot companies, syncing metafields, custom deal stages per order, two-way updates, or strict rules for merging duplicate contacts. Run the connector for a month, list what is missing, and scope custom work from that list. HubSpot is among the integrations WavX names. Source

Can one system keep stock in sync across my three stores and my website?

One central inventory can serve all three stores and the website, with each location holding its own count for every item. A sale at any counter or online reduces that location's stock immediately, so the site never sells a piece that left a store an hour ago. For one-of-a-kind items such as jewellery or sarees, the system should reserve the piece the moment it enters an online cart. The website can then show which branch has it and offer pickup or transfer. This requires store billing to run on the same system or sync with it. Source

What happens after I fill in the contact form on the WavX website?

The form at /contact starts a free consultation. WavX Solutions reads what you sent, comes back to discuss goals, users and scope, and then prepares a written quote on a fixed-price, time-and-materials or hybrid basis. There is no charge for that conversation. No response time is published, so if you have a deadline, mention it in the form or call +91 93100 79927 between 10 AM and 7 PM IST, Monday to Saturday. Source

Is a mobile app worth it for my D2C brand, or is a website enough?

A website is enough until you have a steady base of repeat buyers. New customers arrive from ads and search and buy on a mobile site; asking them to install an app first loses them. An app earns its cost when people order monthly or more, since push notifications cost nothing to send and reordering takes seconds. WavX's custom store starts at ₹1,50,000, and a medium cross-platform app with accounts, payments and push is about ₹4.6L–₹6.8L over 7–12 weeks in its cost model. Both figures are negotiable, so start with the store. Source

Does my business really need an app, or is a good mobile website enough?

A mobile website is enough unless customers or staff will use it repeatedly and you need what only an app provides. Ask four things: will the same person open it weekly or more; do you need push notifications; must it work offline or use GPS, camera or Bluetooth in the background; and does a store listing matter to your customers. Two or more yes answers point to an app. Otherwise a fast mobile site or PWA reaches everyone with no install, at lower cost. Source

Can I run retail and wholesale customers on the same website, or do I need two stores?

One website can serve both, and it is usually the better choice because stock, products and orders stay in a single system. Retail visitors see public prices and pay at checkout. Wholesale customers log in and see their own price list, minimum quantities and payment terms, often with a faster bulk-order screen. Two separate stores only make sense when the brands, catalogs or tax treatment differ so much that sharing a backend adds confusion instead of removing it. Source

What are App Store privacy labels and the Play Store data safety form, and who fills them in?

They are declarations shown on the store listing that tell users what data an app collects, why, and whether it is shared or linked to their identity. Apple calls them privacy labels; Google calls its version the data safety section. The account owner is accountable for their accuracy, but the developer normally prepares them, because the answers depend on every SDK in the app, including analytics, crash reporting and payment libraries. A mismatch between the form and the app's real behaviour is a common cause of rejection. Source

Do I need the WhatsApp Business API for my Shopify store or is the normal WhatsApp Business app enough?

The WhatsApp Business app is enough while one person answers chats by hand; you need the API once messages should send themselves. The API is what allows automatic order confirmations, shipping updates, COD confirmation, abandoned-cart reminders, several agents on one number and chatbots. It works through an approved provider, uses pre-approved message templates and requires customer opt-in. For an Indian store where many buyers prefer WhatsApp to email, order updates over the API are usually the first automation worth adding. Source

WavX starting prices (base scope, before add-on features)

From the cost model behind the WavX calculators. A quote follows a scoping call; features, integrations and scale move these figures. Annual maintenance is typically 15–25% of the build cost.

BuildStarting priceTypical timeline
Landing pagefrom ₹40,0003–6 weeks
Business websitefrom ₹50,0003–6 weeks
E-commerce storefrom ₹1,50,0003–6 weeks
Internal tool / dashboardfrom ₹2,00,0003–6 weeks
Custom web applicationfrom ₹4,50,0006–10 weeks
SaaS productfrom ₹7,00,00010–16 weeks
ERP / CRM systemfrom ₹9,00,00010–16 weeks
AI chatbotfrom ₹1,50,0003–6 weeks
RAG assistant (your data)from ₹3,50,0006–10 weeks
AI agent / automationfrom ₹5,00,0006–10 weeks
AI feature in an appfrom ₹2,50,0003–6 weeks

Calculators: website, software, AI, mobile app. Pricing explained: https://www.wavxsolutions.in/pricing.

About WavX Solutions

WavX Solutions (WAVX — Web Application & Venture Exchange) is a remote-first, 100% custom software development company founded in 2022 in Gurgaon, Delhi NCR, India. WAVX designs, builds, scales and maintains custom websites, web applications, iOS and Android apps, Shopify stores, ERP/CRM software, loyalty systems, AI integrations and performance marketing for startups, businesses, brands and institutions across India.