The exact-error desk for n8n + HubSpot

Fix the workflow error. Ship the automation.

Focused troubleshooting for HubSpot authentication, OAuth scope mismatches, CRM search filters, date validation, webhook subscriptions, custom-property mappings and association failures inside n8n. No generic “reconnect everything” advice.

PKCE400UIID
★★★★★
Built around real error signatures
Updated against current docs & community cases
HUBSPOT 400 · dealstage=\"\" expected: qualifiedtobuy cause: expression resolved empty ✓ inspect evaluated value ✓ use the stage internal ID ✓ retest minimum payload
Fast diagnosisStart with the raw HubSpot response, not the red n8n banner.
2026 platform changesLegacy HubSpot public-app creation is now sunset.
Fix verifiedOne failure at a timeReproduce → isolate → retest.
Focused on the stack people are actually debugging
n8nHubSpotREST APIOAuthWebhooks
Start with the failing layer

Small, exact fixes for expensive workflow failures

Each guide starts from a real error signature and narrows the diagnosis before recommending a change.

Illustrated n8n and HubSpot OAuth troubleshooting flow for the missing code challenge parameter error.
Authentication12 min

HubSpot PKCE / code challenge error

A 2026-specific fix for the HubSpot Trigger authorization error in n8n when the credential asks for an App ID and Developer API Key that new HubSpot accounts can no longer create.

Open fix →
Illustrated HubSpot contact property picker in n8n showing where custom properties are nested.
Field Mapping11 min

Custom contact properties missing

Fix the case where HubSpot custom Contact fields exist in the portal but do not appear in n8n’s Create or Update Contact field list, even with a valid Service Key and schema scope.

Open fix →
Illustrated n8n HubSpot saved custom property error showing the unsupported empty value UI state.
Connector UI12 min

“The value is not supported” UI bug

How to handle the HubSpot node typeVersion 2.2 case where saved custom-property rows reopen as empty unsupported dropdowns even though the workflow JSON and runtime writes are still valid.

Open fix →
FlowPatch illustration showing a HubSpot search EQ filter whose n8n expression resolves empty and a guard that skips empty values.
Search & Filters11 min

EQ filter requires a value

How to diagnose an n8n HubSpot contact search that works with a fixed value but fails with “operator EQ requires a value” when the filter is an expression.

Open fix →
FlowPatch illustration comparing invalid and valid HubSpot date inputs for the invalid date was not a valid long error in n8n.
Data Validation12 min

INVALID_LONG date property error

A safe fix for HubSpot INVALID_LONG validation errors caused by n8n date transforms turning missing dates into “Invalid date” or non-midnight timestamps.

Open fix →
FlowPatch illustration showing a HubSpot Ticket Property Changed trigger failing without propertyName and succeeding after a target property is set.
Triggers & Webhooks12 min

Ticket propertyChange missing propertyName

How to diagnose the HubSpot Trigger case where Ticket Property Changed is selected but n8n does not expose a property picker and HubSpot rejects the subscription because propertyName is missing.

Open fix →
FlowPatch illustration showing a dynamic HubSpot record identifier returning 404 and the idProperty checks used to resolve it.
Record Lookup12 min

Dynamic HubSpot ID returns 404

A debugging path for HubSpot Get-by-ID calls that work with a hardcoded record ID but fail with 404 when the same ID comes from an n8n expression.

Open fix →
FlowPatch illustration comparing an incomplete first HubSpot response with a retry that requests all required properties.
Timing & Reads12 min

HubSpot data incomplete on first run

A bounded-retry design for n8n workflows where a newly changed HubSpot record is missing required properties on the first automatic read but becomes complete seconds later.

Open fix →
FlowPatch illustration showing n8n and HubSpot Knowledge Base 401 MISSING_AUTH troubleshooting with supported API alternatives.
CMS & Authentication13 min

Knowledge Base 401 MISSING_AUTH

Why a HubSpot token can work for CRM calls yet return 401 MISSING_AUTH on a Knowledge Base URL, and how to replace an undocumented CMS path with a supported GraphQL or Site Search request.

Open fix →
FlowPatch illustration showing the n8n HubSpot ticket.creation trigger scopes error and the required ticket scope.
Webhooks & Scopes13 min

ticket.creation scopeCandidates error

Decode HubSpot’s confusing ticket.creation subscription error, identify the ticket scope from the hidden scopeCandidates payload, and avoid breaking OAuth by adding unrelated permissions.

Open fix →
FlowPatch illustration showing an n8n HubSpot trigger that works in Execute Node but fails in active mode because of the production webhook path.
Webhook Delivery14 min

Trigger works only in Execute Node

A production-path diagnosis for HubSpot triggers that receive events while n8n is manually listening but go silent after the workflow is activated, especially on self-hosted reverse-proxy setups.

