HubSpot ACTION
Get Properties
Get 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 for
dealstage or hs_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 documentation- Action
- Read only
- OAuth
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's HubSpot account once, then configure and run Get Properties from your backend or agent.
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-get-properties",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
hubspot: { authProvisionId: "apn_xxxxxxx" },
objectType: "Object Type",
propertyNames: ["Property Names"],
},
})
console.log(result)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-get-properties",
"configured_props": {
"hubspot": { "authProvisionId": "apn_xxxxxxx" },
"objectType": "Object Type",
"propertyNames": ["Property Names"]
}
}'// 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()
// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
name: "hubspot-get-properties",
arguments: {
objectType: "Object Type",
propertyNames: ["Property Names"],
},
})SCHEMA
Inputs
Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.
| Property | Type | Description |
|---|---|---|
objectType Object Type | string | The CRM object type to get property definitions for (e.g. contact, company, deal, ticket). Required |
propertyNames Property Names | string[] | The specific property names to retrieve full details for (e.g. ["dealstage", "pipeline", "hubspot_owner_id"]). Use Search Properties first to discover available property names. If not provided, returns all properties — but this can be very large, so specifying names is recommended. Optional |
REFERENCE
Tool details
Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.
- Registry key
- hubspot-get-properties
- Version
- 0.0.9
- App
- HubSpot
- Authentication
- OAuth
- Read-only
- Yes
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