Help Centerchevron_rightGenaya AIchevron_rightAI assistantschevron_rightCreate a client for an assistant that cannot register itself (Gemini Enterprise, Copilot Studio, Microsoft 365 Copilot, Slack, Salesforce)
hub

Create a client for an assistant that cannot register itself (Gemini Enterprise, Copilot Studio, Microsoft 365 Copilot, Slack, Salesforce)

Genaya AI / AI assistantsschedule5 min readmenu_bookArticle 7 of 8 in AI assistants
open_in_newOpen Genaya AI in Genayaarrow_outward

ChatGPT, Claude, Cursor and most hosts introduce themselves to Genaya automatically when a member connects. A few enterprise and workspace platforms cannot: Gemini Enterprise, Copilot Studio (manual mode), Microsoft 365 Copilot (static registration), Slack (through a Slack app) and Salesforce Agentforce (an External Client App) each ask their administrator for a client id and a client secret issued by the service they connect to. In Genaya an admin issues that pair in a minute, and everything else stays the same: each member still signs in with their own Genaya login on the consent screen, and the connection runs as that member, in one organization, with their permissions.

Before you start

  • Your role has Manage everyone's assistant connections (owners and admins).
  • Other is allowed under Settings > Integrations > Use Genaya from ChatGPT and Claude > Organization > Allowed assistants - a client an admin created still counts as Other on the consent screen.
  • A free client slot: 1 on the free trial, 2 on Individual, 5 on Pro, 20 on Business, unlimited on Enterprise. Revoked clients never count.
  • The redirect address the assistant shows you - the fixed callbacks of the known platforms are in the table below; a wizard that shows one per connection (Copilot Studio, Gemini Enterprise, Salesforce) shows it before it asks for the client.

Create the client

  1. 1
    Open Details

    Open Settings > Integrations > Use Genaya from ChatGPT and Claude, then Details, then the collapsed section Clients for other assistants, and choose Create a client.

  2. 2
    Name it and pick the assistant

    A name your team recognizes (2 to 64 characters, for example "Gemini Enterprise - front desk") and the assistant it is for: Gemini Enterprise, Copilot Studio, Microsoft 365 Copilot, Slack, Salesforce Agentforce or Other app. The name is what members see on the consent screen, followed by "(set up by your organization)".

  3. 3
    Add the redirect addresses

    1 to 8 exact https addresses the assistant sends members back to after they sign in. The known platform callbacks in the table below are accepted as they are; a callback a wizard shows you per connection is typed exactly as shown. A member is only ever sent back to an address on this list.

  4. 4
    Copy the secret - once

    Genaya shows the client id (gnc_...) and the secret (gncs_...) one time. Paste the secret into the assistant's own credential store now; Genaya keeps only a fingerprint and cannot show it again. Lose it and you rotate.

    The client id stays visible; the secret is shown once, at creation.

What each assistant asks for

Client id
The gnc_... id from the client row.
Client secret
The gncs_... value shown once at creation (or at a rotation).
Authorization URL
https://api.genaya.com/oauth/authorize
Token URL
https://api.genaya.com/oauth/token - the client authenticates there with the secret in the Authorization header (client_secret_basic, preferred) or in the form body (client_secret_post).
Scopes
read ai offline_access for questions. Add act when members should be able to prepare changes they confirm, and send for texts and emails confirmed on a Genaya page. Each member still ticks the matching boxes on the consent screen; a scope only narrows.
PKCE
On, method S256. Genaya requires PKCE even when a secret is present.
Server or MCP address
https://api.genaya.com/mcp
Discovery document
https://api.genaya.com/.well-known/oauth-authorization-server - hosts that read it fill the authorization and token URLs for you.

The redirect address per assistant

AssistantRedirect address to register
Microsoft 365 Copilothttps://teams.microsoft.com/api/platform/v1.0/oAuthRedirect
Slackhttps://oauth2.slack.com/external/auth/callback
Copilot StudioThe callback the Model Context Protocol tool wizard shows for the connection (manual mode).
Gemini EnterpriseThe callback the Custom MCP server connection page shows.
Salesforce AgentforceThe callback of the External Client App you registered in Setup.
VS Code (the client fallback when self-registration is off)http://127.0.0.1:33418 and https://vscode.dev/redirect
Cursor (the client fallback)https://www.cursor.com/agents/mcp/oauth/callback and http://localhost:8787/callback

Then, in the assistant

  • Gemini Enterprise: add a Custom MCP server connection with the Genaya address, the client id and the secret; turn PKCE on and save. Members sign in with Genaya the first time they use it.
  • Copilot Studio: in the Model Context Protocol tool choose the manual sign-in and paste the client id, the secret, the authorization URL and the token URL; publish the agent.
  • Microsoft 365 Copilot: in the Agents Toolkit action choose OAuth with static registration and paste the client id and secret; sideload, then publish to your organization catalog.
  • Slack: declare the Genaya address as an MCP server in the app manifest with the mcp:connect scope and store the client id and secret under External MCP Servers; publish or install the app.
  • Salesforce Agentforce: register Genaya in the Agentforce Registry with the Genaya address and an External Client App carrying the client id and secret; allowlist the tools.

The full steps for each host, in the same words as the connect page, are in "How to use Genaya from any MCP client".

Members connect as themselves

A client changes how the assistant introduces itself, not who acts. When a member connects, the consent screen headlines "<your client's name> (set up by your organization)", names the assistant family, and lists only your organization - a client is bound to the organization that created it, and in any other organization the consent answers "This client was created for another organization". The member taps Allow as themselves; the connection runs with their permissions and appears in their list as Other with the client's name. Nothing is shared between members through the client.

Rotate, revoke, last used

Last used
Each client row shows when a member last signed in or refreshed through it, and how many connections ride on it.
Rotate
Issues a new secret, shown once. The old secret stops working with the click, every connection on the client is disconnected and each member is emailed "An admin in your organization disconnected it". Paste the new secret into the assistant; members connect again.
Revoke
Keeps the row for the record, disconnects every connection on the client, refuses the client at the sign-in and token endpoints from then on, and frees its plan slot. It cannot be undone - create a new client instead.
Plan slots
1 on the free trial, 2 on Individual, 5 on Pro, 20 on Business, unlimited on Enterprise. At the cap, Create answers "Disconnect or revoke a client first".
warningThe secret is a password for your organization's door. Paste it only into the assistant's own credential store - Gemini Enterprise's connection, Copilot Studio's connection, the Slack app's External MCP Servers settings, the Salesforce External Client App - never into a chat, a ticket or a document. If it was exposed, rotate it.

Frequently asked

Was this article helpful?