HubSpot ACTION
Update Company
Update 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 ID
123, Object Properties { "phone": "555-0100", "industry": "BIOTECHNOLOGY" }. Returns the updated company. See the documentation- Action
- Writes data
- Destructive
- OAuth
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's HubSpot account once, then configure and run Update Company 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-update-company",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
hubspot: { authProvisionId: "apn_xxxxxxx" },
objectId: "Object ID",
objectProperties: "Object Properties",
},
})
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-update-company",
"configured_props": {
"hubspot": { "authProvisionId": "apn_xxxxxxx" },
"objectId": "Object ID",
"objectProperties": "Object Properties"
}
}'// 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-update-company",
arguments: {
objectId: "Object ID",
objectProperties: "Object Properties",
},
})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 |
|---|---|---|
objectId Object ID | string | Hubspot's internal ID for the contact Required Dynamic |
objectProperties Object Properties | object | Enter the object properties to update as a JSON object. Example: {"firstname": "Alice", "lastname": "Smith"}. This will overwrite any properties entered individually. Required |
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-update-company
- Version
- 1.0.1
- App
- HubSpot
- Authentication
- OAuth
- Read-only
- No
- Destructive
- Yes
- Open world
- Yes
- Source
- View on GitHub ↗