Connection & OAuth Issues
This page covers common issues with connecting HubSpot portals to JetStack AI and managing OAuth authentication. Each entry follows a Symptom / Cause / Solution format.
OAuth Flow Issues
Section titled “OAuth Flow Issues”OAuth Flow Fails
Section titled “OAuth Flow Fails”Symptom: Clicking “Connect Portal” opens the HubSpot OAuth screen, but the flow does not complete. You may see a blank page, an error message, or get redirected back to JetStack AI without a successful connection.
Cause: OAuth flow failures can result from:
- Browser pop-up blocker preventing the OAuth window from opening
- Ad blocker or privacy extension intercepting the OAuth redirect
- Browser cookies disabled or restricted for third-party domains
- HubSpot is experiencing downtime on their OAuth service
- Your JetStack AI session expired during the OAuth flow
- The OAuth redirect URL was blocked by a corporate firewall or proxy
Solution:
- Disable pop-up blockers for
app.hubspot.comandjetstack.ai - Disable ad blockers and privacy extensions temporarily during the connection
- Ensure third-party cookies are allowed, or add exceptions for
hubspot.comandjetstack.ai - Try the connection in an incognito/private browser window
- Log out of JetStack AI and log back in, then retry the connection
- If you are behind a corporate firewall, ensure
app.hubspot.com,api.hubspot.com, andapi.jetstack.aiare allowlisted - Check HubSpot’s status page for any ongoing service disruptions
OAuth Window Closes Immediately
Section titled “OAuth Window Closes Immediately”Symptom: The HubSpot OAuth authorization window opens briefly and then closes without showing the permission approval screen.
Cause: This typically happens when:
- You are already signed into HubSpot with an account that does not have Super Admin access to the target portal
- Multiple HubSpot sessions are conflicting in the browser
- The OAuth state parameter expired (the connection was initiated too long ago)
Solution:
- Sign out of all HubSpot accounts in your browser
- Sign into the specific HubSpot portal you want to connect using a Super Admin account
- Retry the connection from JetStack AI immediately after signing in
- If you manage multiple HubSpot accounts, use separate browser profiles to avoid session conflicts
Insufficient Scopes
Section titled “Insufficient Scopes”Symptom: The portal connects successfully, but certain operations fail with “Insufficient scopes” or “Missing required scope.”
Cause: During the OAuth flow, HubSpot shows a list of permissions (scopes) that the app is requesting. If certain scopes are declined or if HubSpot’s API requires a scope that was not originally requested, operations that depend on those scopes will fail. This can also happen when:
- JetStack AI added new features requiring additional scopes after the initial connection
- A HubSpot admin restricted the app’s permissions after connection
- The portal was connected with an audit-only connection type but is being used for implementations
Solution:
- Navigate to Account > Portals in the JetStack AI dashboard
- Click the affected portal and check its connection type and status
- Click “Reconnect” to re-initiate the OAuth flow with the latest required scopes
- During the OAuth flow, ensure you approve all requested permissions
- If you only need audit capabilities, an audit connection type is sufficient. For implementations, use the implementation or combined connection type.
- See OAuth Connection Flow for details on what each scope enables
Scope Approval Not Shown
Section titled “Scope Approval Not Shown”Symptom: The OAuth flow completes without showing a scope approval screen, but the connection has limited permissions.
Cause: HubSpot may auto-approve scopes if the app was previously connected and scopes have not changed. However, if the previously approved scopes were a subset of what is now required, the auto-approval may skip the new scopes.
Solution:
- Go to the HubSpot portal’s Settings > Integrations > Connected Apps
- Find the JetStack AI app and disconnect it from within HubSpot
- Return to JetStack AI and reconnect the portal — this forces a fresh scope approval
- Approve all requested scopes in the authorization screen
Token and Session Issues
Section titled “Token and Session Issues”Token Expired
Section titled “Token Expired”Symptom: Operations that previously worked now fail with “Token expired” or “Invalid refresh token.”
Cause: HubSpot OAuth tokens expire and are refreshed automatically using a refresh token. Token expiration issues occur when:
- The refresh token itself has expired (HubSpot refresh tokens expire after 6 months of non-use)
- A HubSpot admin revoked the app’s access from the portal’s Connected Apps settings
- The app’s client credentials were rotated (JetStack AI update — rare)
- Too many refresh token rotations occurred in a short period
Solution:
- Navigate to Account > Portals in the JetStack AI dashboard
- Check the connection status for the affected portal
- If the status shows “Expired” or “Disconnected,” click “Reconnect”
- Complete the OAuth flow to obtain a fresh set of tokens
- Existing imported assets are not affected by a reconnection — only future operations require valid tokens
Reconnection Issues
Section titled “Reconnection Issues”Symptom: Attempting to reconnect a portal fails or the portal shows a stale connection status.
Cause: Reconnection issues can occur when:
- The previous connection was not fully cleaned up
- A different HubSpot user (without Super Admin access) is signed in during reconnection
- The portal ID changed (extremely rare, but possible during HubSpot account merges)
- The browser has cached OAuth state from a previous connection attempt
Solution:
- Clear your browser cache and cookies for
hubspot.comandjetstack.ai - Sign into the correct HubSpot account with Super Admin access
- In JetStack AI, try removing the portal connection entirely, then adding it fresh
- If removal fails, contact support to reset the portal connection on the backend
- Use a private/incognito window to avoid cached state issues
Portal Management Issues
Section titled “Portal Management Issues”Portal Already Connected
Section titled “Portal Already Connected”Symptom: When trying to connect a portal, JetStack AI shows “Portal already connected” or “This portal is already linked to your workspace.”
Cause: Each HubSpot portal can only be connected once per JetStack AI workspace. This error appears when:
- The portal was previously connected and the connection still exists (even if expired)
- Another team member in your workspace already connected this portal
- The portal was connected under a different connection type than what you need
Solution:
- Check Account > Portals to see if the portal is already listed
- If it is listed with an expired status, reconnect it rather than adding a new connection
- If it is connected by another team member, coordinate with them — the connection is shared across the workspace
- If you need a different connection type (e.g., you connected for audits only but now need implementations), update the connection type in the portal settings or reconnect with the desired type
Multi-Portal Management
Section titled “Multi-Portal Management”Symptom: Managing multiple connected portals is confusing, or operations are running against the wrong portal.
Cause: When you have many connected portals, it is easy to select the wrong source or destination portal for operations.
Solution:
- Use clear, descriptive names for your portal connections (JetStack AI shows the HubSpot portal name and ID)
- Always verify the portal name and ID before starting an import, deployment, or audit
- In the deployment wizard, double-check both the source (Asset Library) and destination portal
- Use the portal filter in the Activity Log to review operations for a specific portal
- Consider organizing portals by client or project if your workspace has many connections
Wrong Portal Connected
Section titled “Wrong Portal Connected”Symptom: You connected a portal but it is the wrong HubSpot account (wrong portal ID or name).
Cause: If you are signed into multiple HubSpot accounts, the OAuth flow may connect the currently active account rather than the intended one.
Solution:
- Remove the incorrect portal connection from Account > Portals
- Sign out of all HubSpot accounts in your browser
- Sign into the correct HubSpot portal you want to connect
- Return to JetStack AI and add a new portal connection
- Verify the portal name and ID shown in the OAuth approval screen before approving
Still Stuck?
Section titled “Still Stuck?”If none of the above solutions resolve your connection issue:
- Note the portal ID (visible in the HubSpot URL:
app.hubspot.com/[section]/[portal-id]/) - Note the exact error message and when it occurs in the flow
- Try the connection from a different browser or device to rule out local issues
- Contact support at team@jetstack.ai with the portal ID, error message, and steps you have tried