CONNECT APP
Build with HubSpot
CRM
- OAuth
MCP
Give your agent HubSpot tools
Every HubSpot action is exposed as an MCP tool on Pipedream's remote server. Point a client at it with your end user's ID and Connect resolves that user's HubSpot account for each tool call — you store no tokens.
// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
"x-pd-app-slug": "hubspot",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// e.g. run Add Comment:
const result = await mcp.callTool({
name: "hubspot-add-comment",
arguments: {
inboxId: "Inbox ID",
channelId: "Channel ID",
},
})# access_token: mint a short-lived token with the Connect SDK — see the MCP guide
headers = {
"Authorization": f"Bearer {access_token}",
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", # any stable ID for this user in your system
"x-pd-app-slug": "hubspot",
}
async with streamablehttp_client("https://remote.mcp.pipedream.net/v3", headers=headers) as (read, write, _):
async with ClientSession(read, write) as session:
await session.initialize()
tools = await session.list_tools()
# e.g. run Add Comment:
result = await session.call_tool("hubspot-add-comment", {
"inboxId": "Inbox ID",
"channelId": "Channel ID",
})API PROXY
Call the HubSpot API directly
For an endpoint with no pre-built tool, the Connect proxy forwards your request to the HubSpot API with the connected user's credentials attached. You store no tokens and write no refresh logic.
const resp = await pd.proxy.get({
externalUserId: "{external_user_id}", // any stable ID for this user in your system
accountId: "apn_xxxxxxx",
url: "https://api.hubapi.com/integrations/v1/me",
})
// Any allowed HubSpot endpoint works here. Pipedream attaches the
// connected account's credentials to the outgoing request.# The path segment is the target URL, URL-safe base64 encoded:
# https://api.hubapi.com/integrations/v1/me
curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9hcGkuaHViYXBpLmNvbS9pbnRlZ3JhdGlvbnMvdjEvbWU?external_user_id={external_user_id}&account_id=apn_xxxxxxx" \
-H "Authorization: Bearer {access_token}" \
-H "x-pd-environment: production"SDK
Run HubSpot actions from your backend
Connect a user's HubSpot account once, then run Add Comment on their behalf from your own code — TypeScript, Python, or plain HTTP.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const result = await pd.actions.run({
id: "hubspot-add-comment",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
hubspot: { authProvisionId: "apn_xxxxxxx" },
inboxId: "Inbox ID",
channelId: "Channel ID",
},
})from pipedream import Pipedream
pd = Pipedream(
client_id="{oauth_client_id}",
client_secret="{oauth_client_secret}",
project_id="{project_id}",
project_environment="production",
)
result = pd.actions.run(
id="hubspot-add-comment",
external_user_id="{external_user_id}", # any stable ID for this user in your system
configured_props={
"hubspot": {"authProvisionId": "apn_xxxxxxx"},
"inboxId": "Inbox ID",
"channelId": "Channel ID",
},
)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "hubspot-add-comment",
"configured_props": {
"hubspot": { "authProvisionId": "apn_xxxxxxx" },
"inboxId": "Inbox ID",
"channelId": "Channel ID"
}
}'TOOLS
HubSpot actions
On-demand operations your product or agent can configure and run on behalf of a connected user.
-
Add Comment
actionAdds a comment to a thread. See the documentationWritev0.0.8 -
Add Contact to List
actionAdds a contact to a specific static list. See the documentationWritev0.1.4 -
Add Note to Contact
actionMCP and AI agents: Prefer this action when the user wants to leave a note on a HubSpot contact using a contact ID and note text. Exposes onlyhubspot,contactId, andnoteBody(no engagement-type step, noreloadProps, no dynamic HubSpot schema fields). Do not use Create Engagement for this workflow. For every writable note property or non-contact associations, use Create Note instead. See the documentationWritev0.0.6 -
Archive Thread
actionArchives a thread (soft delete). The thread is hidden from active views but can be restored via the HubSpot UI or by listing archived threads. See the documentationWritev0.0.5 -
Batch Create Companies
actionCreate a batch of companies in Hubspot. See the documentationWritev0.0.18 -
Batch Create or Update Contact
actionCreate or update a batch of contacts by its ID or email. See the documentationWritev0.0.32 -
Batch Update Companies
actionUpdate a batch of companies in Hubspot. See the documentationWritev0.0.18 -
Batch Upsert Companies
actionUpsert a batch of companies in Hubspot. See the documentationWritev0.0.17 -
Book Meeting on Meeting Link
actionBook a meeting on a HubSpot meeting scheduling page. Creates a calendar event for the organizer and registers the booker as a contact. See the documentationWritev0.0.3 -
Clone Marketing Email
actionClone a marketing email in HubSpot. See the documentationWritev0.0.16 -
Clone Site Page
actionClone a site page in Hubspot. See the documentationWritev0.0.16 -
Create a New Workflow
actionCreate a new workflow. See the documentationWritev0.0.12 -
Create Association
actionCreate an association (link) between two CRM records. For example, associate a contact with a company, a deal with a contact, or a ticket with a company. Common association type IDs: contact→company (1), company→contact (2), deal→contact (3), contact→deal (4), deal→company (5), company→deal (6), ticket→contact (15), contact→ticket (16), ticket→company (26), company→ticket (25). See the documentationWritev0.0.8 -
Create Associations
actionCreate associations between objects. See the documentationWritev1.0.21 -
Create Blog Post
actionCreates a new blog post in HubSpot. See the documentationWritev0.0.7 -
Create Communication
actionLog a WhatsApp, LinkedIn, or SMS communication in HubSpot. Put the message fields in Object Properties (hs_communication_channel_type=SMS|WHATS_APP|LINKEDIN_MESSAGE,hs_communication_body);hs_communication_logged_fromandhs_timestampare set for you. Optionally associate it with a record via Associated Object Type/ID + Association Type. Example: Object Properties{ "hs_communication_channel_type": "SMS", "hs_communication_body": "Reminder: call at 9am" }. Returns the created communication with its id. See the documentationWritev1.0.1 -
Create Company
actionCreate a company in HubSpot. Put the company fields in Object Properties as a JSON object of HubSpot internal property names (use Get Properties forcompaniesto discover them). Example:{ "name": "InGen", "domain": "ingen.com", "industry": "BIOTECHNOLOGY" }. Returns the created company with its id. See the documentationWritev1.0.1 -
Create Contact Workflow
actionCreate a contact workflow in Hubspot. See the documentationWritev0.0.17 -
Create CRM Object
actionCreate a new CRM record (contact, company, deal, ticket, etc.). Pass property values as a JSON object in thepropertiesparameter. Use Search Properties to discover available fields for the object type, Get Properties to find valid enum values (e.g.lifecyclestage,dealstage), and List Pipelines and Stages to find valid pipeline/stage IDs for deals and tickets. Use List Owners to find validhubspot_owner_idvalues. See the documentationWritev0.0.8 -
Create Custom Object
actionCreate a custom object record in HubSpot. Set Custom Object Type to the object'sfullyQualifiedName(e.g.p_pets; use List Custom Object Schemas to find it) and put fields in Object Properties. Example: Custom Object Typep_pets, Object Properties{ "pet_name": "Rexy" }. Returns the created record with its id. See the documentationWritev2.0.1 -
Create Deal
actionCreate a deal in HubSpot. Set Deal Name, Pipeline, and Stage, and put any extra fields in Object Properties as HubSpot internal names. Example: Deal NameInGen Annual Contract, Pipelinedefault, Stageappointmentscheduled, Object Properties{ "amount": "250000", "closedate": "2026-09-23" }. Returns the created deal with its id. See the documentationWritev1.0.1 -
Create Engagement
actionCreate a task, meeting, email, call, or note engagement with optional associations. If the request does not make the engagement type clear, ask which type (note, task, meeting, email, or call) before creating rather than guessing. Set Engagement Type and pass engagement fields in Object Properties (HubSpot property names, e.g.hs_note_bodyfor notes). NoreloadPropsstep and no CONFIGURE_COMPONENT requirement: association fields accept raw HubSpot IDs (use Search CRM or the Associations API to resolveassociationTypewhen needed). For only a note on a contact by ID, Add Note to Contact (hubspot-add-note-to-contact) is still simpler. See the documentationWritev1.0.1 -
Create Form
actionCreate a form in HubSpot. See the documentationWritev0.0.16 -
Create Landing Page
actionCreate a landing page in Hubspot. See the documentationWritev0.0.17 -
Create Lead
actionCreate a lead in HubSpot associated with an existing contact. Set Contact ID (the contact to link) and put lead fields in Object Properties as HubSpot internal names. Example: Contact ID12345, Object Properties{ "hs_lead_name": "Isla Nublar Opportunity" }. Returns the created lead with its id. See the documentationWritev1.0.1 -
Create Marketing Email
actionCreate a marketing email in Hubspot. See the documentationWritev0.0.16 -
Create Meeting
actionCreate a meeting engagement in HubSpot. Put meeting fields in Object Properties (hs_meeting_title,hs_meeting_body,hs_meeting_start_time,hs_meeting_end_timeas ISO-8601);hs_timestampdefaults to the start time. Set Associated Object Type and optionally link a record via Associated Object ID + Association Type. Example: Object Properties{ "hs_meeting_title": "Kickoff", "hs_meeting_start_time": "2026-08-27T14:00:00Z", "hs_meeting_end_time": "2026-08-27T15:00:00Z" }. Returns the created meeting with its id. See the documentationWritev1.0.1 -
Create Note
actionCreate a HubSpot CRM note. Put the note text in Object Properties ashs_note_body(e.g.{ "hs_note_body": "Reviewed the Q3 numbers" }). For only a contact ID + note body, Add Note to Contact is simpler. To associate the note with another record, supplytoObjectType,toObjectId, andassociationTypetogether. See the documentationWritev1.0.1 -
Create or Update Contact
actionCreate a contact in HubSpot, or update it when one with the same email already exists (enable Update If Exists). Put contact fields in Object Properties as HubSpot internal names. Example: Object Properties{ "email": "ada@example.com", "firstname": "Ada", "jobtitle": "CTO" }. Returns the created or updated contact with its id. See the documentationWritev1.0.1 -
Create Page
actionCreate a page in HubSpot. See the documentationWritev0.0.17 -
Create Task
actionCreate a task engagement in HubSpot. Put task fields in Object Properties as HubSpot internal names (hs_task_subject,hs_task_body,hs_task_status,hs_task_priority);hs_timestampis defaulted for you. Optionally associate it with a record via Associated Object Type/ID + Association Type. Example: Object Properties{ "hs_task_subject": "Call Art Vandelay", "hs_task_status": "NOT_STARTED", "hs_task_priority": "HIGH" }. Returns the created task with its id. See the documentationWritev1.0.1 -
Create Ticket
actionCreate a support ticket in HubSpot. Set Ticket Name, Pipeline, and Pipeline Stage (use List Pipelines and Stages forticketsto get valid ids), and put extra fields in Object Properties. Example: subjectLogin broken, hs_pipeline0, hs_pipeline_stage1, Object Properties{ "hs_ticket_priority": "HIGH" }. Returns the created ticket with its id. See the documentationWritev1.0.1 -
Delete a Workflow
actionDelete a workflow by ID. See the documentationWritev0.0.12 -
Enroll Contact in Sequence
actionEnroll a contact into a HubSpot sequence. See the documentationWritev0.0.4 -
Enroll Contact Into Workflow
actionAdd a contact to a workflow. Note: The Workflows API currently only supports contact-based workflows and is only available for Marketing Hub Enterprise accounts. See the documentationWritev0.0.36 -
Get Actor
actionResolves an actor ID (e.g. the value returned by a message'ssenders[].actorIdfield) to its name, email, and type. See the documentationRead-onlyv0.0.5 -
Get Associated Emails
actionRetrieves emails associated with a specific object (contact, company, or deal). See the documentationRead-onlyv0.0.17 -
Get Associated Meetings
actionList meetings associated with a contact, company, or deal in HubSpot. Set From Object Type and Object ID (for contacts you may pass an email instead of the numeric id). Optionally narrow with Timeframe (today, this_week, this_month, last_month, or custom with Start/End Date), or set Most Recent to return only the latest meeting. Returns up to 100 meetings with default meeting properties. Example: From Object Typecontacts, Object IDada@example.com, Timeframethis_month. See the documentationRead-onlyv1.0.1 -
Get Blog Post Draft
actionRetrieves the draft version of a blog post. See the documentationRead-onlyv0.0.7 -
Get Channel
actionRetrieves a single channel by its ID. See the documentationRead-onlyv0.0.8 -
Get Company
actionGet a single company from HubSpot by its id, with a default set of company properties. Add Additional properties to retrieve (internal names; use Get Properties forcompanies) to include more. Example: Object ID123, Additional properties["industry", "numberofemployees"]. Returns the company record. See the documentationRead-onlyv0.1.1 -
Get Contact
actionGet a single contact from HubSpot by its id, with a default set of contact properties. Add Additional properties to retrieve to include more (use Get Properties forcontacts). Look up the id with Search CRM by email if you only have an address. Example: Object ID123, Additional properties["jobtitle"]. Returns the contact record. See the documentationRead-onlyv0.1.1 -
Get CRM Objects
actionFetch one or more CRM objects by their IDs in a single request. Returns the requested properties for each object. Use Search CRM Objects first to find record IDs, then use this tool to fetch full details. Max 100 IDs per request. Supports standard object types only. For custom objects, use Get Custom Object instead. See the documentationRead-onlyv0.0.9 -
Get Custom Object
actionFetch one or more custom object records by ID in a single request. Use List Custom Objects first to browse records and find the IDs you need, then use this tool to retrieve full property details. Use List Custom Object Schemas to get the correctobjectTypeidentifier. Max 100 IDs per request. See the documentationRead-onlyv0.0.4 -
Get Deal
actionGet a single deal from HubSpot by its id, with a default set of deal properties. Add Additional properties to retrieve to include more (use Get Properties fordeals). Example: Object ID123, Additional properties["amount", "dealstage"]. Returns the deal record. See the documentationRead-onlyv0.1.1 -
Get Engagements
actionRetrieves one or more engagements by their IDs. Use this action to fetch details about multiple engagements, such as their types, timestamps, and associated CRM objects. Requires engagement IDs, which you can obtain from the List CRM Objects action. See the documentationRead-onlyv0.0.6 -
Get File Public URL
actionGet a publicly available URL for a file that was uploaded using a Hubspot form. See the documentationRead-onlyv0.0.36 -
Get Inbox
actionRetrieves a single inbox by its ID. See the documentationRead-onlyv0.0.8 -
Get Meeting
actionGet a single meeting engagement from HubSpot by its id, with a default set of meeting properties. Add Additional properties to retrieve to include more. Example: Object ID123. Returns the meeting record (title, body, start/end time). See the documentationRead-onlyv0.1.1 -
Get Meeting Link Availability
actionFetch the upcoming availability windows (and busy times) for a meeting scheduling page. Use this when you only need the open slots; use Get Meeting Link Booking Info for the full booking configuration. See the documentationRead-onlyv0.0.3 -
Get Meeting Link Booking Info
actionRetrieve the booking configuration and availability for a meeting scheduling page. Returns link metadata, availability windows by duration, busy times, branding, and organizer details. See the documentationRead-onlyv0.0.3 -
Get Owner
actionGet a single HubSpot owner (user) by ID. Provide an owner ID or use List Owners to fetch IDs. See the documentationRead-onlyv0.0.7 -
Get Properties
actionGet detailed property definitions for specific properties on a CRM object type. Returns full metadata including data types, enum options with valid values, referenced object types, and read-only status. Use this after Search Properties to get valid values for specific fields (e.g. enum options fordealstageorhs_pipeline). Property details can be large — fetch only the properties you need rather than all of them. For custom object properties, use List Custom Object Properties instead (custom object types are not in the standard type list). See the documentationRead-onlyv0.0.9 -
Get Sequence Enrollment
actionRetrieve a contact's sequence enrollment status. See the documentationRead-onlyv0.0.4 -
Get Subscription Preferences
actionRetrieves the subscription preferences for a contact. See the documentationRead-onlyv0.0.17 -
Get Thread
actionRetrieves a single thread's metadata, including status, assignee, associations, and latest-message info. See the documentationRead-onlyv0.0.5 -
Get User Details
actionGet details about the current authenticated HubSpot user, including their owner ID, email, hub ID, and account info. Use this to determine the user's identity — theownerIdis needed to filter CRM records owned by the current user (e.g. 'my deals' requires filtering byhubspot_owner_id). Also returns available CRM object types for the account. See the documentationRead-onlyv0.0.9 -
List Associated Engagements
actionList engagements (notes, tasks, calls, meetings, emails, etc.) associated with a CRM record using HubSpot's legacy Engagements v1 paged API. This endpoint is documented for company, deal, and quote; other object types may return errors. Use Offset for pagination whenhasMoreis true. For newer CRM v3 engagement objects, prefer v4 List CRM Associations from the record tonotes,tasks,calls, etc. See the documentationRead-onlyv0.0.7 -
List Association Labels
actionList association type definitions (labels and type IDs) between two object types in CRM v4. Use the returnedtypeIdvalues when creating associations with Create Association or Create CRM Object (associations JSON). Order matters: from/to defines the direction of the relationship. See the documentationRead-onlyv0.0.7 -
List Blog Posts
actionRetrieves a list of blog posts. See the documentationRead-onlyv0.0.18 -
List Campaigns
actionRetrieves a list of campaigns. See the documentationRead-onlyv0.0.18 -
List Channels
actionRetrieves a list of channels. See the documentationRead-onlyv0.0.8 -
List CRM Associations
actionList CRM v4 associations from a source record to a target object type. Returns associated record IDs and association types for each link. Direction matters:fromis the record you are querying from; swap from/to to traverse the relationship the other way. See the documentationRead-onlyv0.0.7 -
List Custom Object Properties
actionList all property definitions for a specific custom object type. Returns each property's name, label, type, fieldType, and enum options (for enumeration fields). Use List Custom Object Schemas first to obtain the correctobjectTypeidentifier (either fullyQualifiedName likep_pd_eval_movieor objectTypeId like2-12345678). Standard object types (contacts, companies, deals, tickets) are not supported here — use Get Properties or Search Properties for those. See the documentationRead-onlyv0.0.4 -
List Custom Object Schemas
actionDiscover all custom object types defined in the HubSpot account. Returns the objectTypeId, fullyQualifiedName, name, labels (singular/plural), primaryDisplayProperty, and a list of all property names for each schema. Call this first before any other custom object operation to obtain the correct objectType identifier. Standard object types (contacts, companies, deals, tickets) do NOT appear here. See the documentationRead-onlyv0.0.4 -
List Custom Object Type Options
actionRetrieves available options for the Custom Object Type field.Read-onlyv0.0.5 -
List Custom Objects
actionList records of a custom object type with pagination and property selection. HubSpot does NOT support the /search endpoint for custom objects — use this list action to browse records, then use Get Custom Object to fetch full details by ID. Use List Custom Object Schemas first to obtain the correctobjectTypeidentifier (fullyQualifiedName or objectTypeId). Use List Custom Object Properties to discover which properties are available to request. See the documentationRead-onlyv0.0.4 -
List File URL Options
actionRetrieves available options for the File URL field.Read-onlyv0.0.5 -
List Form Options
actionRetrieves available options for the Form field.Read-onlyv0.0.4 -
List Forms
actionRetrieves a list of forms. See the documentationRead-onlyv0.0.18 -
List Inboxes
actionRetrieves a list of inboxes. See the documentationRead-onlyv0.0.8 -
List Marketing Emails
actionRetrieves a list of marketing emails. See the documentationRead-onlyv0.0.18 -
List Marketing Events
actionRetrieves a list of marketing events. See the documentationRead-onlyv0.0.18 -
List Meeting Links
actionList meeting scheduling pages for a HubSpot organizer. Returns a single page of results; use Limit to control the page size and check the(of N total)summary to see if more results exist beyond the page returned. See the documentationRead-onlyv0.0.3 -
List Messages
actionRetrieves a list of messages in a thread. See the documentationRead-onlyv0.0.8 -
List Object Schema Options
actionRetrieves available options for the Object Schema field.Read-onlyv0.0.5 -
List Owners
actionList owners (users) in the HubSpot account. Returns owner IDs, names, and emails. Use this to discover valid values for thehubspot_owner_idproperty when creating or updating any CRM object (contacts, companies, deals, tickets, etc.). See the documentationRead-onlyv0.0.8 -
List Pages
actionRetrieves a list of site pages. See the documentationRead-onlyv0.0.18 -
List Pipeline Options
actionRetrieves available options for the Pipeline field.Read-onlyv0.0.5 -
List Pipeline Options
actionRetrieves available options for the Pipeline field.Read-onlyv0.0.5 -
List Pipelines and Stages
actionList all pipelines and their stages for deals or tickets. Returns pipeline IDs, labels, and each pipeline's ordered stages with stage IDs and labels. Use this to discover validpipelineanddealstage/hs_pipeline_stagevalues before creating or updating deals and tickets. See the documentationRead-onlyv0.0.8 -
List Template Path Options
actionRetrieves available options for the Template Path field.Read-onlyv0.0.4 -
List Templates
actionRetrieves a list of templates. See the documentationRead-onlyv0.0.17 -
List Threads
actionRetrieves a list of threads. See the documentationRead-onlyv0.0.8 -
Push Blog Post Draft Live
actionPushes a blog post draft live, making it the published version. See the documentationWritev0.0.7 -
Retrieve Migrated Workflow Mappings
actionRetrieve the IDs of v3 workflows that have been migrated to the v4 API. See the documentationWritev0.0.12 -
Retrieve Quotes
actionFetch one quote by ID or list quotes with CRM v3 pagination (after,limit). Complements Create CRM Object for quotes when you need read access outside Search CRM. See the documentationRead-onlyv0.0.7 -
Retrieve Workflow Details
actionRetrieve detailed information about a specific workflow. See the documentationRead-onlyv0.0.12 -
Retrieve Workflow Emails
actionRetrieve emails sent by a workflow by ID. See the documentationRead-onlyv0.0.12 -
Retrieve Workflows
actionRetrieve a list of all workflows. See the documentationRead-onlyv0.0.13 -
Schedule Blog Post
actionSchedules a blog post to be published at a specified time. See the documentationWritev0.0.7 -
Search CRM
actionSearch a CRM object type by a single property. Set Object Type, Search Property (internal name, e.g.emailordealname; use Get Properties / Search Properties to find valid names), and Search Value. With Exact Match off, partial (substring) matches are returned. Results are capped per call — ifpaging.nextis present in the response, call again with Offset advanced to fetch the next page. Example: Object Typedeal, Search Propertydealname, Search ValueInGen Annual Contract. Returns matching records plus paging. For lookups, keep results small with Limit and Fields (return only the properties you need). See the documentationRead-onlyv2.0.1 -
Search CRM Objects
actionSearch HubSpot CRM records (contacts, companies, deals, tickets, etc.) using text queries or filters. Returns matching records with properties, pagination, and total count. Use thequeryparameter for simple text search across default searchable fields (contacts: firstname, lastname, email, phone, company; companies: name, website, domain, phone; deals: dealname, pipeline, dealstage, description). UsefilterGroupsfor advanced filtering with operators like EQ, NEQ, LT, GT, CONTAINS_TOKEN, IN, HAS_PROPERTY, etc. You can combine up to 5 filter groups (OR logic) with up to 6 filters each (AND logic within a group). Supports standard object types only (contacts, companies, deals, tickets, etc.). For custom objects, use List Custom Object Schemas to discover available types, then List Custom Objects to list records. See the documentationRead-onlyv0.0.9 -
Search Properties
actionSearch for property definitions (field names) on a CRM object type. Returns lightweight results: property names, labels, descriptions, and types — without enum options. Use this to discover what fields exist before creating or updating records. To get full details including valid enum values for a specific property, use Get Properties. To search for actual CRM data/records, use Search CRM Objects. For custom object properties, use List Custom Object Properties instead (custom object types are not in the standard type list). See the documentationRead-onlyv0.0.9 -
Send Message
actionSends a message to a thread. See the documentationWritev0.0.8 -
Unarchive Thread
actionRestores a previously-archived thread, returning it to the active inbox. SendsPATCHwith body{ archived: false }, the only restore path HubSpot's API supports. The Thread ID dropdown lists archived threads. See the documentationWritev0.0.5 -
Update Blog Post
actionUpdates an existing blog post in HubSpot. See the documentationWritev0.0.7 -
Update Blog Post Draft
actionUpdates the draft version of an existing blog post in HubSpot. See the documentationWritev0.0.7 -
Update Company
actionUpdate a company in HubSpot by id. Set Object ID and put the fields to change in Object Properties as HubSpot internal names (only the fields you pass are modified). Look up the id with Search CRM if you only have a name. Example: Object ID123, Object Properties{ "phone": "555-0100", "industry": "BIOTECHNOLOGY" }. Returns the updated company. See the documentationWritev1.0.1 -
Update Contact
actionUpdate a contact in HubSpot by id. Set Object ID and put the fields to change in Object Properties as HubSpot internal names (only the fields you pass are modified). If you don't have the id, look it up first with Search CRM (by email, or by name). Example: Object ID123, Object Properties{ "jobtitle": "Chief Paleontologist" }. Returns the updated contact. See the documentationWritev1.0.1 -
Update CRM Object
actionUpdate an existing CRM record by ID. Pass only the properties you want to change — unspecified properties are left unchanged. Use Search CRM Objects to find the record ID, Search Properties to discover available fields, and Get Properties to find valid enum values. See the documentationWritev0.0.8 -
Update Custom Object
actionUpdate a custom object record in HubSpot by id. Set Custom Object Type (the object'sfullyQualifiedName, e.g.p_pets) and Object ID, and put the fields to change in Object Properties. Example: Custom Object Typep_pets, Object ID123, Object Properties{ "birthday": "1993-06-12" }. Returns the updated record. See the documentationWritev2.0.1 -
Update Deal
actionUpdate a deal in HubSpot by id. Set Object ID and put the fields to change in Object Properties as HubSpot internal names. Look up the id with Search CRM if you only have a name. Example: Object ID123, Object Properties{ "dealstage": "closedwon", "amount": "90000" }. Returns the updated deal. See the documentationWritev1.0.1 -
Update Fields on the Form
actionUpdate some of the form definition components. See the documentationWritev0.0.16 -
Update Landing Page
actionUpdate a landing page in HubSpot. See the documentationWritev0.0.17 -
Update Lead
actionUpdate a lead in HubSpot by id. Set Object ID and put the fields to change in Object Properties as HubSpot internal names. Look up the id with Search CRM if you only have a name. Example: Object ID123, Object Properties{ "hs_lead_name": "Site B Expansion - Priority" }. Returns the updated lead. See the documentationWritev1.0.1 -
Update Page
actionUpdate a page in Hubspot. See the documentationWritev0.0.17 -
Update Thread
actionUpdates an existing thread's status. To archive a thread, use the Archive Thread action; to restore an archived thread, use the Unarchive Thread action. HubSpot's PATCH endpoint does not support either operation via a status change. See the documentationWritev0.0.5
EVENTS
HubSpot triggers
Event sources your backend can deploy for users and receive through a webhook.
-
Deleted Blog Posts
triggerEmit new event for each deleted blog post.v0.0.45 -
New Company Property Change
triggerEmit new event when a specified property is provided or updated on a company. See the documentationv0.0.38 -
New Contact Added to List
triggerEmit new event when a contact is added to a HubSpot list. See the documentationv0.0.17 -
New Contact Property Change
triggerEmit new event when a specified property is provided or updated on a contact. See the documentationv0.0.41 -
New Custom Object Property Change
triggerEmit new event when a specified property is provided or updated on a custom object.v0.0.30 -
New Deal In Stage
triggerEmit new event for each new deal in a stage.v0.1.12 -
New Deal Property Change
triggerEmit new event when a specified property is provided or updated on a deal. See the documentationv0.0.41 -
New Email Event
triggerEmit new event for each new Hubspot email event.v0.0.48 -
New Email Subscriptions Timeline
triggerEmit new event when a new email timeline subscription is added for the portal.v0.0.45 -
New Engagement
triggerEmit new event for each new engagement (call, email, meeting, note, postal mail, or task) created. Per-activity docs: Calls Emails Meetings Notes Postal Mail Tasks See the documentationv0.0.51 -
New Events
triggerEmit new event for each new Hubspot event. Note: Only available for Marketing Hub Enterprise, Sales Hub Enterprise, Service Hub Enterprise, or CMS Hub Enterprise accountsv0.0.49 -
New Form Submission
triggerEmit new event for each new submission of a form.v0.0.51 -
New Message in Thread
triggerEmit new event when a new message is added to a thread. See the documentationv0.0.9 -
New Note Created
triggerEmit new event for each new note created. See the documentationv1.0.26 -
New or Updated Blog Post
triggerEmit new event for each new or updated blog post in Hubspot.v0.0.32 -
New or Updated Company
triggerEmit new event for each new or updated company in Hubspot.v0.0.32 -
New or Updated Contact
triggerEmit new event for each new or updated contact in Hubspot.v0.0.34 -
New or Updated CRM Object
triggerEmit new event each time a CRM Object of the specified object type is updated.v0.0.45 -
New or Updated Custom Object
triggerEmit new event each time a Custom Object of the specified schema is updated.v0.0.34 -
New or Updated Deal
triggerEmit new event for each new or updated deal in Hubspotv0.0.32 -
New or Updated Line Item
triggerEmit new event for each new line item added or updated in Hubspot.v0.0.32 -
New or Updated Product
triggerEmit new event for each new or updated product in Hubspot.v0.0.32 -
New Social Media Message
triggerEmit new event when a message is posted from HubSpot to the specified social media channel. Note: Only available for Marketing Hub Enterprise accountsv0.0.45 -
New Task Created
triggerEmit new event for each new task created. See the documentationv1.0.26 -
New Thread Created
triggerEmit new event when a new thread is created. See the documentationv0.0.9 -
New Ticket
triggerEmit new event for each new ticket created.v0.0.45 -
New Ticket Property Change
triggerEmit new event when a specified property is provided or updated on a ticket. See the documentationv0.0.39
MULTI-APP
Use HubSpot with other popular apps
Most products don't stop at one integration. Pair HubSpot with the other apps your users rely on, and ship use cases that span both.
- App slug
- hubspot
- Authentication
- OAuth
- Categories
- CRM
- Actions
- 108
- Triggers
- 27
- API proxy
- Available
OAuth scopes
These are the scopes Pipedream's managed HubSpot OAuth client requests when one of your users connects an account. Supply your own OAuth client to request a different set.
- oauth
- crm.objects.contacts.read