HubSpot ACTION
Get Custom Object
Fetch 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 correct
objectType identifier. Max 100 IDs per request. 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 Custom Object 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-custom-object",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
hubspot: { authProvisionId: "apn_xxxxxxx" },
objectType: "Object Type",
objectIds: ["Object IDs"],
},
})
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-custom-object",
"configured_props": {
"hubspot": { "authProvisionId": "apn_xxxxxxx" },
"objectType": "Object Type",
"objectIds": ["Object IDs"]
}
}'// 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-custom-object",
arguments: {
objectType: "Object Type",
objectIds: ["Object IDs"],
},
})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 custom object type identifier — either the fullyQualifiedName (e.g. p_pd_eval_movie) or the objectTypeId (e.g. 2-12345678). Use List Custom Object Schemas to discover available custom object types. Required Dynamic |
objectIds Object IDs | string[] | List of custom object record IDs to fetch. Min 1, max 100. Use List Custom Objects to discover record IDs. Required |
properties Properties | string[] | Property names to include in the results. If not specified, returns default properties. Use List Custom Object Properties to discover available property names. 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-custom-object
- Version
- 0.0.4
- App
- HubSpot
- Authentication
- OAuth
- Read-only
- Yes
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