How can I request granular engagement scopes in HubSpot?

Our private OAuth app cannot deploy with four granular engagement scopes. The build fails with: “The scope crm.objects.calls.read isn’t available to this app. If your app needs it, contact HubSpot support to request access.” The same happens for crm.objects.meetings.read, crm.objects.notes.read and crm.objects.tasks.read.

App ID: 34299525

Developer account: [ID]

Distribution: private, 2025.2 projects framework

What the app does and why it needs them:

Our product reads the conversations and account activity already in a customer’s connected tools and surfaces which accounts are at risk and why. Engagement history is central to that — a note about a difficult call, a meeting cancelled twice, a task open for six weeks are the signals that separate a healthy account from one about to churn. We currently read conversations, contacts, companies, tickets, deals and sales emails, so the account picture has visible gaps without these four.

How the data is used:

These are read-only. We are not requesting the matching .write scopes and never create, edit or delete these records. Engagement records are read on a scheduled sync, normalized into an activity timeline, and surfaced back to the customer’s own team inside our application. Data is scoped per customer, never pooled across customers, and never sold or shared with third parties. Customers authorize the connection themselves via OAuth and can revoke it at any time.

What is the process for requesting these scopes?

Moderator note: For information, the HubSpot Community is a public space. I have therefore edited your content for security & confidential reasons.

Hi @TBaker, Quick background first, because the error message is a bit misleading. Those four scopes (calls, meetings, notes, tasks .read) exist, but they’re still gated ,HubSpot hasn’t opened them up for self-serve in the scope picker yet, so the build fails for every app that asks for them, not just yours. Nothing is wrong with your config.

Two things I’d do:

  1. Don’t block on the request. The v3 engagement endpoints (/crm/v3/objects/calls, /meetings, /notes, /tasks) all still work with crm.objects.contacts.read, which you already have. Drop the four scopes from your app config, deploy, and your sync will read engagements today. This is how most of us are doing it right now.
  2. For the proper scopes, raise it with the Support team and paste exactly what you wrote above: app ID, developer account ID, the four scope names, read-only, and the use case. That write-up is already better than what most people send, so it should get through. Expect roughly a week, and they typically enable it per app ID, so mention if you have a separate test app.

One heads-up since you’re on 2025.2: 2026.09 is out now, and for private distribution HubSpot is steering towards Service Keys instead of private apps. Worth checking before you invest more in the private app route so the scope situation is the same either way, but you don’t want to migrate twice.

Hope that helps.

Please note - this reply has been edited by a Community Manager to reflect more accurate information.

Hey @Alex_Boissonneault - thank you for the quick response and the help, much appreciated!

Hi @TBaker and welcome, it’s a pleasure to have you on the HubSpot Community!

And thank you @Alex_Boissonneault for your help!

For now, I’d recommend:

  1. Remove the four granular scopes from your project config and redeploy. That should allow the build to pass.

  2. Use crm.objects.contacts.read instead. Currently, this provides read access to engagement objects such as calls, meetings, notes, and tasks through the CRM Objects API, so you should still be able to sync engagement history.

Here is the documentation for it: Access and manage Sensitive Data - HubSpot docs

If you remove those scopes and are still seeing the validation error, could you share the error you’re getting? It would also be worth checking your manifest for any legacy scope references that might still be pulling them in.

Looking forward to hearing from you,

Thanks and I hope you’ll have a beautiful day!

Bérangère

This post was created with the assistance of AI tools

Hey Alex, hope you’re doing well! I’m on free tier version of HubSpot and can’t find an email option. I have a similar request hoping to request an additional scope for my Oauth app, do you know where I can reach out to the support team? I cannot find a button on my account.

Hi @sarahyu and all :waving_hand:

Thanks for reaching out to the HubSpot Community!

For information, the Support option is available on paid subscriptions, here is more information about it: Get help with HubSpot .

Regarding your question about additional scope for your Oauth app, I’d recommend to create a new topic for this, sharing which scope you need, and for which endpoint or task (e.g., reading contacts, managing deals) you need it.

That’ll help us point you to the right direction and help you.

Thanks so much and have a great day!

Bérangère