Can the agent update records without a human?
Yes, if you leave requires approval off on the write tool. Most teams keep approval on for writes and let reads run freely; the safety level and the approval flag are set per tool.
HubSpot's CRM API v3 is a REST API with a private app token. Give the agent a read tool for contacts and deals and, separately, write tools with approval, so lookups are cheap and changes are deliberate.
A sales assistant that pulls a contact's deals and recent notes before drafting a follow-up.
A support agent that finds the company record for a signed-in user and answers from its properties.
An operations agent that logs a call outcome or updates a deal stage after a human approves the change.
The shape a tool takes in the AgentRow builder API. Credentials are stored on the tool's auth settings, not in its configuration, so they never reach a prompt. Placeholders in double braces are filled by the model from the input schema.
{
"name": "hubspot_find_contact",
"type": "http_api",
"description": "Find a HubSpot contact by email and return its properties and associated deals. Use before drafting any follow-up.",
"auth_type": "bearer_token",
"safety_level": "safe_read",
"is_readonly": true,
"config": {
"method": "POST",
"url": "https://api.hubapi.com/crm/v3/objects/contacts/search",
"headers": { "Content-Type": "application/json" },
"body_template": {
"filterGroups": [{ "filters": [{ "propertyName": "email", "operator": "EQ", "value": "{{email}}" }] }],
"properties": ["firstname", "lastname", "company", "lifecyclestage"]
},
"allowed_domains": ["api.hubapi.com"]
},
"input_schema": {
"type": "object",
"properties": { "email": { "type": "string", "description": "The contact's email address" } },
"required": ["email"]
}
}Every call appears in the run trace with the rendered request, the response status and body, timing, retries and errors, plus what the model was shown of the result. If the model never called the tool, the toolbox step shows whether it was bound for that model call and why.
Yes, if you leave requires approval off on the write tool. Most teams keep approval on for writes and let reads run freely; the safety level and the approval flag are set per tool.
Only what the agent puts in its answer. Tool activity shown to end users is controlled by the tool's widget events setting, and the toolbox output policy limits how much of a result the model sees.
A typed CRM tool type exists in AgentRow but is not executable yet, so today HubSpot is connected through HTTP API tools. Those keep working when the typed connector arrives.
Connect AI agents to HTTP APIs, webhooks, web pages and other agents with typed tools: JSON schemas, auth types, safety levels, limits and call logs.
Tool types, what a tool defines, how results reach the model, tool selection with search_tools, and authenticated tools for signed-in users.
AgentRow vs Relevance AI for AI agents: workflow control, multi-agent apps, tools, knowledge, observability and production readiness, compared.
Slack, HubSpot, Stripe, Shopify, GitHub, calendar, email, wikis, webhooks and any REST API.
Join the waitlist for early access. Tell us which systems you need to connect and we will point you at the right tool definitions.