Skip to content

Commit e6d760c

Browse files
committed
docs: link custom-agent guide to connectors; remove broken screenshot stubs
Two fixes: - The connector docs shipped with <Frame> placeholders pointing at /assets/connectors/*.png that don't exist yet. Mintlify renders these as broken-image boxes — worse UX than no image at all. Strip them; the prose walks the user through every click anyway. When real screenshots land they can drop back in. - Custom-agent guide had no mention of connectors, so nobody building a custom agent would discover that real-world data access is a one-line REQUIRED_CONNECTORS declaration away. Adds a "Using GAIA connectors" section right after Overview that explains what connectors are, why an agent should reach for them instead of baking API keys into code, and links to the connectors guide. Also adds connectors to the bullet list of what custom agents can have, and a Card to the Next Steps grid.
1 parent 2a40412 commit e6d760c

4 files changed

Lines changed: 35 additions & 36 deletions

File tree

docs/connectors/github.mdx

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,6 @@ MCP server uses.
3535
4. **Expiration**: pick something — 90 days is a sensible default.
3636
GitHub will email you before it expires.
3737

38-
<Frame caption="Generate new token in GitHub settings">
39-
<img src="/assets/connectors/github/generate-token.png" alt="Generate token" />
40-
</Frame>
41-
4238
### Pick scopes
4339

4440
The scopes you grant the token are the **maximum** GAIA can do. Per-
@@ -54,10 +50,6 @@ agent grants further narrow it from there.
5450
For a typical setup, tick **`repo`** and **`read:user`**. Add
5551
`workflow` if you want agents to interact with Actions.
5652

57-
<Frame caption="Token scopes — pick the minimum your agents need">
58-
<img src="/assets/connectors/github/token-scopes.png" alt="Token scopes" />
59-
</Frame>
60-
6153
5. Scroll to the bottom and click **Generate token**.
6254
6. **Copy the token now** — GitHub will not show it again. It looks
6355
like `ghp_…` followed by 36 characters.
@@ -69,10 +61,6 @@ For a typical setup, tick **`repo`** and **`read:user`**. Add
6961
3. Paste the PAT into the **GitHub Personal Access Token** field.
7062
4. Click **Save**.
7163

72-
<Frame caption="The Configure form for the GitHub connector">
73-
<img src="/assets/connectors/github/agent-ui-form.png" alt="GitHub configure form" />
74-
</Frame>
75-
7664
GAIA will:
7765

7866
1. Store the token in your OS keyring (single slot, distinct from any

docs/connectors/google.mdx

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,6 @@ Otherwise:
2929
2. Click the project dropdown at the top → **New project**.
3030
3. Name it something like `gaia-personal` and click **Create**.
3131

32-
<Frame caption="New project dialog in Google Cloud Console">
33-
<img src="/assets/connectors/google/new-project.png" alt="Create new project" />
34-
</Frame>
35-
3632
## Step 2 — Enable the APIs you want to use
3733

3834
GAIA only sees the Google APIs you explicitly enable on the project.
@@ -45,10 +41,6 @@ For a typical setup enable at least:
4541
In the Cloud Console, go to **APIs & Services → Library**, search for
4642
each API by name, click it, and click **Enable**.
4743

48-
<Frame caption="Enable the Gmail API in the Library">
49-
<img src="/assets/connectors/google/enable-api.png" alt="Enable API" />
50-
</Frame>
51-
5244
## Step 3 — Configure the OAuth consent screen
5345

5446
Google requires you to fill in a consent-screen form before it will
@@ -64,10 +56,6 @@ issue OAuth credentials, even for personal-use apps.
6456
pages — leave them empty for now. You'll add yourself as a test
6557
user in the next step.
6658

67-
<Frame caption="OAuth consent screen — minimum required fields">
68-
<img src="/assets/connectors/google/consent-screen.png" alt="Consent screen" />
69-
</Frame>
70-
7159
### Add yourself as a test user
7260

7361
While the app is in **Testing** publishing status (the default), only
@@ -95,10 +83,6 @@ This is the credential GAIA uses.
9583
Secret**. **Copy both** — you'll paste them into GAIA in a moment.
9684
You can also download the JSON.
9785

98-
<Frame caption="The OAuth client credentials dialog">
99-
<img src="/assets/connectors/google/client-credentials.png" alt="Client credentials" />
100-
</Frame>
101-
10286
<Warning>
10387
Even though "Desktop app" clients are technically public (the secret
10488
isn't a real secret in the cryptographic sense), Google's token
@@ -114,10 +98,6 @@ This is the credential GAIA uses.
11498
4. Paste the **Client ID** and **Client Secret** from Step 4.
11599
5. Click **Save & Connect**.
116100

117-
<Frame caption="The Save & Connect form in the Agent UI">
118-
<img src="/assets/connectors/google/agent-ui-form.png" alt="Save and Connect" />
119-
</Frame>
120-
121101
GAIA will:
122102

123103
1. Store the credentials in your OS keyring (macOS Keychain on Mac,

docs/connectors/index.mdx

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,6 @@ All credentials live in your OS credential store (macOS Keychain,
2626
gnome-keyring/kwallet on Linux, Credential Locker on Windows). GAIA
2727
never writes a token to a plaintext file.
2828

29-
<Frame caption="Settings → Connections in the Agent UI">
30-
<img src="/assets/connectors/connections-panel.png" alt="Connectors panel showing Google and GitHub" />
31-
</Frame>
32-
3329
## How to set up a connector
3430

3531
1. Launch the Agent UI: `gaia chat --ui`.

docs/guides/custom-agent.mdx

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,38 @@ Custom agents can have their own:
1818
- **Preferred models** (override the server default)
1919
- **Conversation starters** (suggestion chips in the UI)
2020
- **MCP servers** (any Model Context Protocol server)
21+
- **Connectors** ([Google, GitHub, and more](/connectors)) — give your agent permission to read your real email, calendar, repos, etc.
22+
23+
---
24+
25+
## Using GAIA connectors
26+
27+
If your agent needs to act on your behalf — read your inbox, list your
28+
calendar events, query GitHub, post to Slack, etc. — wire it up to a
29+
**GAIA connector** rather than asking users to paste API tokens into
30+
your code.
31+
32+
A connector lets users:
33+
34+
1. **Authenticate once** in Settings → Connections (OAuth flow for
35+
Google-style providers, paste-an-API-key for MCP servers).
36+
2. **Grant scopes per agent** so each agent only sees the data it
37+
actually needs. The Agent UI surfaces this when a user first picks
38+
your agent.
39+
3. **Trust that secrets stay in the OS keyring**, never in plaintext
40+
files or env vars baked into your code.
41+
42+
Declare what your agent needs by setting `REQUIRED_CONNECTORS` on the
43+
class, and call `get_credential_sync(connector_id, agent_id, required_scopes=[...])`
44+
from inside a tool to get a usable token. The
45+
[`connectors-demo` agent](https://github.com/amd/gaia/blob/main/src/gaia/agents/connectors_demo/agent.py)
46+
is a working reference for both `oauth_pkce` (Google) and `mcp_server`
47+
(GitHub) connectors.
48+
49+
<Card title="Read the connectors guide" icon="plug" href="/connectors">
50+
Walks through what connectors are, how the OAuth + MCP flows differ,
51+
per-agent grants, and a step-by-step setup for Google and GitHub.
52+
</Card>
2153

2254
---
2355

@@ -340,6 +372,9 @@ If you used a manifest with `mcp_servers:`, the BuilderAgent's MCP template emit
340372
<Card title="MCP Integration" icon="plug" href="/sdk/infrastructure/mcp">
341373
Connect any MCP server to extend your agent with external tools
342374
</Card>
375+
<Card title="GAIA Connectors" icon="key" href="/connectors">
376+
Give your agent permission to read Gmail, GitHub, Slack, and more — without baking API keys into code
377+
</Card>
343378
<Card title="RAG SDK" icon="magnifying-glass" href="/sdk/sdks/rag">
344379
Add document Q&A to your agent with the RAG SDK
345380
</Card>

0 commit comments

Comments
 (0)