Connect your AI assistant
Let Claude or ChatGPT read this group’s data — paste one URL, approve the connection, pick the organization. Read-only.
Integrations · a play in 2 steps.
The steps
- Review who is asking and where the sign-in code would go. — connectorAuthorization
- Approve (minting a read-only key for ONE organization) or deny — your browser carries the answer back. — approveConnectorAuthorization
The calls
Every operation this use case runs, in the order it first appears, with the request and the response its reference page shows.
connectorAuthorization
connectorAuthorization — query · Review an AI-connector sign-in request (Claude, ChatGPT, …) — who is asking, where the sign-in code would be sent, and which of your organizations it could act in.
Example request
query ExampleConnectorAuthorization($responseType: String!, $clientId: String!, $redirectUri: String!, $codeChallenge: String!, $codeChallengeMethod: String!, $state: String) {
connectorAuthorization(responseType: $responseType, clientId: $clientId, redirectUri: $redirectUri, codeChallenge: $codeChallenge, codeChallengeMethod: $codeChallengeMethod, state: $state) {
clientId
clientName
clientSource
redirectUri
redirectHost
loopback
scope
offlineAccess
resource
}
}
Variables:
{
"responseType": "<response type>",
"clientId": "<client id>",
"redirectUri": "<redirect uri>",
"codeChallenge": "<code challenge>",
"codeChallengeMethod": "<code challenge method>",
"state": "<state>"
}
Example response
{
"data": {
"connectorAuthorization": {
"clientId": "<client id>",
"clientName": "Blue jeans",
"clientSource": "<client source>",
"redirectUri": "<redirect uri>",
"redirectHost": "<redirect host>",
"loopback": true,
"scope": "<scope>",
"offlineAccess": true,
"resource": "<resource>"
}
},
"extensions": {
"at": {
"callId": "01EXAMPLE-CALL-ID",
"version": {
"requested": null,
"serviced": {
"name": "genesis",
"number": 0
}
}
}
}
}
approveConnectorAuthorization
approveConnectorAuthorization — mutation · Approve or deny an AI-connector sign-in — approving mints a read-only integration key for ONE organization and sends the connector its sign-in code.
Example request
mutation ExampleApproveConnectorAuthorization($decision: String!, $orgId: ID, $responseType: String!, $clientId: String!, $redirectUri: String!, $codeChallenge: String!, $codeChallengeMethod: String!) {
approveConnectorAuthorization(decision: $decision, orgId: $orgId, responseType: $responseType, clientId: $clientId, redirectUri: $redirectUri, codeChallenge: $codeChallenge, codeChallengeMethod: $codeChallengeMethod) {
redirectTo
}
}
Variables:
{
"decision": "<decision>",
"orgId": "01900000-0000-7000-8000-b0cf4f3c0000",
"responseType": "<response type>",
"clientId": "<client id>",
"redirectUri": "<redirect uri>",
"codeChallenge": "<code challenge>",
"codeChallengeMethod": "<code challenge method>"
}
Send it with the envelope naming the version: "extensions": {"at": {"version": {"name":"genesis","number":0}}}.
Example response
{
"data": {
"approveConnectorAuthorization": {
"redirectTo": "<redirect to>"
}
},
"extensions": {
"at": {
"callId": "01EXAMPLE-CALL-ID",
"version": {
"requested": {
"name": "genesis",
"number": 0
},
"serviced": {
"name": "genesis",
"number": 0
}
}
}
}
}