Integration guide

HubSpot integration for AI agents and workflows

Swfte Studio has a HubSpot node. Its shipped data shows three actions on contacts: list contacts, create a contact and get a contact. A workflow can read your contact base freely and ask a person to approve before it adds a record.

HubSpot is listed in the catalogue under sales. This page covers those three actions only. Nothing in the data shows a HubSpot trigger, deals, companies or updates to an existing contact, so the designs below stay with contacts and leave HubSpot’s own workflows to HubSpot.

Built in Swfte Studio, run as a governed workflow, and held to the same rules as any governed agent.

HubSpot at a glance

Catalogue
Sales
Actions in the shipped data
3 (2 read, 1 write)
Credential type shown
hubSpotApi
MCP server
None in the MCP tool list
Shipped templates that use it
HubSpot Contact Workflow

What you can do with HubSpot

Every action below is read from a node in a shipped workflow template. Nothing is listed that the data does not show.

HubSpot actions in the shipped workflow templates
ActionTypeOperationWhat the data shows
List ContactsReadcontact.getAllLists contacts. The shipped template returns ten and not the full list.
Create ContactWritecontact.createCreates a contact from an email address, with first name, last name and company as extra fields.
Get ContactReadcontact.getGets a contact by its id. The template uses it to confirm the create worked.

All three act on the contact object. Deals, companies, tickets and updates to an existing contact are not in the shipped data.

The template starts manually. A HubSpot event, such as a form submission, is not in the data: <HubSpot trigger events - founder to fill>.

Contacts are personal data with a marketing consequence

A HubSpot contact is a person, with an email address, usually a company and often a consent status. Creating one can start emails, change lead scoring and affect reports. A contact created by mistake can receive a campaign before anyone notices.

The shipped template lists ten contacts, prepares a new one from a timestamped test address, creates it and gets it back by its id. That order, create and then read back, is a useful habit because it lets the workflow prove the record exists before it reports success. The part to add is everything before the create: consent, duplicates and a human look.

How to connect HubSpot

The shipped template names the credential type hubSpotApi. The data does not say whether that is a private-app token or another method: <HubSpot auth method - founder to fill>.

  1. 01

    Create the credential

    Add a HubSpot credential in Studio, using an account set up for integrations and not a marketer’s own login.

  2. 02

    Limit what the credential can do

    In HubSpot, give the integration access to contacts only, if your setup allows it. The workflow needs nothing else.

  3. 03

    Test with a list

    Run the list action alone and check that the ten contacts it returns are ones the workflow is meant to see.

  4. 04

    Put the gate in front of the create

    Address the human-input step to whoever owns contact data quality.

Three governed HubSpot workflows to build in Studio

Each has a label. A starting point builds on a shipped template, which is an integration test with no approval step. A design is intent only.

Event sign-ups into HubSpot with approval

Starting point

Builds on the shipped template “HubSpot Contact Workflow” (6 nodes), which you can find in the template library.

Add contacts from an event list only after the owner has seen the batch.

  1. A prepare step cleans the list by trimming addresses and dropping blanks.
  2. The list action checks which addresses already exist.
  3. A human-input step shows the owner how many are new, with approve and reject branches.
  4. On approval, a loop calls the create action for each new contact, and the get action confirms the last one.

Where the approval sits. The shipped template creates a single test contact without a gate. Here approval is per batch, and the owner decides whether consent for the event covers marketing email.

Contact list quality check

Designed

Find records that need a person’s attention without changing any of them.

  1. List contacts.
  2. A code node flags records with a missing company or an address that looks malformed.
  3. An LLM node groups the flags into a short note for the data owner.
  4. The note is passed on as output and nothing is written.

Where the approval sits. This one only reads, so it carries no approval step. Redact addresses before the model sees them if your rules require it.

New customer welcome check

Designed

When billing creates a customer, check that HubSpot has the matching contact before the account team is told.

  1. The Stripe create-customer action runs earlier in the process.
  2. The HubSpot list action looks for the same email address.
  3. If it is missing, a human-input step asks the account owner whether to create it.
  4. On approval, the create action adds the contact.

Where the approval sits. Cross-tool workflows are where mistakes spread, so each write has its own approver. The account owner approves only the HubSpot write.

Shipped template
A governed template with its approval step already in it ships in the platform.
Starting point
A shipped template runs the same actions. It is an integration test with no approval step, so you add the gate.
Designed
Design intent. It uses the actions listed above plus generic nodes, and nothing has been built as a template.

Approvals and records for HubSpot

HubSpot data drives outreach, so a wrong write has a visible effect on real people.

Needs a person’s approval

  • Creating contacts in bulk.
  • Creating a contact from a list whose consent you cannot show.
  • Any run that sends contact fields to a model.

Can run without one

  • Listing contacts to measure data quality.
  • Getting a contact that the same run just created.

What is recorded

  • Each list, create and get action, with its run.
  • The approver’s decision on a batch.
  • Policy decisions on contact fields, such as a redaction before a model call.

Swfte does not replace HubSpot’s consent and subscription settings. The approval step decides whether the workflow should write, and HubSpot decides what the contact may then receive. Use both.

A policy step in a design below describes the intent. The policy engine acts only on runs that have a policy attached, and a self-serve way to author policies is not something we describe as built.

Swfte’s own security position and any attestations are on the trust page. How approvals, policy and records fit together is on the governed agents page.

Comparing tools for HubSpot work

These comparison pages are dated and sourced. Each says who should pick the other tool.

  • Zapier alternatives

    Zapier is a common point of comparison for HubSpot automation. The page covers the differences in governance.

  • Make alternatives

    The Make comparison covers visual scenario building against Studio’s approvals and run record.

  • Best automation platforms

    How automation platforms compare on governance, approvals and records, with the method shown.

HubSpot questions

How is this different from HubSpot workflows?

HubSpot workflows run inside HubSpot on HubSpot data. A Swfte workflow runs outside it, can combine HubSpot with other tools, and can pause for a person before it writes. They can coexist: a contact created by a Swfte run can enrol in a HubSpot workflow that you configured there.

Can Swfte update an existing HubSpot contact?

Not in the shipped data, which lists, creates and gets contacts. The template’s description mentions updating properties, but its nodes do not do it.

Does a HubSpot event start a Swfte workflow?

Not that the shipped data shows. The template starts manually, and no HubSpot trigger appears. If you need an outside event to start a run, ask us how triggers work on your plan.

Is there a HubSpot template to start from?

One: the HubSpot Contact Workflow, which lists contacts, creates one and gets it back. It is an integration test with no approval step and no duplicate check, so treat it as a starting point.

Which contact fields can the create action set?

The shipped template sets email, first name, last name and company. Other properties may be available in the node, so check it in Studio before you plan around them.

Build a governed HubSpot workflow

Begin with a read-only workflow on a test account, then add one write with an approval in front of it.

Build this in Studio

Describe what you need in plain language. Studio builds the agents and workflows, and you keep every version.