HubSpot Integration
Connect HubSpot CRM, Marketing, and Service Hub to Metalogue
HubSpot Integration
Connect your HubSpot account to index CRM records, marketing content, and support tickets.
Quick Start
const connector = await client.createConnector({
connector_type: 'hubspot',
display_name: 'Company HubSpot',
credentials: {
access_token: 'xxxxxxxxxxxx',
},
});
await client.syncConnector(connector.connector_id, true);
Authentication
OAuth 2.0 (Recommended)
GET /v1/connectors/hubspot/oauth-url
Private App Token
{
"credentials": {
"access_token": "pat-na1-xxxxxxxxxxxx"
}
}
Synced Content
| Hub | Objects | Indexed Fields |
|---|---|---|
| CRM | Contacts, Companies, Deals | Properties, Notes, Activities |
| Marketing | Emails, Landing Pages, Blogs | Content, Performance |
| Service | Tickets, Knowledge Base | Subject, Content, Resolution |
| Sales | Quotes, Line Items | Details, Terms |
Configuration
{
"settings": {
"hubs": ["crm", "marketing", "service"],
"objects": ["contacts", "companies", "deals", "tickets"],
"include_associations": true,
"sync_archived": false
}
}
Property Selection
Choose which properties to index:
{
"settings": {
"properties": {
"contacts": ["firstname", "lastname", "email", "company"],
"deals": ["dealname", "amount", "dealstage", "notes"]
}
}
}
Example Queries
// Find deals in negotiation stage
const results = await client.query({
text: 'enterprise contract negotiation',
filters: {
connector_type: 'hubspot',
document_type: 'deal'
}
});
Webhooks
Real-time sync via HubSpot webhooks:
- Contact created/updated
- Deal stage changes
- Ticket updates
Rate Limits
- OAuth: 100 requests/10 seconds
- Private Apps: 500,000/day
