← Back to AirisIntegrations Guide
Get Started
Plan availabilityGoogle DriveLLM Providers (BYOK)Platform API KeysEmbed WidgetSelf-Hosted Connector
On this page
Plan availabilityGoogle DriveLLM Providers (BYOK)Platform API KeysEmbed WidgetSelf-Hosted Connector
All integrations are read-only

Integrations

Airis pulls knowledge from your existing tools — it never writes back. Every integration is a one-way read pipeline: credentials are AES-256 encrypted at rest and have no write scopes.

Plan availability

IntegrationStarter ($0)Individual ($25)Managed ($29)Pro ($49)Enterprise ($199)
Google Drive——
LLM Providers (BYOK)—
Airis Managed LLM————
Airis Assistant
Platform API Keys———
Embed Widget (chatbot)——
Self-Hosted Connector————
BYODB (own Postgres)————
Compare plans →Don't want to manage API keys? The Managed plan ($29/mo) uses Airis's own hosted LLM — no BYOK required. See Managed plan →

Google Drive

Pro · Enterprise
read-onlyDocs · Sheets · PDFs · Slides

Connect your Google Drive to index specific files directly into the Airis knowledge base. You pick which files to index — Airis never reads your entire Drive. OAuth 2.0 with drive.readonly scope; tokens are AES-256 encrypted at rest.

What Airis does NOT do: Create files, edit files, upload to Drive, share files, or modify any Google Drive data. The integration is strictly read-only.

Setup

1

Go to Admin → Google Drive and click Connect Google Drive.

2

Authenticate with Google — you'll be asked to grant drive.readonly access only.

3

After connecting, your Drive files appear in the panel. Click + Add next to any file to index it into Airis.

4

Indexed files show a ✓ In Airis badge. Use ↻ to re-index after the file changes, or ✕ to remove it from the knowledge base.

Supported file types

Google Docs, Sheets, Slides, and PDF files are supported. Binary formats (images, videos, audio, ZIP) are listed but cannot be indexed. Scanned PDFs with no text layer are processed using Gemini Vision OCR if a Gemini model is configured.

File freshness

Airis does not auto-sync Drive files on a schedule — you control which version is in the knowledge base. Use the ↻ Refresh button to re-pull and re-index a file after it has been updated in Drive.

Disconnecting

Clicking Disconnect revokes the OAuth token and removes the connection. Files already indexed into Airis are not deleted automatically — remove them individually from the Drive panel or the Knowledge Base section before disconnecting if you want a clean slate.


LLM Providers (BYOK)

All plans

Every organisation brings their own LLM API key. Credentials are AES-256 encrypted in OrgSetting and never returned via the API after saving. Switch providers from the admin panel — no restart required.

ProviderModelsNotes
Anthropicclaude-opus-4-5 · claude-sonnet-4-6 · claude-haiku-4-5Best for HR, legal, compliance. 200K context.
OpenAIgpt-4o · gpt-4o-mini · gpt-4-turboWidest ecosystem compatibility.
Google Geminigemini-2.0-flash · gemini-1.5-pro · gemini-1.5-flash1M token context.
xAI Grokgrok-3-mini · grok-betaFast inference.
Ollamallama3 · mistral · phi3 · mixtralFully local. Zero API cost. No external traffic.
Azure OpenAIgpt-4o (via deployment name)For organisations on enterprise Azure accounts.

Embedding models

Airis uses a separate embedding model to convert text into vectors for semantic search. The embedding provider must be configured alongside your LLM provider.

ProviderEmbedding modelDimensionsNotes
OpenAItext-embedding-3-large1536Default. Best retrieval quality.
Google Geminitext-embedding-004768Matryoshka; lower storage cost.
Ollamanomic-embed-text · mxbai-embed-large768 / 1024Fully local. Zero API cost.
Azure OpenAItext-embedding-3-large1536Via deployment name.
Anthropic and xAI do not provide embedding models — pair them with OpenAI or Google Gemini for embeddings. The vector dimension must stay consistent after initial setup; changing providers requires a full re-ingestion.

Platform API Keys

Pro · Enterprise

Generate API keys to call Airis programmatically from CI/CD pipelines, internal tools, or scripts. The full key is shown once at creation — Airis stores only the SHA-256 hash.

Scopes

chat

Ask questions, get AI answers

ingest

Push documents programmatically

read

Read sessions, messages, workspaces

admin

Manage users, teams, settings

embed

Server-to-server chatbot session creation (never used in browser)

Example

BASH
curl -X POST https://api.airis.com/api/v1/chat \
  -H "X-API-Key: airs_live_xxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"message": "What is the Redis config?", "workspaceIds": ["ws_infra"]}'
