How it works, in one minute
1
You create an OAuth app
In Slack, Jira, SharePoint, and so on. It lives in your tenant, under your admin control.
2
You send us the client ID and secret
We store them as your organization’s connector configuration. This is the only setup work on your side.
3
Each of your users clicks "Connect" once
They sign in to the source product themselves and approve the read-only scopes. We receive a token scoped to that individual user.
4
Voltai reads on demand
When a user asks a question, we call the source product’s API live, using that user’s own token, and cite what we find.
What you’ll do for every connector
- Create an OAuth application (sometimes called “app”, “connected app”, “integration”, or “client”) inside the source product.
- Set its Redirect URI / Callback URL to ours — see below.
- Grant it the scopes listed on that connector’s page.
- Send us the resulting client_id, client_secret, and any connector-specific values (tenant ID, space ID, login URL).
Redirect URI (used by every connector)
<your-voltai-host> with the hostname we gave you. For customers on our multi-tenant production environment this is:
What to send back to us
For each connector you set up, send your Voltai contact a short message like:Pick your connector
Slack
Search messages and channel history with a user token.
Jira
Read issues and users from Atlassian Cloud.
Jira Data Center
Read issues from a self-hosted Jira Data Center instance.
Confluence
Search spaces and page content in Atlassian Cloud.
SharePoint
Read sites and files via Microsoft Graph.
Salesforce
Query records through an External Client App.
Assembla
Read tickets from an Assembla space.
Common pitfalls
Wrong redirect URI
Wrong redirect URI
Even one character off —
http vs https, a missing trailing slash, the wrong hostname — will cause the OAuth provider to refuse the callback. Copy the URI from this page exactly.Stale credentials right after creating the app
Stale credentials right after creating the app
Most providers cache app metadata for a few minutes after creation. Salesforce is the worst offender and can take ~10 minutes. If your first connect attempt fails with “invalid client” or
invalid_client_id, wait 5–10 minutes and try again.Scopes changed after launch
Scopes changed after launch
If you add or remove scopes later, each end-user must disconnect and reconnect before the new scopes take effect. Existing tokens keep the scopes they were granted.
Secret expiry
Secret expiry
Microsoft Entra ID client secrets always have an expiry date; some Atlassian and Salesforce setups do too. Track them in your team’s credential vault and send us a new
client_secret before the old one expires, otherwise every user’s connection will start failing at once.