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.
Authentication•12 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 Mapping•11 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 UI•12 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 & Filters•11 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 Validation•12 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 & Webhooks•12 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 Lookup•12 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 & Reads•12 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 & Authentication•13 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 & Scopes•13 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 Delivery•14 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 Preferences•14 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 & Triggers•14 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 Objects•13 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.
Associations•12 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 API•13 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 & Filters•14 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 Migration•14 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.
Deals•13 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.
MCP•13 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 Tools•12 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 →
Illustrated n8n HubSpot workflow throttled by a 429 rate limit error with a retry queue.
Reliability•14 min

HubSpot 429 rate limit in n8n

The exact HubSpot API rate limits by app type, why a workflow that ran fine for months suddenly throws 429s, and an n8n-specific batching and retry pattern that stays under the limit instead of guessing at delays.

Open fix →
Illustrated n8n workflow looping through HubSpot API pages with a cursor token, catching a missed record.
Reliability•13 min

HubSpot pagination missing records

Why a workflow that paginates through HubSpot contacts, companies, or deals can silently skip records or process the same one twice, and how to build a cursor loop in n8n that catches both failure modes.

Open fix →
Illustrated migration path from HubSpot Contact Lists API v1 to v3 inside an n8n workflow.
Migration•13 min

HubSpot Lists API v1 sunset (n8n)

HubSpot's v1 Contact Lists API stops working on April 30, 2026. Here's exactly which n8n HubSpot node list operations rely on it, what HubSpot's three surviving v1 endpoints will and won't return afterward, and how to rebuild the same logic on the v3 Lists API.

Open fix →
Illustrated n8n workflow attaching a binary file to a HubSpot note, with a broken link between file storage and the note.
Connector UI•12 min

HubSpot note file attachment (n8n)

The HubSpot node's Note operation can create a note, but attaching a file requires a separate upload-to-Files call and a specific association step — skipping either produces a note with no attachment and no error message telling you why.

Open fix →
Illustrated n8n workflow linking a HubSpot deal and company with a custom association label instead of the default link.
Connector UI•12 min

HubSpot custom association labels (n8n)

The built-in HubSpot node's company/deal/contact fields create the default, unlabeled association between records. Applying a custom label like “Decision Maker” or “Renewal Owner” requires calling the Associations API directly with the label's specific type ID.

Open fix →
Illustrated diagram comparing the OAuth redirect URL in n8n against the callback URL configured in a Salesforce Connected App.
Authentication•9 min

Salesforce redirect_uri mismatch

The exact place two URLs have to match character-for-character when a Salesforce Connected App rejects n8n's OAuth callback, including the http vs https and trailing-slash mistakes that cause it.

Open fix →
Illustrated comparison of login.salesforce.com and test.salesforce.com OAuth endpoints for a Salesforce developer sandbox.
Authentication•8 min

Salesforce sandbox OAuth login URL

Why n8n's Salesforce credential can fail to authorize against a Developer sandbox specifically, even though the same setup works for a Partial Copy or Full sandbox.

Open fix →
Illustrated flow showing an n8n Salesforce upsert node payload failing with an invalid field error while insert succeeds.
Data Sync•10 min

Salesforce upsert bad request

Why the Salesforce node's upsert operation can fail with a vague bad-request message on a custom object even when insert works, and the field-level checks that usually explain it.

Open fix →
Illustrated diagram showing n8n workflows migrating from the deprecated Pipedrive API v1 to the current API v2 node.
Platform Change•13 min

Pipedrive API v1 deprecation in n8n

Pipedrive shut down API v1 endpoints on July 31, 2026. Here's exactly which n8n Pipedrive node resources were affected, which n8n version fixes it, and what changes in your workflows.

Open fix →
Illustrated flow showing an n8n workflow searching Pipedrive for an existing deal before creating a new one to prevent duplicates.
Data Sync•10 min

Pipedrive duplicate deal prevention

Pipedrive has no built-in duplicate-deal blocking like Salesforce's Duplicate Rules — here's the search-then-branch pattern that actually stops repeat automations from creating the same deal twice.

