Private OAuth app using a 2025.2 developer project (with a CRM extension card)

I’m building a private OAuth app using a 2025.2 developer project (with a CRM extension card). The app and card both build and deploy successfully. I’ve set up OAuth with:
1. auth.type = “oauth”
2. A single HTTPS redirect URL
3. A small, working callback endpoint on my own backend (it returns 200 and a simple HTML page)

When I visit the app’s OAuth authorize URL for my test portal:
I see the usual consent screen showing the app name and requested scopes. I click Connect app / approve the scopes. I’m redirected to my backend callback URL, which loads as expected (no redirect errors).

However, after this:
The app does not appear in Settings → Connected Apps for that portal.
In the app’s overview in the developer project, the Installed count remains 0. The associated CRM card from the project does not show up in the card library / record customization options. So the OAuth flow seems to complete visually, but HubSpot doesn’t seem to register the app as “installed” in the portal.

Questions:

a. For a private OAuth app created via a 2025.2 developer project:
What conditions must be met for HubSpot to actually create the installed‑app record and show it under Connected Apps?
b. Are there known edge cases where the consent screen + redirect work, but the install is not recorded?
c. Is there anything specific to developer projects + OAuth that I should be aware of to get the app to appear as installed?

I’m specifically looking for guidance on what would prevent the install record from being created, given that: The authorize URL shows a consent screen, The user approves, and The redirect URL is valid and returns 200.

Thanks for the help.

Hey @Sna919, thanks for your post on the HubSpot Community!
I’d love to put you in touch with our Top Experts: Hi @evaldas, @Anton and @FrancoQ do you have any insights to share with @Sna919, please?
In the meanwhile, here are some resources that you might want to check:
- Working with OAuth
- Manage OAuth access tokens
- Manage apps in HubSpot
Have a wonderful day!
Bérangère

Thank you @BérangèreL for the pointers and the docs link — that helped clarify the OAuth flow.

I’ve now updated my implementation so that, after the user approves the app on the consent screen, my backend callback exchanges the code for an access token and refresh token via hubapi. After doing this, the app now appears under Connected Apps and the “Installed” count is correctly set for my test portal.

I have one follow-up question:

For a 2025.2 developer project that includes a CRM card component (with type: “card”, a crm.record.sidebar location, and objectTypes including contacts), are there any additional steps required for that card to appear in the Contacts record customization UI (card library / sidebar layout) once the app is installed?

In my case, the app is installed and the project builds/deploys successfully, but the card from this project does not show up in the list of available cards when I customize the Contacts record layout.

Any guidance on what might prevent a card component from appearing in the record customization UI for a 2025.2 project would be appreciated.

Hi @Sna919 and thank you so much for getting back to me!

I wanted to share a few suggestions that might help with your CRM card not appearing in the Contacts record customization UI.
Here are some key things to check:

- App Installation: It’s great that you’ve already got the app installed!
- Required Scopes: For contacts, please make sure your app includes the crm.objects.contacts.read scope.
- Card Configuration: Double-check that your *-hsmeta.json file contains:
“type”: “card”
“location”: “crm.record.sidebar” (or crm.record.tab)
“objectTypes”: [“contacts”] (or [“CONTACT”])
To add the card to the UI, try these steps:

- Go to CRM > Contacts and open a contact record.
- Click Customize at the top of the middle column. Select Default view.
- Open the Card library tab on the right sidebar.
- Use the Card types dropdown and select App to filter your app cards.
- Click Add card under your app card.
And here are some resources:
- Create an app card
- App cards reference
If your card still doesn’t appear using the “App” filter, please confirm that the required scope is set up properly and your project deployed without any errors.

I hope you find this helpful! Let me know if you have any other questions or need further help.
Have a lovely day!
Bérangère
This post was created with the assistance of AI tools