EveryAppEveryApp
Providers

HubSpot

CRM and marketing: contacts, companies, deals, tickets and more in one HubSpot account.

CRM and marketing: contacts, companies, deals, tickets and more in one HubSpot account.

API key

  1. Open developers.hubspot.com and create an API key with only the access your apps need.
  2. Copy it. It may be shown only once.

What to create: An access token from a HubSpot legacy private app (Development > Legacy apps > Create legacy app > Private), scoped to what the app needs.

Add it to your Gateway. It asks for the key:

everyapp provider add hubspot

Use it in an app

In the app's everyapp.config.ts:

capabilities: {
  hubspot: { access: "read", why: "What the app does with it." },
},

The app calls HubSpot's API with integrationFetch(), and the Gateway adds the key. Use "write" if the app changes things. More in API providers.

Check it worked: everyapp provider show hubspot shows the key as set.

Rate limits: 250000 a day. Private apps on Free and Starter: 100 per 10 seconds per app and 250,000 a day per account; Pro 190 and 625,000; Enterprise 190 and 1,000,000.

Connect accounts

Each person connects their own HubSpot account in the Gateway, once, and every app that asks uses it. Apps never see the tokens. How connecting works

The redirect URI to register, with your Gateway's address (like apps.example.com):

https://<your gateway>/connect/hubspot-oauth/callback

The app's scopes in HubSpot's developer console must match the sets apps declare, or HubSpot refuses the authorize URL.

  1. Open developers.hubspot.com and create an OAuth app (also called a client or an integration).
  2. Add the redirect URI above.
  3. Copy the client ID and client secret. The secret is often shown only once.

Add it to your Gateway. It asks for the client ID and secret:

everyapp provider add hubspot-oauth

Or add it in Manage workspace → Providers.

Use it in an app

capabilities: {
  "hubspot-oauth": { access: "read", scopes: ["contacts.read"], why: "What the app does with it." },
},

Apps ask for these scope sets:

SetAllowsProvider scopes
contacts.readContacts (read)crm.objects.contacts.read
contacts.writeContacts (read and write)crm.objects.contacts.read, crm.objects.contacts.write
companies.readCompanies (read)crm.objects.companies.read
deals.readDeals (read)crm.objects.deals.read

Check it worked: everyapp provider show hubspot-oauth shows the client as set. Then open the account menu → Connected accounts → Connect HubSpot.

Something wrong or missing? Open an issue.

On this page