Open fix →
Illustrated n8n and HubSpot flow showing a batch call returning HTTP 207 with a results array and an errors array routed to a dead-letter store.
Data Sync•13 min

HubSpot batch 207 partial failure

HubSpot batch endpoints return HTTP 207 Multi-Status when part of a batch succeeds and part fails. n8n's HubSpot node does not surface per-record results, so failures disappear or one bad row fails the whole run. Read the 207 body yourself with an HTTP Request node.

Open fix →
Illustrated n8n and HubSpot search hitting a 10,000-result ceiling and a 400 error, with the query split into monthly date-range windows.
Search & Filters•12 min

HubSpot search 10,000 result cap

The HubSpot CRM Search API returns at most 10,000 results for any single query. Paging past that with the after cursor returns a 400. Split the query into date-range windows, or use the Export or List APIs for full datasets.

Open fix →
Comparison graphic showing a rejected array of labels versus a semicolon-joined string of internal option names for a HubSpot multi-checkbox property in n8n.
Property Mapping•11 min

HubSpot multi-checkbox property values

HubSpot stores multi-checkbox (enumeration) property values as a single semicolon-delimited string of internal names. Sending a comma list, a JSON array, or option labels overwrites the field with one value or fails. Send internal names joined by semicolons.

Open fix →
Flowchart of creating a HubSpot line item with the CRM v3 endpoint and associating it to a deal from n8n using HTTP Request nodes.
Deals•12 min

HubSpot line items on a deal from n8n

The n8n HubSpot node has no operation to add line items to a deal. Create each line item with the CRM v3 line_items endpoint, then associate it to the deal. Use hs_product_id to base a line item on a product.

Open fix →
Illustrated n8n and Salesforce workflow whose session expires mid-run with INVALID_SESSION_ID, fixed with isolated credentials and short batched runs.
Authentication•12 min

Salesforce INVALID_SESSION_ID in n8n

Salesforce sessions expire (default two hours) and the token endpoint returns no expiry, so n8n keeps using a session Salesforce has already invalidated. Isolate credentials per workflow, keep each run short, and let n8n re-authenticate on failure.

Open fix →
Comparison graphic of a wrong-case picklist label versus the exact Salesforce API value, with a record-type availability note, for an n8n restricted-picklist error.
Data Validation•11 min

Salesforce restricted picklist error in n8n

Salesforce restricted picklists reject any value not in their defined set. n8n usually sends the label, the wrong case, a trailing space, or a value not enabled for the record type. Send the exact API value, case-sensitive, mapped to the record type.

Open fix →
Comparison graphic showing a plain email string stored as [object Object] versus the array-of-objects shape (value, primary, label) Pipedrive expects from n8n.
Field Mapping•10 min

Pipedrive person email/phone format in n8n

Pipedrive's Persons API expects email and phone as an array of objects with value, primary, and label. Sending a plain string, or letting n8n stringify an object, saves [object Object] or drops the value. Build the array explicitly.

Open fix →
Diagram showing n8n test and production webhook paths, activation state, reverse proxy, and response modes.
Triggers & Webhooks•12 min

Webhook Test vs Production

Fix n8n webhooks that return 404 or never fire by checking test vs production URLs, publish state, HTTP method, reverse-proxy path, and response mode.

Open fix →
Diagram of an n8n execution moving through running, waiting, sub-workflow, worker, timeout, and stop states.
Reliability•13 min

Execution Stuck Running

Diagnose n8n executions stuck Running or timing out by separating Wait states, sub-workflows, worker failures, timeout settings, and stale execution state.

Open fix →
HTTP debugging flow showing n8n request authentication, headers, upstream gateway, status codes, retries, and response body.
Debugging•12 min

HTTP 401/403/500 Debugging

Debug n8n HTTP Request 401, 403, and 500 errors by exposing the real response body, fixing auth and payload shape, then retrying only transient failures.

