HubSpot
Connect HubSpot to see each account's CRM status in Signals, read every HubSpot field in a TheirStack company list, define statuses such as Customer or Former customer, and send companies to HubSpot.
Beta
The HubSpot integration is in beta. If something does not work as you expect, open a ticket: click ? in the app and choose Contact support.
Connect HubSpot and every account in Signals shows where it stands in your CRM: customer, open deal, former customer or any status you define. The accounts your team already works with leave the feed, and a company you lost a deal with stays in it, so a new signal can tell you when to call again.
This guide follows the order you set it up in: connect HubSpot, see your data, define your statuses, keep them up to date and send companies to HubSpot. The screenshots use a sample workspace, Acme, with invented companies.
Connect HubSpot
Go to Settings → Integrations → HubSpot and click Connect HubSpot. HubSpot asks you to approve the access, and the first import starts. You can leave the page: the HubSpot list fills in when the import finishes, which takes about 10 minutes for a CRM with 20,000 companies.
To connect, you need to be:
- An owner of the workspace in TheirStack.
- A Super Admin in HubSpot, or a user with permission to view companies, company properties and owners. To let TheirStack send companies, that user also needs permission to edit companies and company properties.
TheirStack reads your companies, every company property, custom ones included, and the owners. It never reads contacts, emails, notes or deals. It writes to HubSpot only if you gave it permission to.
See your HubSpot data in TheirStack
Your HubSpot data shows in two places. Signals tells you the status of each account while you work the feed, and the HubSpot list has every field.
In Signals
Each account in the feed shows its CRM status next to its name, or No CRM match when it is not matched to a HubSpot company.

When you open an account HubSpot holds, View in HubSpot takes you to its record.

By default, the feed hides accounts with the statuses Customer and Open deal. To choose what you see, add the CRM status filter above the feed. It lists your own statuses too, and while it is on it applies to every signal.

| To see | Set the filter to |
|---|---|
| Companies that are not in your CRM | is any of No CRM match |
| Customers you could sell more to | is any of Customer |
| Companies to win back | is any of Former customer and Lost deal |
| Everything except open deals | is none of Open deal |
Without the filter, each signal decides on its own. To see the hidden companies in one signal, edit the signal and turn off Hide HubSpot accounts from this signal. Your signals' filters do not change.

If the HubSpot sync is behind, or HubSpot needs to be reconnected, the feed warns you that the CRM statuses may be out of date.
Only matched companies can be hidden
A customer TheirStack could not match to its HubSpot record still shows in the feed, as No CRM match. If you see one, fix its match.
In the HubSpot list
The HubSpot list is a company list that TheirStack keeps in sync. Open it with Open HubSpot list in the settings. It has one row per HubSpot company, with:
- The company's name, which links to its record in HubSpot.
- Its domain, CRM status and owner.
- Whether TheirStack matched it and, if it did not, why.
- Any HubSpot property, custom ones included. Pick them in Columns.

You can filter the list by CRM status or TheirStack match. It is read-only: you change it in HubSpot, and TheirStack keeps it in sync. To edit a copy, duplicate the list.
You can also use it in your searches like any other list, for example to filter the job or company search by the companies in your CRM. A search that uses the list leaves out the companies that are not matched.
In job and company search
Add the CRM status filter to a job or company search to choose companies by their status in HubSpot. It appears once HubSpot is connected and lists the same statuses as Signals, your own included.
| To find | Set the filter to |
|---|---|
| Companies in your CRM with no other status | is any of In CRM |
| Everything except customers and open deals | is none of Customer and Open deal |
| Companies that are not in your CRM | is any of No CRM match |
You can save a search that uses the filter and turn on its alert. Webhooks and signals can't use it yet, so remove the filter from a search before you add a webhook to it.
A search on a status you deleted finds no companies, and the filter keeps the status's name so you can remove it. Once you disconnect HubSpot no company has a status, so a search on one finds nothing.
Companies that are not matched
TheirStack matches each HubSpot company by its domain and its additional domains. When the domain does not tell which company it is, TheirStack uses the page in the company's LinkedIn Company Page property, as long as it is a LinkedIn company or school page. A company the domain already identified keeps that match whatever its LinkedIn page says. When HubSpot has the same company twice, both records count as one company.
To see the companies left out, click See why in the Not added row of the settings, or add the TheirStack match filter to the list and leave out Matched. The list gives the reason for each one:

| Reason | What to change in HubSpot |
|---|---|
| No domain in HubSpot | Add the company domain or its LinkedIn company page. |
| The domain is not valid | Fix the domain, for example acme.com. |
| Shared domain (link page or URL shortener) | Use the company's own website as its domain, or add its LinkedIn company page. |
| Several companies use this domain | Add its LinkedIn company page, or its own website as its domain. |
| TheirStack does not know this domain yet | Add its LinkedIn company page. If the company changed domain, you can also add the old one as an additional domain. |
The change shows after the next sync.
Define what a customer is
Every team tracks customers differently in HubSpot: a lifecycle stage, a count of active contracts, a custom field. In TheirStack you write the rule for each status on those same properties.
How the rules work
Each matched company gets one status. TheirStack checks the statuses from top to bottom, and the first one whose conditions hold gives the status. A company that meets none is In CRM, which always comes last. Every workspace starts with these:
| Status | Default rule | Signals feed |
|---|---|---|
| Customer | Lifecycle Stage is any of Customer, Evangelist | Hidden |
| Open deal | Number of open deals is greater than 0 | Hidden |
| Former customer | None until you add one | Shown |
| In CRM | Any other matched company | Shown |
A customer with an open deal is a Customer. A former customer with an open deal is an Open deal, because your team is already working on that deal. HubSpot has no standard property for customers who left, so Former customer marks no company until you give it a condition.
The settings page lists each status with its rule, whether the feed shows it and how many companies have it. Click a count to open those companies in the list.

Example: customers, former customers and lost deals
Say your HubSpot has two calculated properties, Active contracts and Closed contracts, and your team fills in a Lost Reason when a deal falls through. These rules split your CRM into the companies to leave alone and the ones to call again:
| Order | Status | Mark it when | Signals feed |
|---|---|---|---|
| 1 | Customer | Active contracts is greater than 0 | Hidden |
| 2 | Open deal | Number of open deals is greater than 0 | Hidden |
| 3 | Former customer | Any of these holds: Closed contracts is greater than 0, Total Revenue is greater than 0, Recent Deal Close Date has any value | Shown |
| 4 | Lost deal | All of these hold: Lost Reason has any value, Lost Reason is none of Duplicate | Shown |
| Last | In CRM | Any other matched company | Shown |
Why it is written this way:
- Former customer only needs evidence of a past purchase, because a current customer or a company with an open deal already took its status higher up.
- Former customer uses any of these holds because any one of the three proves the company bought from you.
- Lost deal needs both conditions. A company with an empty property meets is none of, so without has any value every company with no Lost Reason would be a Lost deal.
- Former customer and Lost deal stay in the feed because a new signal on one of those companies is a reason to call again.
You can add the statuses your team needs, such as Partner or Competitor, and hide them so those companies leave the feed.
What a condition can check
| Condition | Use it on | Example |
|---|---|---|
| is any of, is none of | The values you pick | Lifecycle Stage is any of Customer, Evangelist |
| is greater than, is less than | A number | Number of open deals is greater than 0 |
| is yes | A yes/no property | Is Public is yes |
| has any value, is empty | Any property | Recent Deal Close Date has any value |
When a company has no value in a property, the condition does not hold, except for is none of and is empty. You can have up to 20 statuses, each with up to 10 conditions.
Edit your statuses
Only workspace owners can edit statuses.
- Go to Settings → Integrations → HubSpot and click Edit statuses.
- Rename a status, change its color, or click Add status. Turn on Hide these accounts from the signals feed for the statuses you don't want in the feed.
- Click Add condition and pick a HubSpot property. The picker shows how many companies have a value in each property, so you can tell the ones your team fills in from the ones it doesn't.
- Move the statuses up or down to decide which one wins when a company meets several.
- Read the preview: how many companies each status would get and which ones change.
- Click Save rules. TheirStack reads every company again and gives each one its status.

