Contacts
Create, read, update, delete, and search HubSpot contacts
5 tools
Create Contact
POST /v1/tools/hubspot/createContact
Create a new contact in HubSpot. Returns the contact ID. PREREQUISITE: Call hubspot_getProperties(object_type: "contacts") first to get available property names and types — do NOT guess. Properties are passed as a flat object keyed by property name. All values must be strings. Common properties: firstname, lastname, email, phone, company, jobtitle, lifecyclestage, hs_lead_status. For enumeration properties, use the internal value (not label) — check getProperties for valid options. For multi-select, separate values with semicolons: "value1;value2". Note: if you include a company property, HubSpot automatically creates or matches a Company record and links it to the contact as the Primary associated company — this is HubSpot CRM behavior, not a separate Syncello action.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
values | object | required | Contact properties keyed by property name. All values as strings. E.g., {"email": "jane@example.com", "firstname": "Jane", "lastname": "Doe", "phone": "+1-555-0123"} |
id_only | boolean | optional | Return only the contact ID (default: true). Set to false for full response. |
Flags
| Name | Type | Description |
|---|---|---|
id_only | boolean | Return only the contact ID (default: true). Set to false for full response. |
Request
curl -X POST https://api.syncello.io/v1/tools/hubspot/createContact \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"
-d '{
"values": "..."
}'Response
{
"id": "512300140001"
} Try It
Try it
Sign in to execute this tool
Sign InGet Contact
POST /v1/tools/hubspot/getContact
Get a HubSpot contact by ID. Returns contact properties. By default returns common properties (firstname, lastname, email, phone, company, lifecyclestage). Use the "properties" parameter to request specific properties. Use hubspot_getProperties(object_type: "contacts") to see all available property names.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
contact_id | string | required | The HubSpot contact ID |
return_properties | array | optional | Specific property names to return. If omitted, returns default properties. |
Request
curl -X POST https://api.syncello.io/v1/tools/hubspot/getContact \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"
-d '{
"contact_id": "example"
}'Response
{
"id": "512300140001",
"properties": {
"company": "Acme Corp",
"createdate": "2026-07-01T18:33:45.790Z",
"email": "jane.doe@example.com",
"firstname": "Jane",
"hs_lead_status": null,
"hs_object_id": "512300140001",
"lastmodifieddate": "2026-07-01T18:33:48.934Z",
"lastname": "Doe",
"lifecyclestage": "lead",
"phone": "+1-555-0100"
},
"createdAt": "2026-07-01T18:33:45.790Z",
"updatedAt": "2026-07-01T18:33:48.934Z",
"archived": false,
"url": "https://app.hubspot.com/contacts/12345678/record/0-1/512300140001"
} Try It
Try it
Sign in to execute this tool
Sign InUpdate Contact
POST /v1/tools/hubspot/updateContact
Update an existing HubSpot contact. Pass only the properties you want to change — other properties remain unchanged. All values must be strings. PREREQUISITE: Call hubspot_getProperties(object_type: "contacts") to check property names and types before updating.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
contact_id | string | required | The HubSpot contact ID to update |
values | object | required | Properties to update, keyed by property name. All values as strings. |
Request
curl -X POST https://api.syncello.io/v1/tools/hubspot/updateContact \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"
-d '{
"contact_id": "example",
"values": "..."
}'Response
{
"id": "512300140001",
"updated": true
} Try It
Try it
Sign in to execute this tool
Sign InDelete Contact
POST /v1/tools/hubspot/deleteContact
Delete a HubSpot contact by ID. This moves the contact to the recycling bin (recoverable for a limited time). This action cannot be easily undone.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
contact_id | string | required | The HubSpot contact ID to delete |
Request
curl -X POST https://api.syncello.io/v1/tools/hubspot/deleteContact \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"
-d '{
"contact_id": "example"
}'Response
{
"deleted": true,
"contactId": "512300140001"
} Try It
Try it
Sign in to execute this tool
Sign InSearch Contacts
POST /v1/tools/hubspot/searchContacts
Search HubSpot contacts using filters and sorting. Supports filtering by any property. Filter operators: EQ (equals), NEQ, LT, LTE, GT, GTE, CONTAINS_TOKEN (word search), NOT_CONTAINS_TOKEN, IN (array), NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, BETWEEN. Multiple filters in the same group are ANDed. Multiple filter groups are ORed. Returns up to 100 results per page with paging cursor.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
filter_groups | array | optional | Array of filter groups (ORed together). Each group has a "filters" array (ANDed together). Each filter: { propertyName: string, operator: string, value: string }. Example: [{ "filters": [{ "propertyName": "email", "operator": "CONTAINS_TOKEN", "value": "acme.com" }] }] |
sorts | array | optional | Sort by property. E.g., [{ "propertyName": "createdate", "direction": "DESCENDING" }] |
return_properties | array | optional | Properties to include in results. Defaults to firstname, lastname, email. |
limit | number | optional | Max results to return (1-100, default 10) |
after | string | optional | Paging cursor from previous search result for next page |
query | string | optional | Simple text search query (searches across default searchable properties) |
Request
curl -X POST https://api.syncello.io/v1/tools/hubspot/searchContacts \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"Response
{
"total": 1,
"count": 1,
"results": [
{
"id": "512300140001",
"properties": {
"company": "Acme Corp",
"createdate": "2026-07-01T18:33:45.790Z",
"email": "jane.doe@example.com",
"firstname": "Jane",
"hs_object_id": "512300140001",
"lastmodifieddate": "2026-07-01T18:34:32.122Z",
"lastname": "Doe",
"phone": "+1-555-0100"
}
}
]
} Try It
Try it
Sign in to execute this tool
Sign In