Open fix →
Diagram showing a production workflow failure flowing into an n8n Error Trigger, alert branch, and optional Stop And Error node.
Error Handling•12 min

Error Workflow Not Firing

Fix n8n Error Workflows that never fire by testing production runs, assigning the handler correctly, avoiding swallowed errors, and validating trigger payloads.

Open fix →
Comparison diagram of n8n Cloud and self-hosted execution environments, community nodes, storage, payload limits, URLs, and versions.
Platform Differences•13 min

Cloud vs Self-Hosted Errors

Find why an n8n workflow works on Cloud but fails self-hosted by comparing node availability, binary storage, payload limits, environment URLs, memory, and versions.

Open fix →
Diagram tracing n8n values through Airtable select, linked-record, number, and date field validation.
Data Validation•12 min

Airtable 422 Column Value

Fix Airtable 422 field-value errors in n8n by matching each field's API shape, checking select choices, using typecast deliberately, and validating IDs.

Open fix →
Diagram comparing Airtable field names, stable field IDs, renamed fields, and stale IDs cached in an n8n mapping.
Field Mapping•12 min

Airtable UNKNOWN_FIELD_NAME

Fix Airtable 422 UNKNOWN_FIELD_NAME in n8n by refreshing stale field IDs, separating names from IDs, checking renamed fields, and removing read-only writes.

Open fix →
Diagram showing multiple n8n workflows sharing Airtable's per-base request limit, batch writes, waits, and retry backoff.
Reliability•12 min

Airtable 429 Rate Limit

Fix Airtable 429 RATE_LIMIT_REACHED in n8n by respecting the 5 req/s per-base limit, batching up to 10 records, pacing loops, and backing off after 429s.

Open fix →
Diagram showing an n8n Airtable read followed immediately by file download and durable storage before the attachment URL expires.
Attachments•12 min

Airtable Attachment URL 403

Fix Airtable attachment 403s in n8n by downloading files while API URLs are fresh, storing durable copies, and using the correct upload path for new files.

Open fix →
Diagram showing an Airtable update feedback loop and four breakpoints: watched fields, sync flag, polling trigger, and deduplication.
Triggers & Webhooks•12 min

Stop Airtable Update Loops

Stop n8n-to-Airtable feedback loops by narrowing watched fields, adding a sync sentinel, checking last-modified metadata, and making writes idempotent.

Open fix →
Flat vector diagram illustrating the fix n8n slack channel not found bot not invited error and fix.
Field mapping•11 min

Slack channel_not_found error

Why the Slack node returns channel_not_found even for a real, visible channel, and the specific membership and ID conditions the Slack API actually checks.

Open fix →
Flat vector diagram illustrating the fix n8n slack channels not loading parameter options error and fix.
Authentication•9 min

Slack channel dropdown won't load

Why the Slack node's channel picker fails to load or shows an empty list, and which specific bot scopes the dropdown depends on that message sending does not.

Open fix →
Flat vector diagram illustrating the fix n8n google sheets 429 quota exceeded rate limit error and fix.
Rate limits•11 min

Google Sheets 429 rate limit error

How Google Sheets API quotas actually apply per-project and per-user, why n8n workflows hit them faster than expected, and how to fix it without just adding a blind Wait node.

Open fix →
Flat vector diagram illustrating the fix n8n mailchimp trigger resource could not be found error and fix.
Triggers & webhooks•10 min

Mailchimp trigger resource not found

Why the Mailchimp Trigger throws a resource-not-found error even when the audience/list clearly exists, and the data-center and list-ID mismatch that usually causes it.

Open fix →
Flat vector diagram illustrating the fix n8n activecampaign webhook not firing automation error and fix.
Triggers & webhooks•11 min

ActiveCampaign webhook silent

Why a webhook placed inside an ActiveCampaign automation can fail to send anything to n8n even though the automation itself runs and the contact passes through it.

Open fix →
Field mapping•6 min

Fix restricted picklist error

Four causes produce this one error: the label instead of the value, a case or whitespace difference, an inactive value, or a value the target record type does not expose. How to tell which, in one describe.