Renaming a status keeps its companies. When you delete a status, its companies become In CRM unless they meet another one.
You can also edit the statuses from an AI assistant connected to TheirStack's MCP server, for example by asking it to "make Former customer the companies with a deal won in the past". With the CRM tools it can look up your HubSpot properties, preview the change and save it.
Keep it up to date
TheirStack reads HubSpot on its own. A change in HubSpot can take up to an hour to show.
| When | What TheirStack reads |
|---|---|
| You connect | Every company |
| Every hour | The companies that changed, and any property you added |
| Every night | Every company again, which catches deleted and merged companies |
| You click Sync now | Every company |
| You save your status rules | Every company, and gives each one its status under the new rules |
Sync now is how you import your CRM again, and only workspace owners can use it. Click it when you don't want to wait, for example after a bulk update in HubSpot or after fixing the domains of companies that were not matched. You don't need it after changing your rules, and you don't need to disconnect: disconnecting deletes the HubSpot list.
The settings page shows when the last sync finished and, if it failed, why. A failed sync leaves the list and the statuses as they were, and the next one retries on its own. Two cases need you:
- If you delete a HubSpot property that your rules use, syncs stop until you update the rules. Every company keeps its last status until then.
- If someone uninstalls the app in HubSpot, click Reconnect HubSpot. Until you do, the list and your signals keep working with the data of the last sync.
Send companies to HubSpot
You can send companies from TheirStack to HubSpot. TheirStack creates the ones HubSpot does not have and fills in the empty properties of the ones it has. A company already in HubSpot is never created twice.
Allow TheirStack to write
When you connect, HubSpot asks whether TheirStack can create and update companies. That permission is optional: without it, the integration only reads. If you connected before it existed, click Reconnect HubSpot in Settings → Integrations → HubSpot and approve it. Your HubSpot list and CRM statuses stay as they are.
Change what TheirStack writes
Anyone in the workspace can send companies right after connecting, with the defaults below. A workspace owner can change them: go to Settings → Integrations → HubSpot and click Edit settings under Sending to HubSpot. The settings follow the steps of a HubSpot import:
- How to send: create and update companies (the default), create new companies only, or update existing companies only. TheirStack finds the companies HubSpot already has by their domain and additional domains.
- Map fields: each TheirStack field goes to a HubSpot property, and the common ones start with one chosen. Pick another property for a field, or Not sent to leave it out. For each field you send, choose what happens if HubSpot already has a value: Keep HubSpot's value or Replace with TheirStack's. An empty property gets TheirStack's value either way.
- New companies: the owner of the companies TheirStack creates is the person who sends them, matched by email to a HubSpot user, or nobody. You can also give them fixed values, such as a lifecycle stage or a lead source.
- Review: see what a few of your companies would get, property by property, before you save. Nothing is written to HubSpot until someone sends companies.

What TheirStack writes by default
| TheirStack field | HubSpot property | If the company is already in HubSpot |
|---|---|---|
| Company name and domain | Company name and Company Domain Name | Never changed |
| Website and LinkedIn URL | The matching HubSpot property | Filled in only when empty |
| Number of technologies, number of job postings, signals timeline and TheirStack profile | New properties in a TheirStack group | Always updated |
Employees, industry, country, city, postal code, founded year, description, technologies, publicly traded, total funding, funding stage and last funding round are not sent until an owner chooses a property for them in the settings. Annual revenue isn't either, because HubSpot keeps it in your portal's currency and TheirStack's is in USD. Industries are translated to the options of your HubSpot industry property, and an industry with no matching option is not sent. A value TheirStack does not have never clears a HubSpot property. With Keep HubSpot's value, a value stays as it is on later sends, even if TheirStack wrote it. TheirStack also adds a TheirStack company ID property, which it uses to find the companies it created.
The signals timeline
When your signals have found a company, a send writes them to its TheirStack signals timeline property. It is a rich text property that reads like the account's timeline in Signals: the signals by day, newest first, each with what TheirStack found and the job ads and technologies behind it.
| Link | What it opens |
|---|---|
| The title of a job ad | The job ad in TheirStack, with its whole description |
| Original ad | The page where the job ad was posted, with no TheirStack login |
| View company | The company in TheirStack |
| View signal | The signal in TheirStack |
| Open search | The signal's saved search |
A company with no signals doesn't get the property. The timeline shows the date you sent it and doesn't change on its own, so send the company again to bring it up to date. When a timeline is too long for HubSpot, its oldest signals are left out and a link at the end takes you to the company.
The field is sent by default. In the setup you can choose another rich text property for it, or Not sent. A setup saved without it leaves it Not sent until you choose a property.
Send companies
Select companies in a company search or a company list, open the HubSpot menu and click Send to HubSpot. Before sending, TheirStack tells you how many companies it will create, how many it will update and which ones it can't send:
- Companies you have not revealed. Reveal them first.
- Companies without a domain, because TheirStack could not tell whether HubSpot already has them.
To send one company, click Send to HubSpot on its profile. TheirStack sends it right away and tells you whether it created or updated it. The button then changes to View in HubSpot. If it can't send the company, it tells you why.
If HubSpot already has the company, the button says Update in HubSpot when TheirStack has something new to write. Hover over it to see which fields. When there is nothing new, it says View in HubSpot. A change in the number of job postings doesn't count as new on its own, but every send brings it up to date.
If TheirStack can't write to HubSpot yet, it asks for that first.
Right before creating a company, TheirStack checks HubSpot by domain, so a company someone added since the last sync is updated instead of duplicated. You can send up to 1,000 companies at once.

