Using HubSpot
Practical guide for working with HubSpot contacts, deals, companies, and pipelines through Fp Switchboard.
Quick Tips
Section titled “Quick Tips”- Associations require Type IDs:
1=contact_to_company,3=deal_to_contact - Pipeline stages: use internal ID (
qualifiedtobuy), not label (“Qualified to Buy”) - GET requests: specify
propertiesparameter — defaults return onlyid/createdate - Timestamps are Unix milliseconds
- Custom properties: use internal name, not UI label
Common Gotchas
Section titled “Common Gotchas”Association Type IDs Required Critical
Section titled “Association Type IDs Required ”Creating associations requires specific type IDs, not just object IDs.
| Example | |
|---|---|
| Wrong | Associate contact 123 with company 456 (missing type) |
| Correct | associationTypeId: 1 (contact_to_company) |
Common type IDs: 1=contact_to_company, 2=company_to_contact, 3=deal_to_contact, 4=contact_to_deal
Stage IDs vs Labels Critical
Section titled “Stage IDs vs Labels ”Pipeline stages have internal IDs that differ from display labels.
| Example | |
|---|---|
| Wrong | dealstage: "Qualified to Buy" |
| Correct | dealstage: "qualifiedtobuy" |
Look up pipeline/stage IDs from /crm/v3/pipelines/deals first.
Properties Not Returned by Default Important
Section titled “Properties Not Returned by Default ”GET requests only return id and createdate. Must specify properties parameter.
| Example | |
|---|---|
| Wrong | GET /crm/v3/objects/contacts/{id} |
| Correct | GET /crm/v3/objects/contacts/{id}?properties=email,firstname,lastname |
Internal Property Names Important
Section titled “Internal Property Names ”API uses internal property names, not UI labels.
| Example | |
|---|---|
| Wrong | property: "Annual Revenue" |
| Correct | property: "annualrevenue" |
Multi-Step Patterns
Section titled “Multi-Step Patterns”Get Deal with Associations
Section titled “Get Deal with Associations”GET /crm/v3/objects/deals/{id}?associations=companies,contacts- This returns association IDs, not full records
- Make separate calls to get full contact/company details
Create Association
Section titled “Create Association”- Identify source and target object IDs
- Look up association type ID (e.g.,
1for contact_to_company) PUT /crm/v4/objects/{fromObject}/{fromId}/associations/{toObject}/{toId}
ID Format Reference
Section titled “ID Format Reference”| ID Type | Format | Example |
|---|---|---|
| Object ID | Numeric string | 12345 |
| Association Type ID | Small integer | 1 |
Example Prompts
Section titled “Example Prompts”- “List my HubSpot deals in the pipeline”
- “Create a new contact for Jane Smith at Acme Corp”
- “Show deals closing this month”
- “Search contacts with email domain @techcorp.com”
- “Update the deal stage to ‘Closed Won‘“
Rate Limits
Section titled “Rate Limits”| Plan | Limit |
|---|---|
| Free/Starter | 100 requests/10 seconds |
| Professional | 150 requests/10 seconds |
| Enterprise | 200 requests/10 seconds |
| Search | 4 requests/second |