Open fix →
Illustrated troubleshooting diagram for Fix Salesforce "REQUIRED_FIELD_MISSING" when creating records via API.
Field mapping•6 min

Fix REQUIRED_FIELD_MISSING

The error names the field, and the field is often not required in the object's metadata at all. The five places a requirement can come from, and how to find which one is enforcing it.

Open fix →
Rate limits•6 min

HubSpot 429 burst limit numbers

HubSpot publishes three different rate limits, and a 429 tells you nothing about which one you crossed. The exact figures per app type and tier, how to read the response to identify the limit, and a backoff that respects it.

Open fix →
Illustrated troubleshooting diagram for HubSpot API key removed: how to migrate a hapikey integration to a private app token.
Authentication•6 min

HubSpot hapikey to private app token

The hapikey query parameter is gone. What replaces it, the exact header change, why a working curl can still fail inside a connector, and how to prove no forgotten job is still using the old path.

Open fix →
Associations•6 min

HubSpot associationTypeId errors

Why an association call succeeds and still produces the wrong relationship, how HUBSPOT_DEFINED and USER_DEFINED type IDs differ, and the one lookup that makes custom labels portable across portals.

Open fix →
Rate limits•6 min

HubSpot daily vs burst 429

Both failures return HTTP 429, but one clears in ten seconds and the other does not clear until the daily window resets. How to identify which you hit from the response, and why the correct response to each is the opposite.

Open fix →
Illustrated troubleshooting diagram for Fix HubSpot deprecated API endpoints: migrate legacy v1 and v2 calls to v3.
Migration•6 min

HubSpot v1/v2 to v3 migration

The concrete path, identifier and payload changes between HubSpot's legacy CRM endpoints and the v3 object API, including the vid-to-id switch that quietly breaks stored record references.

Open fix →
Authentication•6 min

HubSpot OAuth vs private app

One portal or many is the whole decision. The concrete differences in token lifetime, request shape, rate limits and scope handling, with the exact calls each one makes.

Open fix →
Authentication•6 min

HubSpot private app MISSING_SCOPES

The 403 body names the scope it wants. How to read it, map endpoints to scopes, check what a token actually carries, and why a read-only smoke test hides the problem until the first write.

Open fix →
Field mapping•6 min

HubSpot property does not exist

HubSpot writes take a property's internal name, never the label you see in the UI. How to fetch the real names, why they diverge from labels, and the mapping step that stops the error recurring.

Open fix →
Data Validation•6 min

HubSpot VALIDATION_ERROR on create

The 400 body lists every rejected property individually with a machine-readable error code. How to read it, the four codes that account for almost all of them, and the deal fields HubSpot requires that contacts do not.

Open fix →
Illustrated troubleshooting diagram for Fix HubSpot webhook subscriptions that silently stop firing.
Triggers & webhooks•6 min

HubSpot webhooks stop firing

HubSpot webhooks are configured on the app, not the portal, and a subscription can exist while being inactive, unsubscribed by a scope change, or throttled by your own slow endpoint. The checks, in order.

Open fix →
Illustrated troubleshooting diagram for Pipedrive API 429 errors: how the token-based daily budget actually works.
Rate limits•6 min

Pipedrive token-based rate limit

Pipedrive does not count requests, it charges tokens, and different endpoints cost different amounts. The budget formula, why a search-heavy workflow exhausts it far faster than a write-heavy one, and what to do when it runs out.

Open fix →
Illustrated troubleshooting diagram for Pipedrive API token vs OAuth: which one to use for a private integration.
Authentication•6 min

Pipedrive API token vs OAuth

An API token is one user's identity with that user's visibility. OAuth is an installable app with scopes and refresh. The concrete request differences, and the permission trap that makes a token look like it is losing data.

Open fix →
Illustrated troubleshooting diagram for Pipedrive API v2: field_code vs field ID — the querystring change that breaks old integrations.
Field mapping•6 min

Pipedrive v2 custom_fields shape

