- Sync contacts, companies, deals, tickets, products, and line items from HubSpot into Snowflake, BigQuery, and other Zwiron destinations
- Use Full Refresh or Incremental sync (cursor:
hs_lastmodifieddate) - Authorize with Sign in with HubSpot (OAuth) — no long-lived private app tokens required for customers
- Schedule recurring syncs and monitor runs in one place
Install and connect HubSpot
Zwiron uses a partner sign-in flow: users sign into Zwiron first, then authorize HubSpot.1. Create a Zwiron account
- Go to zwiron.com/login and create an account (or sign in if you already have one).
2. Create a HubSpot source connection
- In Zwiron, open Connections in the left sidebar.
- Click New Connection.
- Select HubSpot as the connector type.
- Choose Hosted execution mode (HubSpot is a cloud API — no agent required).
- Click Sign in with HubSpot.
3. Authorize HubSpot
- HubSpot opens an OAuth screen — select the HubSpot account you want to connect.
- Click Choose account.
-
Review the requested scopes. Zwiron requests read-only access to sync CRM data into your warehouse:
- Click Connect app.
- You are returned to Zwiron with the connection authorized.
Add screenshots of the Zwiron connection screen, HubSpot account picker, and scope approval screen to this page before HubSpot certification review. Listing review requires clear install/configure steps; images are required for certification.
4. Scan and save
- Zwiron runs a Scan to discover available CRM object streams (contacts, companies, deals, etc.).
- When the scan completes, click Save to store the connection.
Configure the integration
Profile the connection (recommended)
After saving, profile the connection so Zwiron can estimate table sizes before trial or production jobs.Create a pipeline (job)
- Open Jobs in the sidebar.
- Click New Job and name the job (e.g.
hubspot-to-snowflake-crm). - Select your HubSpot connection as the source.
- Select your warehouse connection as the destination (e.g. Snowflake or BigQuery).
- Select the streams to sync (contacts, companies, deals, tickets, products, line_items, etc.).
- Choose a sync mode:
- Full Refresh — reloads the full table each run (simplest; good for smaller datasets).
- Incremental — syncs only records modified since the last run using
hs_lastmodifieddate.
- Set a schedule (e.g. hourly or daily) or leave manual.
- Click Save & Run to start the first sync immediately.
Optional: Private App token
OAuth is the recommended path for Marketplace installs. For advanced setups, you can use a HubSpot Private App access token instead:- In HubSpot: Settings → Integrations → Private Apps → Create private app.
- Grant the scopes listed above.
- In Zwiron, paste the token (
pat-na2-...) into the connection form instead of using OAuth.
What you can sync
Data flows one way: HubSpot → Zwiron → warehouse. Zwiron does not write back to HubSpot.
Use the app
After a job is saved with a schedule, syncs run automatically on that schedule. You can also:- Open Jobs → select a job → Run now for a manual sync.
- Open Runs to view status, row counts, and errors.
- Use Catalog and Data Quality after syncs to inventory and validate landed data.
hs_lastmodifieddate is newer than the last successful cursor. First run behaves like a full load for each stream.
Disconnect HubSpot from Zwiron
Disconnecting stops future syncs from that HubSpot portal but does not delete data already loaded into your warehouse.- Sign in to Zwiron.
- Open Connections.
- Select the HubSpot connection.
- Click Delete (or disconnect/remove, depending on your Zwiron version).
- Confirm deletion.
Uninstall Zwiron from HubSpot
To remove Zwiron’s access from your HubSpot account entirely:- In HubSpot, go to Settings → Integrations → Connected Apps.
- Find Zwiron in the list.
- Click Disconnect or follow HubSpot’s uninstall steps.
Notes
- HubSpot’s CRM Search API returns up to 10,000 records per query; Zwiron paginates automatically.
- HubSpot enforces rate limits (typically 100 requests per 10 seconds per token). Zwiron backs off on
429responses and retries. - Bulk-imported records may have a
nullhs_lastmodifieddate; they are included in the first full refresh but may be skipped by incremental gap checks until properties change.
Support
- Email: support@zwiron.com
- Product: zwiron.com
- Pricing: zwiron.com/pricing