Enrich new HubSpot companies with US patent data

By General Input

When a new company lands in HubSpot, look up its US patent footprint and write a quick R&D profile back into the record.

Integrations

  • HubSpot
  • USPTO PatentsView

Type

Agentic Task

Categories

  • Sales
  • Operations

Build an agent workflow that enriches a newly created HubSpot company with its US patent footprint, so sales and BD reps can see at a glance how R&D heavy a target is.

Trigger: a HubSpot outgoing webhook that fires on company.creation. The webhook payload carries the new company's objectId. If multiple events are batched in one webhook delivery, process each company.creation event independently.

On each fire, the agent should:

1. Pull the new company's objectId from the webhook payload. Use HubSpot 'Get Company' to fetch its properties, especially name and domain. If name is empty, stop and write nothing back.

2. Build a small set of cleaned name variants to try against the patent database: the raw name, the name with common legal suffixes removed (Inc, Inc., Incorporated, Corp, Corporation, Ltd, Limited, LLC, GmbH, S.A., PLC, Co), and the name with punctuation stripped. Dedupe.

3. Call USPTO PatentsView 'Search Assignees' with the cleaned name(s) to find the canonical disambiguated assignee. Prefer organization assignees over individuals, and when more than one plausible match comes back, prefer the assignee with the highest patent count. Capture the matched assignee_id.

4. If no assignee is matched, call HubSpot 'Update Company' with patent_count_total = 0 and patent_match_status = 'no_match', then stop. This is important so reps can tell 'we could not find them' apart from 'they really have no patents'.

5. If an assignee is matched, call PatentsView 'Search Granted Patents' filtered by that assignee_id and compute:

- patent_count_total: total granted patents for that assignee.

- patent_count_24mo: granted patents whose grant date falls within the last 24 months.

- top_tech_areas: the three most common CPC subclass titles (or WIPO field titles, whichever is more human-readable) across the assignee's patents, joined with commas.

- latest_patent_titles: the titles of the three most recently granted patents, joined with ' | '.

- last_patent_grant_date: the grant date of the single most recent granted patent, ISO yyyy-mm-dd.

- patent_match_status: 'matched'.

6. Call HubSpot 'Update Company' to write all of the above onto the company record.

Be polite to the patent API: request only the fields you actually need, and stop paginating once you have enough rows to compute the counts and the top-three lists.

Idempotency: if the workflow fires twice for the same company, the second run should produce the same result. Overwrite the properties, do not append.

Setup notes the human must complete before this can run (please surface these in the workflow's setup section):

- Create six custom company properties in HubSpot: patent_count_total (number), patent_count_24mo (number), top_tech_areas (single-line text), latest_patent_titles (multi-line text), last_patent_grant_date (date picker), patent_match_status (single-line text, or a dropdown with values 'matched' and 'no_match').

- In HubSpot, configure an outgoing webhook (via Workflows or Operations Hub) on the 'Company created' event, pointing at this workflow's webhook URL.

- Connect a HubSpot account with permission to read and update companies, and a USPTO PatentsView API key.

Related prompts

Explore more prompts
Turn Mailjet email clicks into ranked HubSpot follow-upsiMessage campaign console with pre-flight checks and delivery boardA searchable RFP answer library your bid team drafts fromSee which target accounts just started advertising on LinkedInAccount health board that puts product usage next to your CRMLook up a customer's full chat history mid conversationLusha prospecting workbench with credit-safe revealsWhich companies your LinkedIn ads reach, matched to your CRMLead response desk with a running clock on every new leadApprove Lusha enrichment field by field before HubSpot saves it