VX Agents

API directory · CRM & Sales

HubSpot CRM Tasks

v1.0.0 · 8 endpoints · 0 connections · shared by vx.ai

What does each rep still owe a customer this week? Search HubSpot tasks by owner, due date and status, create follow-up calls, emails and to-dos tied to contacts, companies or deals, then mark them done or move the due date, one task or a batch at a time.

Connect this API to an AI agent Browse all specs

What you can do with HubSpot CRM Tasks via MCP

Every endpoint below becomes a governed tool your AI agent (Claude, ChatGPT, or a customer-facing VX agent) can call — with scoped permissions, sandbox testing, and audit logs.

MethodPathOperationDescription
POST /crm/objects/2026-09/tasks/search searchTasks Find tasks by owner, due date, status, type or any property
GET /crm/objects/2026-09/tasks listTasks List tasks page by page with the properties you choose
POST /crm/objects/2026-09/tasks createTask Create a task and link it to a contact, company or deal
GET /crm/objects/2026-09/tasks/{taskId} getTask Get one task with its properties and associated records
PATCH /crm/objects/2026-09/tasks/{taskId} updateTask Update a task: complete it, change its due date, owner or notes
POST /crm/objects/2026-09/tasks/batch/read batchReadTasks Read up to 100 tasks at once by id
POST /crm/objects/2026-09/tasks/batch/create batchCreateTasks Create up to 100 tasks in one call
POST /crm/objects/2026-09/tasks/batch/update batchUpdateTasks Update up to 100 tasks in one call by id

Authentication

private_app_token

Bearer token — sent as Authorization: Bearer <token>

HubSpot private app access token (or an OAuth access token), sent as Authorization: Bearer <token>.

How to get a credential

  1. In HubSpot, open Development (or Settings > Integrations) > Legacy apps / Private apps.
  2. Click Create legacy app > Private, and name it (e.g. VX Agents tasks).
  3. On the Scopes tab add crm.objects.contacts.read and crm.objects.contacts.write (HubSpot uses these scopes for tasks).
  4. Create the app and copy the access token (pat-...).

Permissions used

Scope Operations
crm.objects.contacts.read listTasks, getTask, searchTasks, batchReadTasks
crm.objects.contacts.write createTask, updateTask, batchCreateTasks, batchUpdateTasks

Common errors

Status Meaning Fix
401 Token missing, expired or revoked Copy the token again from the private app; rotate it if it was revoked.
403 Scope missing Add the scope listed above to the app and save.
400 Bad property or association Check property names (hs_task_subject, hs_timestamp...) and association type ids.
429 Rate limit Wait and retry; search allows about 5 requests per second.

Store the token as a VX Agents credential (Bearer token).

Usage guide

Setup

  1. Add a HubSpot private app token (pat-...) as a VX Agents Bearer credential, with scopes crm.objects.contacts.read and crm.objects.contacts.write.
  2. Optional: pin properties on listTasks / getTask to hs_task_subject,hs_task_status,hs_task_priority,hs_task_type,hs_timestamp,hubspot_owner_id, otherwise HubSpot returns only a few default fields.

Review and follow up on tasks

  1. searchTasks with filterGroups, e.g. open tasks for one rep due this week: hs_task_status NEQ COMPLETED, hubspot_owner_id EQ <owner id>, hs_timestamp BETWEEN two dates. Add sorts (hs_timestamp ascending) and properties. Page with after.
  2. getTask for one task; pass associations=contacts,companies,deals to see who it is about.
  3. To add a follow-up, confirm the details with the user, then createTask with properties (hs_timestamp is required: the due date) and associations: {"to": {"id": "<contact id>"}, "types": [{"associationCategory": "HUBSPOT_DEFINED", "associationTypeId": 204}]} links the task to a contact. Use the associations guide for company and deal type ids.
  4. To complete or reschedule, confirm with the user, then updateTask with only the changed properties, e.g. {"properties": {"hs_task_status": "COMPLETED"}} or a new hs_timestamp.
  5. For many tasks at once use batchReadTasks, batchCreateTasks or batchUpdateTasks (up to 100 inputs each).

Good to know

  • Task properties: hs_task_subject (title), hs_task_body (notes), hs_task_status (NOT_STARTED or COMPLETED), hs_task_priority (LOW, MEDIUM, HIGH), hs_task_type (EMAIL, CALL, TODO), hubspot_owner_id, hs_task_reminders (Unix ms).
  • hs_timestamp takes Unix milliseconds or an ISO 8601 UTC time; search filters on dates use Unix milliseconds.
  • Owner ids are HubSpot user owner ids, not emails.
  • Search returns at most 10,000 results per query and is limited to a few requests per second; narrow the filters instead of paging far.
  • Deleting tasks is not part of this spec.

Source: HubSpot Tasks API reference (https://developers.hubspot.com/docs/api-reference/latest/crm/activities/tasks/guide), checked 2026-10-20.

How to use this spec

  1. Create a free VX Agents account (sandbox tools included).
  2. Open the marketplace and connect “HubSpot CRM Tasks” to an agent.
  3. Expose it as an MCP server for Claude/ChatGPT, or chat with it directly.

Related APIs