Skip to main content

Documentation Index

Fetch the complete documentation index at: https://authsome.agentr.dev/docs/llms.txt

Use this file to discover all available pages before exploring further.

HubSpot is a bundled OAuth2 provider in authsome. HubSpot CRM objects: contacts, companies, deals, owners.

At a glance

Provider namehubspot
Display nameHubSpot
Auth typeOAuth2
Default flowpkce, PKCE browser flow
PKCE supportedNo
Device code supportedNo
DCR supportedNo
Default scopescrm.objects.contacts.read, crm.objects.contacts.write, crm.objects.companies.read, crm.objects.companies.write, crm.objects.deals.read, crm.objects.deals.write, crm.objects.owners.read
Proxy hostapi.hubapi.com
Env var (access_token)HUBSPOT_ACCESS_TOKEN
Env var (refresh_token)HUBSPOT_REFRESH_TOKEN

Prerequisites

You need to register an OAuth app with HubSpot once. Create a HubSpot app in the developer dashboard. Configure the OAuth callback URL and request the scopes you need. The redirect URI must be:
http://127.0.0.1:7998/auth/callback/oauth
This is the only callback URL authsome’s PKCE flow listens on. Dashboard: https://app.hubspot.com/developer.
HubSpot’s OAuth flow does not support PKCE today. Authsome runs the standard authorization-code flow with client_secret exchange.

Log in

uvx authsome login hubspot
The first time, authsome opens a local form at http://127.0.0.1:7998 to collect your client_id and client_secret. They are encrypted under your profile and reused on every subsequent login. A second browser window then opens to https://app.hubspot.com/oauth/authorize for the authorization step. Verify:
uvx authsome get hubspot --field status
# → connected

Custom scopes

The bundled definition requests crm.objects.contacts.read, crm.objects.contacts.write, crm.objects.companies.read, crm.objects.companies.write, crm.objects.deals.read, crm.objects.deals.write, crm.objects.owners.read. Override at login time:
uvx authsome login hubspot --scopes "<comma-separated>"
The granted scopes are stored on the connection and visible in uvx authsome get hubspot.

Multiple accounts

Pass --connection <name> on login and on every read command to keep two or more accounts on the same provider side by side. See Multiple connections per provider for the full pattern.
uvx authsome login hubspot --connection personal
uvx authsome login hubspot --connection work

Use the token

Run the agent under the proxy. The library tab is for embedding authsome inside a larger Python orchestrator.
uvx authsome run -- python my_agent.py
Under the proxy, authsome sets HUBSPOT_ACCESS_TOKEN=authsome-proxy-managed in the child’s environment and injects the real token into outbound requests to api.hubapi.com. The child process never sees the actual value. Refresh tokens are never exported.

Override the bundled definition

uvx authsome inspect hubspot > ~/.authsome/providers/hubspot.json
# edit scopes, base_url, or anything else
uvx authsome list   # source now shows "custom" for hubspot
User-registered files always win over bundled definitions. See Provider schema.

What’s next

Run agents with the proxy

Inject the access token into outbound requests without exposing it.

Multiple connections per provider

Keep two or more accounts on the same provider side by side.

Provider schema

Every field in a provider definition.

OAuth providers

All bundled OAuth providers.