Skip to main content

Overview

Integrations let each user connect their own external accounts to Experio. Connected services are available in Deep Agent chat via the MCP retrieval path (mcp_action). As an administrator you configure OAuth credentials once in System Settings. Each user completes OAuth on the Integrations page. Organization-wide connectors (e.g. HubSpot) are configured under Admin > MCP > Organization integrations, not on this page.

Prerequisites

  • Admin access to Admin > Settings > System Settings
  • Provider admin access (Google Cloud Console and/or Slack API)
  • Your Experio backend URL (BACKEND_URL), e.g. https://your-domain or http://localhost:8000
OAuth redirect URLs always follow:
Replace {provider} with google or slack. The URL must match exactly (protocol, host, port).

Google Workspace

1. Create OAuth credentials

1

Open Google Cloud Console

2

Create OAuth client

Create CredentialsOAuth 2.0 Client IDWeb application.Authorized redirect URIs:
Copy the Client ID and Client Secret.
Configure the OAuth consent screen first. Add the scopes from step 2 before users connect.

2. Enable Google APIs

Enable each API in APIs & Services > Library:

3. Experio settings

4. Test

User: IntegrationsConnect on Google Workspace → chat: “List my recent emails”.

Slack

Experio uses Slack user OAuth (token type xoxp). Add scopes under User Token Scopes, not bot scopes. Posting messages still requires per-action approval in chat.

1. Create Slack app

1

Create app

At api.slack.com/apps, choose Create New AppFrom scratch. Name the app (e.g. Experio) and select a development workspace.
2

Redirect URLs

Open OAuth & PermissionsRedirect URLs. Add:
Save URLs.
3

User token scopes

Under ScopesUser Token Scopes, add:Omit chat:write for read-only search and history.
4

Copy credentials

SettingsBasic InformationApp Credentials. Copy Client ID and Client Secret.

2. Experio settings

On new deployments, run npm run config:seed so these keys appear in System Settings. Ensure the Slack MCP server is enabled in admin (seeded by migration).

3. Test

User: IntegrationsConnect on Slack → chat: “Search Slack for messages about launch”.

How it works

  1. User starts OAuth from Integrations; Experio stores encrypted tokens on UserMCPConnection.
  2. The Deep Agent router sends external-service questions to mcp_action → MCP retrieval.
  3. MCP tools run with that user’s credentials (Google session home directory or Slack xoxp token).
  4. Write tools (e.g. Slack post) trigger an in-chat approval step before execution.
If the user has not connected a service, the agent directs them to Integrations.

Troubleshooting

Google

Slack