v1 put custom field hashes at the top level of the record; v2 nests them under custom_fields and stops returning them unless asked. The four changes that break a v1-shaped integration, with both payloads side by side.

Open fix →
Illustrated troubleshooting diagram for Pipedrive custom dropdown and multi-select fields: why the option ID does not match the UI.
Field mapping•6 min

Pipedrive dropdown option IDs

A correct field key is only half of an option field. Each dropdown choice has its own numeric ID, and the visible text is never accepted. Where to find the IDs, and how multi-select differs from single-select.

Open fix →
Illustrated troubleshooting diagram for How to find a Pipedrive custom field's real API key.
Field mapping•5 min

Find a Pipedrive custom field key

Pipedrive generates a 40-character hash when a custom field is created and that hash is the only key the API accepts. Both ways to find it, and why the UI label is never a substitute.

Open fix →
Illustrated troubleshooting diagram for Preventing duplicate people and organizations when creating records via the Pipedrive API.
Data Validation•6 min

Pipedrive duplicate prevention

Pipedrive's create endpoints do not deduplicate. Search-then-create narrows the window but does not close it; an idempotency key stored on the record does. Both patterns, with the calls.

Open fix →
Illustrated troubleshooting diagram for How to reduce Pipedrive API token consumption per request.
Rate limits•6 min

Reduce Pipedrive token consumption

Pipedrive charges by cost, not by call, so the wins come from removing expensive work: search replaced by keyed reads, metadata cached, cursors persisted, and reconciliation separated from event handling.

Open fix →
Triggers & webhooks•6 min

Pipedrive webhook v2 payload

Version 2 renames the fields a receiver reads on every event: current becomes data, meta.object becomes meta.entity, and the identifiers move. What breaks, and how to accept both during the transition.

Open fix →
Reliability•6 min

Salesforce API limits monitoring

One REST resource returns every allocation with its max and remaining. Which line actually governs your workload, what it costs to read, and how to alert before a backfill takes the org's integrations down.

Open fix →
Illustrated troubleshooting diagram for Salesforce Bulk API vs REST API: how error handling differs.
Reliability•6 min

Salesforce Bulk vs REST errors

REST tells you immediately and per request; Bulk 2.0 tells you afterwards, per row, in a results file you have to fetch. The two failure models, and the retry logic each one needs.

Open fix →
Illustrated troubleshooting diagram for How to set up a Salesforce Connected App for API access.
Authentication•6 min

Salesforce Connected App setup

External Client App or legacy Connected App, the PKCE and Require Secret combinations that differ between them, the scopes an integration actually needs, and the propagation delay that makes a correct setup look broken.

Open fix →
Illustrated troubleshooting diagram for Salesforce "missing code_challenge parameter": when PKCE is required.
Authentication•6 min

Salesforce PKCE code_challenge

The error means the app demands PKCE and the client did not send it. What the three parameters are, how to generate them correctly, and why the mismatch usually comes from mixing up two app types.

Open fix →
Illustrated troubleshooting diagram for Why a valid picklist value still gets rejected: Salesforce Record Type restrictions explained.
Field mapping•6 min

Salesforce record type picklists

A field's describe lists forty values while the record type you are writing to allows eight. Which endpoint answers the question that governs the write, and how to make mapping record-type-aware.

Open fix →
Illustrated troubleshooting diagram for Restricted vs unrestricted picklist in Salesforce: which one your integration needs.
Field mapping•6 min

Salesforce restricted vs unrestricted

One rejects unknown values loudly; the other accepts them silently and pollutes the value set. The describe flag that tells them apart, and why the loud one is what an integration should want.

Open fix →
Illustrated troubleshooting diagram for Why Salesforce OAuth breaks after a sandbox refresh.
Authentication•6 min

Salesforce OAuth after sandbox refresh

A refresh replaces the org. Refresh tokens, the app's Consumer Key, the integration user and often the My Domain host are all new — so the credential fails for four independent reasons at once.

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
105
hand-researched troubleshooting guides

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

Open the guide library →