Skip to Content

Integrations in the Client Portal

The Integrations section lets clients view which integrations are connected and, with the right permissions, connect or disconnect integrations on their own.

Required Permissions

PermissionCapability
view_integrationsSee which integrations are connected and their status
manage_integrationsConnect, disconnect, and configure integrations

Without view_integrations, the Integrations section does not appear in the portal sidebar.

Available Integrations

The integrations visible to clients depend on your agency tier and which integrations you have enabled:

IntegrationDescriptionAgency Tier
GoHighLevel (GHL)CRM sync, contact management, trigger calls from GHLStarter+
HubSpotCRM sync, contact management, deal updatesGrowth+
Google CalendarBook appointments during callsStarter+
CalendlySchedule meetings via Calendly linksStarter+
SlackReceive call notifications in Slack channelsStarter+
Client portal integrations page showing available and connected integrations

View-Only Mode

With view_integrations only, clients see each integration card showing:

  • Integration name and logo
  • Connection status — Connected or not connected
  • Connected account — The account or workspace name, if connected
  • Last sync time — When data was last synchronized

Clients cannot make changes in this mode. If they need an integration connected, they should contact your agency.

Managing Integrations

With manage_integrations permission, clients can:

Connect an Integration

  1. Find the desired integration card
  2. Click Connect
  3. Complete the OAuth authorization flow (redirects to the provider)
  4. Return to the portal with the integration active

Disconnect an Integration

  1. Click the connected integration card
  2. Click Disconnect
  3. Confirm the disconnection
⚠️

Disconnecting an integration stops all data sync and disables any workflows that depend on it. Workflows using the disconnected integration will fail silently until it is reconnected.

Configure Integration Settings

Some integrations have additional configuration options. For example:

  • GHL — Select which pipeline and stage to sync with
  • HubSpot — Choose which contact properties to map
  • Google Calendar — Select which calendar to use for bookings
  • Slack — Pick the channel for notifications
Integration configuration settings in the client portal

Scoping and Isolation

Each client’s integrations are independent:

  • Client A connecting their HubSpot account does not affect Client B
  • Integration credentials are stored per client, not shared across the agency
  • Disconnecting an integration for one client has no impact on other clients

Agency-level integrations (configured in the agency dashboard) are separate from client-level integrations. If your agency connects GHL at the agency level, clients can still connect their own GHL accounts.

Integration Status Indicators

StatusMeaning
ConnectedIntegration is active and syncing
Not ConnectedIntegration has not been set up
ErrorConnection is broken — re-authentication may be needed
SyncingData sync is currently in progress

If an integration shows an Error status, the client should disconnect and reconnect it. If the error persists, they should contact your agency for help.

💡

Proactively check integration health in your agency dashboard. If a client’s OAuth token expires (common with GHL and HubSpot), reach out before they notice issues.

Best Practices

  • Start with view-only — Let clients see what is connected before giving them control.
  • Document integration setup — Provide clients with simple instructions for connecting their accounts.
  • Monitor connection health — OAuth tokens can expire. Check integration status regularly in your agency dashboard.
  • Limit integrations by need — Only enable integrations a client actually needs to reduce complexity.
Last updated on