Open fix →
FlowPatch illustration comparing PUT and POST for HubSpot communication preferences subscription updates in n8n.
Communication Preferences14 min

Communication Preferences: POST vs PUT

Fix a HubSpot email subscription update that fails from n8n because the legacy v3 subscribe endpoint was called with PUT, then decide whether to stay on v3 or migrate to the 2026-03 preferences API.

Open fix →
FlowPatch illustration showing how to poll the HubSpot Meetings object when Meeting Created is missing from the n8n trigger.
Meetings & Triggers14 min

Meeting Created trigger missing

A low-noise fallback when n8n’s HubSpot Trigger does not expose a Meeting Created event: read HubSpot meeting activity records directly, keep a cursor, and enrich only the meetings that are actually new.

Open fix →
FlowPatch diagram showing the wrong HubSpot custom-object schema PATCH endpoint and the correct CRM record update endpoint.
Custom Objects13 min

Custom object update hits the schema endpoint

If an n8n HTTP Request is PATCHing `/crm/v3/schemas/{objectTypeId}`, it is editing the custom-object definition, not a CRM record. Search the record first, then PATCH `/crm/objects/2026-03/{objectTypeId}/{recordId}`.

Open fix →
FlowPatch diagram showing how to retrieve a HubSpot contact-to-company association when the primary company ID is missing.
Associations12 min

Primary company ID missing from contact

A HubSpot contact property is not the same thing as a CRM association. If n8n does not return the primary company ID with a contact, retrieve the contact’s company associations and identify the primary relationship instead of guessing from a field.

Open fix →
FlowPatch diagram showing a HubSpot task created without an owner and how to assign it using hubspot_owner_id.
Tasks API13 min

Task created but owner is not assigned

When an n8n HubSpot task is created successfully but remains unassigned, verify the owner through HubSpot’s Owners API and send the owner’s `id` as `hubspot_owner_id` in the task properties.

Open fix →
FlowPatch diagram showing the n8n HubSpot datetime filter reading cause error and the CRM Search API fallback.
Search & Filters14 min

Datetime GT/LT search hits reading 'cause'

If the native n8n HubSpot search does not expose GT/LT/GTE/LTE for a datetime property and fails with a `reading 'cause'` stack trace, use HubSpot’s CRM Search API through HTTP Request and paginate with the body `after` cursor.

Open fix →
FlowPatch diagram showing the HubSpot OAuth v1 sunset warning, audit checklist, migration path, and February 16 2027 deadline.
OAuth Migration14 min

HubSpot OAuth v1 sunset warning

HubSpot will retire legacy OAuth v1 token endpoints on February 16, 2027. If an n8n-connected app appears in the warning, identify whether the calls come from a built-in credential, generic OAuth2 credential, custom HTTP node, or external helper before changing production authentication.

Open fix →
FlowPatch diagram showing how an n8n workflow searches a contact’s open HubSpot deals before deciding whether to update an existing deal or create a new one.
Deals13 min

Duplicate HubSpot deals from every interaction

If every Respond.io, form, or messaging event creates another HubSpot deal, stop treating every interaction as a new opportunity. Resolve the contact, search only that contact’s open deals, then update or skip before Create Deal.

Open fix →
FlowPatch diagram showing a HubSpot MCP OAuth v3 token exchange failing in n8n and succeeding after upgrading the credential and PKCE support.
MCP13 min

HubSpot MCP OAuth v3 token exchange fails

A July 2026 report showed HubSpot Remote MCP authentication returning to n8n but failing during OAuth v3 token exchange. The reporter later connected successfully on n8n 2.32.5, so version-check first.

Open fix →
FlowPatch diagram showing an n8n AI Agent HubSpot Tool error caused by inconsistent $fromAI() descriptions or types for the same key and the corrected mapping.
AI Tools12 min

HubSpot Tool $fromAI key/type conflict

If an AI Agent can set one HubSpot property but adding a second property triggers the $fromAI consistency error, inspect the generated $fromAI keys, descriptions, and types instead of changing HubSpot scopes.

Open fix →
ERROR → REQUEST → SCOPE → RETRY → VERIFY
How this site is written

One error, one investigation.

Guides are researched individually from current vendor documentation and real troubleshooting cases. The article is then written around the specific failure path, not filled from a generic automation template.

Exact error signature firstPrimary docs before commentaryVersion/date-sensitive notesVerification steps included
Built for maintainers

Debug the smallest thing that can be wrong.

That is usually faster than reconnecting every credential, rebuilding every node and hoping the next run works.

  • Credential model before reconnecting OAuth
  • Raw API value before trusting a dropdown
  • Internal IDs before display labels
  • Explicit record IDs before associations
30
hand-researched troubleshooting guides

The library stays intentionally narrow so each page can be maintained when n8n or HubSpot changes.

Open the guide library →