Rate limits (RPM and RPD) and monthly token caps are configurable per key. Limits are enforced via Redis sliding-window counters.

Embed Widget

Pro · Enterprise

Add an AI-powered chat bubble to any website you own. Visitors get instant answers from your organisation's knowledge base — scoped to the team you choose. Your internal data stays private; your Airis API key never reaches the browser.

How it works

TEXT
Visitor browser
  1. loads widget.js  →  GET /embed/widget.js  (served by Airis API)
  2. widget fetches branding  →  GET /embed/config/:chatbotId  (public)
  3. visitor sends message  →  widget calls YOUR backend session endpoint

Your backend  (Express / FastAPI / Spring Boot…)
  4. POST /api/v1/embed/session  (X-API-Key with embed scope)
     ← Airis returns { sessionToken, expiresAt }
  5. your backend returns sessionToken to the browser

Widget (no API key in browser)
  6. POST /embed/chat/stream  Bearer: sessionToken
     ← SSE stream back to visitor
The session token is a signed JWT that expires in 15 minutes and is refreshed automatically by the widget. Your Airis API key is only ever used server-to-server — it is never exposed to visitors.

Step 1 — Create a chatbot

1

Go to Settings → Chatbots → New Chatbot.

2

Choose the Team whose knowledge the chatbot should answer from.

3

Set a bot name, welcome message, fallback message, and your brand colour.

4

Under API Key, select (or create) an API key with the embed scope.

5

Save — you'll see your Chatbot ID (e.g. cfg_xxxxxxxxxx) and the embed snippet.

Step 2 — Add the widget to your site

Paste this snippet into your HTML before </body>:

HTML
<script
  src="https://api.airis.com/embed/widget.js"
  data-chatbot-id="cfg_xxxxxxxxxx"
  data-session-url="https://yoursite.com/api/airis-session"
  defer
></script>

data-session-url — the URL of your own backend endpoint that exchanges your API key for a short-lived session token.

Step 3 — Add the session endpoint to your backend

One endpoint on your server exchanges your API key for a short-lived session token and returns it to the widget. Select your stack:

JS
// Express.js — src/routes/airis-session.js
import express from 'express';

const router = express.Router();

router.post('/api/airis-session', async (req, res) => {
  const response = await fetch('https://api.airis.com/api/v1/embed/session', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'X-API-Key': process.env.AIRIS_API_KEY,   // embed-scoped key
    },
    body: JSON.stringify({
      chatbotId: process.env.AIRIS_CHATBOT_ID,  // cfg_xxxxxxxxxx
    }),
  });

  if (!response.ok) {
    return res.status(502).json({ error: 'Failed to create session' });
  }

  const { sessionToken, expiresAt } = await response.json();
  res.json({ sessionToken, expiresAt });
});

export default router;
Never put your API key in the browser. The widget only receives the short-lived session token — it cannot be used to call any other Airis endpoint.

Required API key scope

The API key used in your backend must have the embed scope. Create one at Settings → API Keys → New Key → Scope: embed. Keys with embed scope cannot be used for chat, ingestion, or admin operations — they are narrowly scoped for session creation only.

Self-Hosted Connector

Enterprise

For air-gapped environments where credentials must never leave your network. The connector Docker image runs inside your infrastructure, reads documents from the folders you point it at, and pushes only processed text chunks to the Airis API — nothing else leaves your network.

BASH
docker run -d \
  -e AIRIS_API_KEY=airs_live_xxxxx \
  -e AIRIS_ENDPOINT=https://yourorg.airis.com \
  -e SOURCES=filesystem \
  -e FS_PATHS=/data/docs \
  -v /path/to/docs:/data/docs:ro \
  -e CONNECTOR_INTERVAL_MINUTES=60 \
  airis/connector:latest
The API key must have the ingest scope. The connector is stateless — it can be stopped, updated, and restarted without data loss.

BYODB — Bring Your Own Database

Enterprise customers can also provide their own PostgreSQL + pgvector database. Airis validates SSL and pgvector presence, then stores all knowledge vectors on your own infrastructure. Configure at Admin → Settings → Database.

Security summary

Credential storage
AES-256 encrypted at rest. Never returned via API after saving.
Write access
All integration tokens are read-only by design. No write scopes are requested.
Cross-tenant isolation
All indexed data is scoped to organizationId. No cross-tenant access possible.
API key storage
SHA-256 hash only stored — raw key shown once at creation.
Connector credentials
Never leave the customer network. Only text chunks egress to Airis.

Ready to connect your tools?

Start free — no credit card required