> ## Documentation Index
> Fetch the complete documentation index at: https://docs.voltai.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> How Voltai connectors work, what you set up on your side, and what to send back to us.

Connectors let Voltai answer questions using the knowledge already in your tools — Slack threads, Jira tickets, Confluence pages, SharePoint files, Salesforce records, Assembla tickets.

Each connector is an **OAuth application that you own**, created inside your own tenant of the source product. You stay in control: you decide which product is connected, which scopes it grants, and you can revoke it at any time.

## How it works, in one minute

<Steps>
  <Step title="You create an OAuth app">
    In Slack, Jira, SharePoint, and so on. It lives in your tenant, under your admin control.
  </Step>

  <Step title="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.
  </Step>

  <Step title="Each of your users clicks &#x22;Connect&#x22; once">
    They sign in to the source product themselves and approve the read-only scopes. We receive a token scoped to that individual user.
  </Step>

  <Step title="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.
  </Step>
</Steps>

We never ask for or receive a user password. Read [Security and architecture](/connectors/security) for the data-flow diagrams, what is stored, and what is not.

## What you'll do for every connector

1. Create an **OAuth application** (sometimes called "app", "connected app", "integration", or "client") inside the source product.
2. Set its **Redirect URI / Callback URL** to ours — see below.
3. Grant it the **scopes** listed on that connector's page.
4. 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)

```
https://<your-voltai-host>/connectors/oauth/callback/
```

Replace `<your-voltai-host>` with the hostname we gave you. For customers on our multi-tenant production environment this is:

```
https://api-prod.voltai.ai/connectors/oauth/callback/
```

If you are not sure which host applies to you, ask your Voltai contact.

<Warning>
  Use this value **exactly** — including the trailing slash. Providers match the redirect URI character for character, and `http` vs `https`, a missing slash, or the wrong hostname will make the connection fail.
</Warning>

## What to send back to us

For each connector you set up, send your Voltai contact a short message like:

```
Connector: <name>
client_id: ...
client_secret: ...
<any extra fields listed on that connector's page>
```

<Warning>
  Send these over a secure channel — a 1Password share, encrypted email, or whatever your security team prefers. Not plain Slack or email.
</Warning>

## Pick your connector

<CardGroup cols={2}>
  <Card title="Slack" icon="slack" href="/connectors/slack">
    Search messages and channel history with a user token.
  </Card>

  <Card title="Jira" icon="jira" href="/connectors/jira">
    Read issues and users from Atlassian Cloud.
  </Card>

  <Card title="Jira Data Center" icon="server" href="/connectors/jira-data-center">
    Read issues from a self-hosted Jira Data Center instance.
  </Card>

  <Card title="Confluence" icon="confluence" href="/connectors/confluence">
    Search spaces and page content in Atlassian Cloud.
  </Card>

  <Card title="SharePoint" icon="microsoft" href="/connectors/sharepoint">
    Read sites and files via Microsoft Graph.
  </Card>

  <Card title="Salesforce" icon="salesforce" href="/connectors/salesforce">
    Query records through an External Client App.
  </Card>

  <Card title="Assembla" icon="ticket" href="/connectors/assembla">
    Read tickets from an Assembla space.
  </Card>
</CardGroup>

## Common pitfalls

<AccordionGroup>
  <Accordion title="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.
  </Accordion>

  <Accordion title="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.
  </Accordion>

  <Accordion title="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.
  </Accordion>

  <Accordion title="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.
  </Accordion>
</AccordionGroup>