Send the companies your signals find
A new account stays in the feed until someone sends it, and a send writes the fields in the table above.
- To send one account, open it in the feed, click View company and then Send to HubSpot. Opening a company you have not revealed uses 1 company credit.
- To send several, click Add to list on each account and open that list. Reveal the companies, select them, open the HubSpot menu and click Send to HubSpot.
Sending a company again brings its TheirStack properties up to date.
Keep HubSpot up to date when a signal finds something new
Beta
Automatic updates are in beta and turned off by default. To turn them on for your workspace, open a ticket: click ? in the app and choose Contact support.
When a signal finds a new match on a company HubSpot already has, TheirStack updates that company's properties in the TheirStack group, with no one sending it:
| HubSpot property | What it holds |
|---|---|
| TheirStack priority | High, Medium or Low, as in the accounts feed |
| TheirStack signals | The signals the company meets |
| TheirStack last signal | What TheirStack found most recently |
| TheirStack last signal date | When it found it |
| TheirStack technologies, job postings and profile | The same values a send writes |
TheirStack never creates a company on its own and never changes a property outside that group. You can use these properties in your HubSpot workflows, for example to create a task for the company's owner when TheirStack priority changes to High.
To create new companies in HubSpot with no clicks, build the same filters in a saved search, add a webhook and connect it to HubSpot with Make, n8n or Zapier. A webhook can't listen to a signal, so it finds its own matches, and its events use API credits. HubSpot does not deduplicate the companies created through its API, so look each company up by domain before you create it.
See what was sent
Settings → Integrations → HubSpot lists every send with who sent it and how many companies were created, updated or failed. Download the report of a send to see what HubSpot did with each company and why it rejected any of them. The companies TheirStack creates get their CRM status in TheirStack right away, without waiting for the next sync.
Credits
Connecting HubSpot, syncing it, the HubSpot list and sending companies to HubSpot are free. Revealing TheirStack data in search or enrichment costs the same credits as usual, and only companies you revealed can be sent.
Disconnecting
To disconnect, go to Settings → Integrations → HubSpot and click Disconnect. TheirStack then:
- Stops syncing.
- Deletes the imported companies and the HubSpot list right away.
- Revokes its access to HubSpot.
Companies TheirStack created or updated in HubSpot stay there. Signals stop hiding companies by their CRM status. The settings page lists the signals affected before you confirm.
If someone uninstalls the app in HubSpot, the settings page asks you to reconnect. Until you reconnect or disconnect, TheirStack keeps the last synced list and marks it as out of date.
Known limits
- The accounts feed shows the CRM status and a link to the record. Owners and the rest of the fields are in the HubSpot list.
- A company that is not matched is not hidden from your signals, whatever its status in HubSpot.
- A company that changed domain may not be matched until you add its old domain or its LinkedIn page in HubSpot.
- Signals never create companies in HubSpot: someone has to send them.
- Webhooks and signals can't use the CRM status filter yet.
- HubSpot duplicates show once in the list.
- Changes in HubSpot can take up to an hour to show.
- The integration is in beta: one HubSpot account per workspace, and HubSpot only for now.
How is this guide?
Last updated on
Databar
Learn how to use TheirStack job postings and technographic data inside Databar, the no-code GTM data platform, without a TheirStack account or API key.
LinkedIn Audiences
Export companies from TheirStack in LinkedIn company list format so you can build audiences from technographic data and hiring intent.
