HubSpot Access
Shared Data
This page documents Quarterdeck's current HubSpot scope and data flow. Quarterdeck requests read-only access to the exact scope set listed below. Data flows in one direction only — HubSpot → Quarterdeck. We never write to, modify, or delete anything in your HubSpot account, and we request no write scopes.
Deals
crm.objects.deals.read- Why it's needed
- Reads deal properties (name, amount, stage, pipeline, close date, created date, probability, owner reference) to detect material pipeline changes, rank deals that deserve review, and explain the evidence behind each exception.
- Access
- Read only
- Direction
- HubSpot → Quarterdeck
- Where it's stored
- Supabase (PostgreSQL); tenant-membership-scoped RLS policies in the schema
- Retention
- Deleted when Quarterdeck confirms a successful disconnect; errors are reported
Owners
crm.objects.owners.read- Why it's needed
- Reads owner names and email addresses to display deal ownership and flag unowned deals.
- Access
- Read only
- Direction
- HubSpot → Quarterdeck
- Where it's stored
- Supabase (PostgreSQL); tenant-membership-scoped RLS policies in the schema
- Retention
- Deleted when Quarterdeck confirms a successful disconnect; errors are reported
Contacts (metadata only)
crm.objects.contacts.read- Why it's needed
- Reads deal-note timestamps, and contact metadata for Lead Quality, Routing and campaign attribution: lifecycle stage, lead status, source, owner, company ID, creation and lifecycle dates, campaign-attribution fields, latest sequence, and whether a job title and country exist.
- Access
- Read only
- Direction
- HubSpot → Quarterdeck
- Where it's stored
- Metadata above, the email domain, and a keyed one-way hash of the email (for duplicate detection). Names, email addresses, phone numbers and note bodies are never stored
- Retention
- Deleted when Quarterdeck confirms a successful disconnect; errors are reported
Workflows
automation (optional)- Why it's needed
- Reads workflow names, status, trigger criteria and action definitions to build the Workflow ROI inventory, detect overlap and infer AI-assisted automation. HubSpot offers no read-only version of this scope; Quarterdeck sends only read requests, enforced in code.
- Access
- Read requests only (scope itself is not read-only)
- Direction
- HubSpot → Quarterdeck
- Where it's stored
- Workflow definitions (JSON) per tenant
- Retention
- Deleted on disconnect or when you delete synced data
Campaigns
marketing.campaigns.read (optional)- Why it's needed
- Reads campaign names and influenced-contact metrics. Requires Marketing Hub Professional or higher for metrics.
- Access
- Read only
- Direction
- HubSpot → Quarterdeck
- Where it's stored
- Campaign properties and metric counts
- Retention
- Deleted on disconnect or when you delete synced data
Campaign revenue report
marketing.campaigns.revenue.read (optional)- Why it's needed
- Reads HubSpot's own attributed revenue per campaign (linear multi-touch model).
- Access
- Read only
- Direction
- HubSpot → Quarterdeck
- Where it's stored
- Attributed revenue, deal amount and deal count per campaign
- Retention
- Deleted on disconnect or when you delete synced data
Sequences
automation.sequences.read (optional)- Why it's needed
- Reads sequence names and step counts. HubSpot exposes no reply or open statistics for sequences.
- Access
- Read only
- Direction
- HubSpot → Quarterdeck
- Where it's stored
- Sequence name, owner reference, step count
- Retention
- Deleted on disconnect or when you delete synced data
Companies (metadata only)
crm.objects.companies.read (optional)- Why it's needed
- Reads company domain, owner and completeness flags to detect duplicate and incomplete companies.
- Access
- Read only
- Direction
- HubSpot → Quarterdeck
- Where it's stored
- Domain, owner, lifecycle stage, completeness flags and a keyed hash of the name
- Retention
- Deleted on disconnect or when you delete synced data
What Quarterdeck does not access
- No contact names, email addresses, phone numbers, or message bodies. Contacts and companies are stored as metadata and one-way hashes only.
- No email content or form submissions. Campaign email engagement is limited to aggregate send, open and click counts.
- No HubSpot Credits, Breeze or billing data: HubSpot does not expose it through its API.
- No sensitive-data scopes.
- No HubSpot write, update, or delete scopes.
AI narrative generation sends structured, already-calculated findings to Anthropic. Depending on the findings, these can include company name, reporting period, aggregate metrics, deterministic scores, at-risk deal names, HubSpot deal IDs, amounts, and risk reasons. Quarterdeck does not send contact names, email addresses or note bodies in these narrative requests. See our Privacy Policy and Security pages for details.