> ## Documentation Index
> Fetch the complete documentation index at: https://docs.retellai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# HubSpot agent functions

> HubSpot tools for Retell AI agents: look up and update contacts, work deals and companies, create tasks and notes, and log calls to the timeline.

A [connected HubSpot portal](/integrations/hubspot) gives your agents live tools for the portal: look up the caller, read their deals and companies, and create tasks and notes. Tools run during a conversation or [before and after it](/integrations/overview#run-tools-before-or-after-the-call-or-chat), and no [contact sync](/integrations/hubspot-contact-sync) is required.

## Available tools

These tools appear in your agent's function menu once the portal is connected. See [use integration tools in an agent](/integrations/overview#use-integration-tools-in-an-agent) for how to add and configure them.

| Tool                                 | What it does                                                                              |
| ------------------------------------ | ----------------------------------------------------------------------------------------- |
| **Search Contact**                   | Find a contact by phone number — typically the caller's number, to identify who's calling |
| **Get Contact**                      | Fetch a contact's properties by ID                                                        |
| **Create Contact**                   | Create a contact for a caller who isn't in the CRM yet                                    |
| **Update Contact**                   | Update properties the caller confirms or corrects                                         |
| **List Contact Deals**               | List the deals associated with a contact (up to 50)                                       |
| **Get Deal** / **Update Deal**       | Fetch a deal, or change its stage, amount, or other properties                            |
| **List Contact Companies**           | List the companies associated with a contact (up to 50)                                   |
| **Get Company** / **Update Company** | Fetch a company, or update its properties                                                 |
| **List Contact Tasks**               | List a contact's follow-up tasks (up to 50)                                               |
| **Create Task**                      | Create a task on the contact when a follow-up is agreed                                   |
| **Create Note**                      | Record a summary of the conversation on the contact's timeline                            |
| **Log Call Activity**                | Log the call as a Call engagement on the contact's timeline                               |

<Tip>
  **Log Call Activity** is the per-call, agent-driven version of activity logging: the agent decides when to log and what summary to write. **Log activities automatically** in the [sync settings](/integrations/hubspot-contact-sync) logs every conversation with a synced contact without the agent doing anything. Use one or the other, or both if you want automatic logs plus richer agent-written ones.
</Tip>

## Required scopes

Each tool works only if the private app holds its scope, granted in [Step 2 of connecting](/integrations/hubspot#step-2-grant-scopes):

| Scope                                                                               | Used for                                                                               |
| ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| `crm.objects.contacts.read`                                                         | Search Contact, Get Contact, List Contact Tasks                                        |
| `crm.objects.contacts.write`                                                        | Create Contact, Update Contact, Create Task, Create Note, Log Call Activity            |
| `crm.objects.deals.read`                                                            | List Contact Deals (with `crm.objects.contacts.read`), Get Deal                        |
| `crm.objects.deals.write`                                                           | Update Deal                                                                            |
| `crm.objects.companies.read`                                                        | List Contact Companies (with `crm.objects.contacts.read`), Get Company                 |
| `crm.objects.companies.write`                                                       | Update Company                                                                         |
| `crm.schemas.contacts.read`, `crm.schemas.deals.read`, `crm.schemas.companies.read` | Reading property definitions, both when you configure the tools and on every read call |

HubSpot authorizes the task, note, and call engagement endpoints through the contact scopes, so there's no separate engagement scope to grant. A missing scope doesn't flag the connection, because HubSpot answers with a `403` rather than rejecting the credentials. The error body names the missing scope (category `MISSING_SCOPES`); granting it under [**Edit app**](/integrations/hubspot#change-scopes) fixes the tool without reconnecting.

## FAQ

<AccordionGroup>
  <Accordion title="Do the integration tools require contact sync?">
    No. Tools work as soon as the connection is made, and each tool is bound to the specific connection you pick when configuring it. Contact sync, analysis mapping, and automatic activity logging are separate features you opt into.
  </Accordion>
</AccordionGroup>

## Next steps

<CardGroup cols={2}>
  <Card title="Integration tools for prompt agents" icon="wand-magic-sparkles" href="/build/single-multi-prompt/integration-tools">
    Add HubSpot tools to a single- or multi-prompt agent and test them with live requests.
  </Card>

  <Card title="Integration tools in conversation flow" icon="diagram-project" href="/build/conversation-flow/integration-tools">
    Call HubSpot tools from a function node and branch on the result.
  </Card>

  <Card title="HubSpot contact sync" icon="rotate" href="/integrations/hubspot-contact-sync">
    Import your HubSpot contacts, write analysis results back, and log calls and chats to the timeline.
  </Card>

  <Card title="Dynamic variables" icon="code" href="/build/dynamic-variables">
    Map tool responses to variables your agent can use later in the conversation.
  </Card>
</CardGroup>
