Skip to main content
Connecting HubSpot gives the agent direct read and write access to your CRM, and is the only CRM today with Swan’s deeper sync behavior — automatic activity logging and configurable contact-creation rules. You connect it from Tools via HubSpot OAuth, granted at the org level (one connection is shared by everyone in your org, not per user).

What the agent can do in HubSpot

Once connected, the agent can:
  • Search and read contacts, companies, deals, tasks, meetings, calls, notes, and engagements, including cross-object queries (for example, contacts associated with a specific company, or meetings with a given outcome and the contacts on each). A single search can return at most 10,000 results — HubSpot’s own API ceiling; past that, Swan reports the result set was truncated and asks for narrower filters. HubSpot also allows at most 18 filters and 5 filter groups per search (OR clauses each consume one group); Swan rejects larger searches so the query can be split or narrowed.
  • List HubSpot owners and deal pipelines with their stages, and read the labels of each property’s options.
  • Create and update contacts, companies, and deals, and set their owner. A new deal can be linked to its company and its contacts, and placed in a chosen pipeline and stage.
  • Log meetings (with times and outcome) and calls (with direction, outcome, and length) on contacts, companies, and deals.
  • Create notes and tasks, and update existing tasks (including assigning a note or task to a specific HubSpot owner). These are HubSpot task records inside your CRM — not Swan Desk tasks.
  • Create and remove associations between contacts, companies, and deals, with association labels such as “Decision maker”, and link a parent company to a child company.
  • Search HubSpot lists, read list membership, create a new static (manual) list, and add or remove contacts, companies, or deals on a manual or snapshot list. Dynamic (active) lists can’t be changed this way — HubSpot rejects the change because a list’s processing type is fixed at creation and cannot be converted.
  • List HubSpot workflows, read a workflow’s enrollment triggers and actions, and turn a workflow on or off. Turning a workflow on or off always asks for your approval first.
  • Archive (delete) HubSpot records, including meetings and calls.
Reading and searching HubSpot data doesn’t cost credits. Every write — creating or updating a contact, company, deal, task, or note; logging a meeting or call; creating a list or adding to or removing from one; creating an association; turning a workflow on or off; archiving a record — costs 1 credit on v1 (per-action credits). On v2 (data and intelligence credits), writes have no price of their own; they are part of the run’s intelligence credits. See credits for how that fits into your overall usage. Swan only writes to HubSpot when your instructions call for it — this toolkit doesn’t touch Swan’s own internal data model (funnel stage, tags, ICP match). To change how Swan classifies a company or contact internally, that’s a separate, non-HubSpot action. You can enable or disable individual HubSpot tools, and require approval before any of them run, from the HubSpot card’s Capabilities tab in Tools.

Contact and company creation

Whether Swan creates new companies and contacts in HubSpot (versus only updating ones that already exist), and when, is controlled by settings on the integration — for example, only creating contacts once outreach starts, or never creating new companies at all. Set this from the HubSpot card’s Configuration tab in Tools, under Automatic Contact Creation. See Swan vs. your CRM for how these policies work.

Automatic outreach logging

Once a contact exists in both Swan and HubSpot, Swan automatically logs outreach activity to their HubSpot timeline as it happens — connection requests sent and accepted, messages sent, and replies received — as emails or LinkedIn communications (falling back to a note if the direct activity type isn’t available). When the contact has a primary company in HubSpot, the activity is also logged on that company’s timeline. This logging happens in the background; it isn’t a tool call the agent makes and doesn’t consume credits on its own. When the outreach makes Swan create a new contact or company in HubSpot, Swan sets the rep who sent the outreach as its owner, using the same matching as the activity owner below. Each logged activity is credited to the rep who sent it (HubSpot’s “Activity assigned to” field), so Swan outreach shows up in HubSpot’s per-rep activity reporting. Swan matches each sender to a HubSpot user by the sender’s email address, or by the sender’s name when exactly one HubSpot user has that name. For LinkedIn accounts a rep connected themselves, Swan also uses the rep’s own login when the account’s name clearly belongs to them (for example “Penny Mares” for Penelope Mares). When nothing matches — for example, an inbox on a secondary sending domain whose name differs from the rep’s name in HubSpot — the activity is logged without an owner. To choose the HubSpot user for an inbox yourself, open the HubSpot card’s Configuration tab in Tools and set it under Activity owners. Logged emails also record the sending and receiving addresses. Owner crediting started on October 26, 2026, so some activities Swan logged before then may still show no owner. Swan also writes a small set of custom properties to your contacts and companies, grouped under a “Swan AI” property group in HubSpot — including an outreach status field and internal flags Swan uses to track what it created versus what already existed. These are visible directly on the record in HubSpot.

HubSpot as a trigger source

You can use HubSpot list membership as a filter or exclusion when setting up a trigger, and — going the other direction — you can add Swan as an action inside a HubSpot workflow, so records enrolled in that workflow hand off to a Swan trigger automatically. See HubSpot workflow triggers for how that’s set up.

Field mapping

If your HubSpot portal stores email or LinkedIn URL in a custom property instead of the standard one, you can map those fields in the HubSpot card’s Configuration tab (Contact Field Mapping) in Tools, so Swan reads and writes to the right property.

Common questions

Does Swan require HubSpot to work? No. HubSpot is optional — Swan runs standalone without any CRM connected, and other CRMs like Salesforce, Attio, and Pipedrive are also built in. Can I make the HubSpot integration read-only? There’s no built-in read-only toggle. To minimize writes, turn off automatic contact/company creation in the integration settings and avoid instructing Swan to write to HubSpot in your triggers and playbooks. Can Swan access HubSpot call recordings or transcripts? No — Swan can read call logs and notes already in HubSpot, but not audio recordings or AI-generated transcripts. Connect the built-in Fireflies or Fathom integrations for transcript access. My HubSpot connection shows as connected but tools are failing — what’s wrong? If Swan says the HubSpot connection is missing a permission, the connection was made before Swan asked for that permission. Reconnect HubSpot in Tools → HubSpot to grant it. Otherwise this is usually a stale or expired OAuth token, or an unverified-app consent issue. Go through the HubSpot connect flow again to re-authorize; if the problem persists, check that you’re reconnecting to the same HubSpot portal the integration was originally set up on.