Before you begin: scope and permissions
- Confirm Export permission and visibility for the selected HubSpot object records.
- Approve the contacts, companies, deals and activity types in scope; API access must be configured separately.
- Approve the intended scope and use with the business owner; export access alone does not establish licensing rights.
- Use an approved encrypted working environment with restricted access and a retention deadline.
Separate CRM properties from activity content
HubSpot contains current contact, company and deal properties alongside calls, emails, notes, meetings and tasks. A property export is useful for a reporting snapshot, but a dataset about selling workflows needs the activities connected to those records. Begin with a cohort of deals and an explicit period rather than every contact ever collected.
Export records from an object view
Follow HubSpot’s record export instructions. Open the relevant CRM object, select the intended view, choose Export and configure the file format and properties. Include record identifiers and choose the association options deliberately. The current tool offers association limits and an all-associated-records option for CSV; verify the selection before assuming all relationships are present.
Export requires the Export permission. The record export contains current property values and associations. Activities require a different route, such as an eligible activity report, individual contact export or the appropriate API.
Design a bulk collection job
HubSpot’s developer overview distinguishes bulk export and CRM API approaches. Use an approved integration with the permissions for the objects needed. Define each object and activity type, fetch all pages, keep source IDs, and collect associations as explicit edges. Test a small deal with known notes and calls before a full run. This guide deliberately avoids a universal endpoint or scope list because activity objects and authentication requirements must be checked for the integration you use.
Save a pipeline dictionary alongside the records. A human-readable stage label can change; a record should remain interpretable when the label is renamed. Capture the extraction time so a current value is not mistaken for historical truth.
Structure a relationship-preserving dataset
Use separate tables for objects, activities and associations. In a synthetic example, deal d-18 links to company c-4 and contacts p-2 and p-3; a call links to d-18 and p-2. Joining all contacts and activities in a flat spreadsheet can multiply the call into several rows. Count unique activity keys after the join and retain the original edge table.
Normalize empty values and property types explicitly. A blank lifecycle field is not the same as “not a customer.” Preserve currency codes, timezones and the meaning of custom statuses. Convert to JSONL only after validating relationships; changing file syntax does not improve the underlying observations.
Prepare for privacy and outcome review
Marketing permission, technical export permission and authority to license data for AI are separate questions. Inspect consent-related fields, acquired lead lists and third-party enrichment. Do not treat an email subscription as permission for unrelated training uses. Remove personal contact details where unnecessary, and review notes and message bodies for confidential negotiations.
For a forecasting task, define what was known at a historical cutoff. Do not include the final deal stage or a retrospective note among the inputs when the goal is to predict that outcome. If history is missing, describe the dataset as a snapshot rather than fabricating a timeline.
Troubleshoot associations and evaluate fit
Why does an exported deal have no emails? A record export is not a conversation archive. Verify the separate activity method.
Why are associations incomplete? Check the export option, selected object view and actual record visibility. Reconcile source examples against the exported edges.
A candidate dataset might support relationship extraction or sales-process evaluation when labels and context are reliable. Document complete deal histories, missing activity types and legal exclusions. These are assessment inputs, not a promise of buyer interest or a valuation.
Release checklist
- Export stable record IDs and association IDs, not names alone.
- Keep pipeline and stage definitions with the export and test whether activity content was actually collected.
- Reconcile source counts and date coverage; record excluded or unavailable records.
- Validate identifiers, relationships, timestamps and field types after transformation.
- Document provenance, privacy review, third-party restrictions and the authorized release approver.
- Scan the release files for personal information, secrets and confidential material; test a reviewed sample before transfer.
Have a proprietary dataset?
Find out whether it may be suitable for AI licensing. Start with a high-level description of the source, date range, volume, rights status, and preparation work still needed.
Assess dataset readinessUse the existing buyer application when ready. Share only authorized information. Do not submit raw confidential records, credentials, or personal data in the initial assessment.
Sources & verification
Official documentation reviewed 2026-10-15. Procedures and access rules can change. These are documentation-based instructions, not a live export from your account. Verify your product version, permissions and retention settings before running a job.