Hubspot trigger refers to non-existent scope

Describe the problem/error/question

In attempting to build the workflow, executing the Hubspot Trigger node results in the error below.

  1. There seems to be no HubSpot scope called “errors”. Is this an API response that has not been properly interpolated? I can imagine there could be an errors variable in the response to that API call.
  2. There seems to be no logs indicating the API call made or its response in either the console output or the event log. I’ve increased the log level to debug. Should it be somewhere else?

What is the error message (if any)?

" Problem running workflow Bad request - please check your parameters HubSpot Trigger: To subscribe to these events your app must require certain scopes defined in “errors”. Update your app’s auth configuration to fix this."

2025-07-15T04:43:10.768Z | error | Bad request - please check your parameters {"file":"error-reporter.js","function":"defaultReport"}

Please share your workflow

Information on your n8n setup

  • n8n version: 1.102.3
  • Database (default: SQLite): default
  • n8n EXECUTIONS_PROCESS setting (default: own, main): default
  • Running n8n via (Docker, npm, n8n cloud, desktop app): docker
  • Operating system: official docker image
  • Add the missing scopes to your HubSpot app
  • Go to your HubSpot Developer Account → your app → AuthScopes.
  • Under Webhooks add “webhooks‐read” and “webhooks‐write”.
  • For each event type you subscribe to (e.g. contact.create, deal.propertyChange, etc.) make sure you’ve added the corresponding CRM scopes (contacts, deals, tickets, etc.).
  • Re-authorize your n8n HubSpot credential
  • In n8n go to CredentialsHubSpot OAuth2Reconnect / Reauthorize.
  • This pulls in the updated scopes.
  • Redeploy the HubSpot Trigger node
  • Open the workflow, click Reload on the HubSpot Trigger node.
  • It will now successfully subscribe to your events without the “errors” scope complaint.

Thanks, but that’s not really the question. How do I found out which scopes are causing the problem other than guessing/inferring? I feel like there is a layer of debugging missing and I’m trying to work out whether to request an improvement or whether as a new user this information is available somewhere I don’t know about yet. How do I see the HubSpot API response and the call that was made?

  1. Enable Debug-Level HTTP Logging
  • In your n8n container’s environment, add:
N8N_LOG_LEVEL=debug
  • Restart n8n.
  • Now, every outgoing HTTP request (including to HubSpot) and its full response will be logged to your console. Look for lines like:
[HTTP Request] POST https://api.hubapi.com/webhooks/v1/…
[HTTP Response] 403 { "status": "error", "message": "…missing scope errors…" }
```This will show you the exact JSON payload and error fields that HubSpot returned.
2. **Inspect the Node Execution in the UI**
  * Go to **Executions** in the left sidebar.
  * Find the run where your HubSpot Trigger node errored, and click it.
  * Click on the **HubSpot Trigger** node in the diagram.
  * In the right-hand “Node” panel, expand the **“HTTP details”** section (or “Show full response” toggle).
  * You’ll see the **Request URL**, **Headers**, **Body**, and the **Response status** + **Body**.
3. **Use a Proxy or RequestBin (Optional)**
  * If you want an external view, set your container to route HubSpot traffic via a simple proxy (e.g. [RequestBin](https://requestbin.com)) by changing the base URL in the credential temporarily.
  * Then trigger the node and inspect exactly what HubSpot sent back.

Once you can see HubSpot’s raw error JSON (it’ll usually list the exact scopes it wanted), you can add only those to your app’s auth settings instead of guessing “errors.”