Overview
The Gemini side panel operates on the user's live Workspace files. Open it with the Gemini spark/star icon (tooltip Ask Gemini) in the top-right of Gmail/Docs/Sheets/Slides/Drive. This skill covers driving that panel via browser automation (MCP tools). Use this skill — not the standalone gemini-app skill — when the task is about the user's own mail/docs/sheets/slides.
On Google AI Ultra, the Workspace side panel has the highest usage limits.
When to Use
- User wants to summarize a Gmail thread or ask "what needs my response?"
- User wants "Help me write" to draft or refine content in Docs or Gmail
- User wants the
=AI() function in Sheets for classification, extraction, or generation over cell ranges
- User wants to generate images or draft slide text in Slides
- User wants to ask about a Drive file (including PDFs/docs) without opening it
- User explicitly mentions "Gemini in Gmail/Docs/Sheets/Slides/Drive" or "Gemini side panel"
Prerequisites
- Eligible Google AI or Workspace plan — the Gemini side panel requires a qualifying subscription (e.g., Google AI Ultra, Gemini for Workspace). If the spark icon is absent, the account likely lacks an eligible plan.
- Browser automation MCP server — the canonical automation loop is defined in
google-ai-ultra/reference.md. Read that reference file first before executing any browser steps in this skill.
- English-first AI features — Gemini Workspace features are English-first; the surrounding UI may be localized, which can change button labels.
- Windows host (PowerShell) is the primary environment. All paths and commands assume Windows unless noted.
Procedure
Step 0 — Load the MCP automation playbook
Before driving the side panel, read google-ai-ultra/reference.md for the canonical MCP browser-automation loop (navigate → snapshot → click → type → wait → evaluate). All subsequent steps assume familiarity with that playbook.
Step 1 — Navigate to the target Workspace app
| App |
URL |
| Gmail |
https://mail.google.com |
| Docs |
https://docs.google.com |
| Sheets |
https://sheets.google.com |
| Slides |
https://slides.google.com |
| Drive |
https://drive.google.com |
browser_navigate → <app URL>
Step 2 — Open or select the target content
- Gmail:
browser_snapshot → find a long thread (row shows a "(N)" message count); browser_click it.
- Docs: Open the target document.
- Sheets: Open the target spreadsheet; select the cell where
=AI() will be used.
- Slides: Open the target presentation; select the slide.
- Drive: Navigate to the folder containing the target file.
Step 3 — Open the Gemini side panel
browser_snapshot → locate the top-right Ask Gemini spark/star icon.
- Confirm the icon tooltip reads "Ask Gemini" (not Calendar or Meet) before clicking.
browser_click the icon to open the side panel.
The panel lives in a right-hand region with role="complementary".
Step 4 — Issue the request
Choose the appropriate action per app:
Gmail — Summarize a thread
browser_snapshot → click the Summarize this email chip if present.
- If the chip is absent,
browser_type into the panel's prompt box: Summarize this email thread, then submit=true.
browser_wait_for text="Summary".
Gmail / Docs — "Help me write"
browser_snapshot → click the Help me write chip or type the request in the panel prompt box.
- For Gmail replies: type
Draft a reply to this email and submit.
browser_wait_for the generated text to appear in the panel.
Sheets — =AI() function
- In the target cell, type:
=AI("prompt", range)
- Example:
=AI("Categorize this as Positive, Neutral, or Negative", A2:A100)
- Press Enter; the function populates the cell range.
- To ask Gemini to analyze or build formulas, type the request in the side panel prompt box.
Slides — Generate images / draft text
browser_snapshot → click the Generate image chip or type Generate an image of <description> in the panel prompt box.
- For slide text: type
Draft slide text about <topic> and submit.
browser_wait_for the generated content.
Drive — Ask about a file
- Select the target file in Drive.
- Open the Gemini side panel.
- Type
Summarize this file or What is this file about? in the panel prompt box; submit.
browser_wait_for the response.
Step 5 — Extract results
browser_evaluate → () => document.querySelector('[role="complementary"]')?.innerText
This returns the full text content of the Gemini side panel, avoiding truncation that can occur in browser_snapshot.
Capability Map
| App |
URL |
Capabilities |
| Gmail |
mail.google.com |
Summarize a thread, "Help me write" a reply/draft, ask "what needs my response?" |
| Docs |
docs.google.com |
"Help me write"/refine/rewrite, summarize, generate content in place |
| Sheets |
sheets.google.com |
=AI("prompt", range) function for classification/extraction/generation over cells; ask to analyze/build formulas |
| Slides |
slides.google.com |
Generate images from a prompt; draft slide text |
| Drive |
drive.google.com |
Ask about a file without opening it; summarize PDFs/docs |
Worked Example — Summarize a Gmail Thread (Full MCP Sequence)
browser_navigate → https://mail.google.com
browser_snapshot → find a long thread (row shows a "(N)" message count); browser_click it.
browser_snapshot → find the top-right Ask Gemini spark icon; browser_click it to open the side panel.
browser_snapshot → click the Summarize this email chip. If absent, browser_type into the panel's prompt box: Summarize this email thread, submit=true.
browser_wait_for text="Summary".
- Extract:
browser_evaluate → () => document.querySelector('[role="complementary"]')?.innerText.
Pitfalls
- No spark icon visible → the account lacks an eligible plan. Switch to an account with Google AI Ultra or Gemini for Workspace, or report the missing feature.
- No "Summarize" chip → type the request manually in the panel prompt box instead of relying on chips.
- Summary truncated in
browser_snapshot → always extract via browser_evaluate returning innerText of the [role="complementary"] panel. Snapshots can cut off long responses.
- "Ask Gemini" greyed or unresponsive → the thread may be too short or still loading. Run
browser_wait_for(time=3) and retry, or pick a thread with 3+ messages.
- Panel spins forever → wait, then re-snapshot. If still stuck, reload the page and reopen the thread.
- Wrong panel opened (Calendar/Meet) → always confirm the icon tooltip is "Ask Gemini" in the snapshot before clicking. Google Workspace apps have multiple top-right icons.
=AI() not recognized in Sheets → ensure the spreadsheet is on an eligible account and the function is available in your region. English-first features may not be enabled for all locales.
- Localized UI labels — button and chip labels may differ from English defaults. Use
browser_snapshot to read actual labels rather than assuming exact text.
Verification
Confirm the side panel operation succeeded with these checks:
- Panel shows a Summary/Response heading — the panel displays a Summary heading (or equivalent response heading) with text referencing real content details (senders, decisions, file names).
- Non-empty extraction —
browser_evaluate returns a non-empty string (>50 chars) from the [role="complementary"] panel:browser_evaluate → () => document.querySelector('[role="complementary"]')?.innerText
Expected: a string longer than 50 characters.
- Content-specific detail — the summary or response names at least one specific detail from the source content (e.g., a sender name, a decision, a data point). This proves Gemini read the actual Workspace content rather than generating a generic response.
Related Skills
gemini-app — for tasks in the standalone Gemini app (not tied to live Workspace files).
google-ai-ultra — parent skill containing the MCP automation playbook (reference.md) used by this skill. Always read google-ai-ultra/reference.md before executing browser automation steps here.
1---2name: gemini-workspace3description: Drives the Gemini side panel inside Gmail, Docs, Sheets, Slides, and Drive via browser automation: thread summaries, Help me write drafts, Sheets =AI(), Slides images, and questions about Drive files. Use when Gemini should act on live Workspace content rather than the standalone Gemini app. Trigger: Gemini Workspace, Gmail summarize, =AI() Sheets. Not for Google Vids, cinematic Veo/Flow, or accounts without the Ask Gemini icon.4---5
6## Overview
7
8The Gemini side panel operates on the user's **live Workspace files**. Open it with the Gemini spark/star icon (tooltip **Ask Gemini**) in the top-right of Gmail/Docs/Sheets/Slides/Drive. This skill covers driving that panel via browser automation (MCP tools). Use this skill — not the standalone `gemini-app` skill — when the task is *about* the user's own mail/docs/sheets/slides.
9
10On Google AI Ultra, the Workspace side panel has the highest usage limits.
11
12## When to Use
13
14- User wants to **summarize a Gmail thread** or ask "what needs my response?"
15- User wants **"Help me write"** to draft or refine content in Docs or Gmail
16- User wants the **`=AI()` function** in Sheets for classification, extraction, or generation over cell ranges
17- User wants to **generate images** or draft slide text in Slides
18- User wants to **ask about a Drive file** (including PDFs/docs) without opening it
19- User explicitly mentions "Gemini in Gmail/Docs/Sheets/Slides/Drive" or "Gemini side panel"
20
21## Prerequisites
22
231. **Eligible Google AI or Workspace plan** — the Gemini side panel requires a qualifying subscription (e.g., Google AI Ultra, Gemini for Workspace). If the spark icon is absent, the account likely lacks an eligible plan.
242. **Browser automation MCP server** — the canonical automation loop is defined in `google-ai-ultra/reference.md`. **Read that reference file first** before executing any browser steps in this skill.
253. **English-first AI features** — Gemini Workspace features are English-first; the surrounding UI may be localized, which can change button labels.
264. **Windows host (PowerShell)** is the primary environment. All paths and commands assume Windows unless noted.
27
28## Procedure
29
30### Step 0 — Load the MCP automation playbook
31
32Before driving the side panel, read `google-ai-ultra/reference.md` for the canonical MCP browser-automation loop (navigate → snapshot → click → type → wait → evaluate). All subsequent steps assume familiarity with that playbook.
33
34### Step 1 — Navigate to the target Workspace app
35
36| App | URL |
37|---|---|
38| Gmail | `https://mail.google.com` |
39| Docs | `https://docs.google.com` |
40| Sheets | `https://sheets.google.com` |
41| Slides | `https://slides.google.com` |
42| Drive | `https://drive.google.com` |
43
44```
45browser_navigate → <app URL>
46```
47
48### Step 2 — Open or select the target content
49
50- **Gmail**: `browser_snapshot` → find a long thread (row shows a "(N)" message count); `browser_click` it.
51- **Docs**: Open the target document.
52- **Sheets**: Open the target spreadsheet; select the cell where `=AI()` will be used.
53- **Slides**: Open the target presentation; select the slide.
54- **Drive**: Navigate to the folder containing the target file.
55
56### Step 3 — Open the Gemini side panel
57
581. `browser_snapshot` → locate the top-right **Ask Gemini** spark/star icon.
592. Confirm the icon tooltip reads **"Ask Gemini"** (not Calendar or Meet) before clicking.
603. `browser_click` the icon to open the side panel.
61
62The panel lives in a right-hand region with `role="complementary"`.
63
64### Step 4 — Issue the request
65
66Choose the appropriate action per app:
67
68#### Gmail — Summarize a thread
691. `browser_snapshot` → click the **Summarize this email** chip if present.
702. If the chip is absent, `browser_type` into the panel's prompt box: `Summarize this email thread`, then `submit=true`.
713. `browser_wait_for` text=`"Summary"`.
72
73#### Gmail / Docs — "Help me write"
741. `browser_snapshot` → click the **Help me write** chip or type the request in the panel prompt box.
752. For Gmail replies: type `Draft a reply to this email` and submit.
763. `browser_wait_for` the generated text to appear in the panel.
77
78#### Sheets — `=AI()` function
791. In the target cell, type: `=AI("prompt", range)`
80 - Example: `=AI("Categorize this as Positive, Neutral, or Negative", A2:A100)`
812. Press Enter; the function populates the cell range.
823. To ask Gemini to analyze or build formulas, type the request in the side panel prompt box.
83
84#### Slides — Generate images / draft text
851. `browser_snapshot` → click the **Generate image** chip or type `Generate an image of <description>` in the panel prompt box.
862. For slide text: type `Draft slide text about <topic>` and submit.
873. `browser_wait_for` the generated content.
88
89#### Drive — Ask about a file
901. Select the target file in Drive.
912. Open the Gemini side panel.
923. Type `Summarize this file` or `What is this file about?` in the panel prompt box; submit.
934. `browser_wait_for` the response.
94
95### Step 5 — Extract results
96
97```
98browser_evaluate → () => document.querySelector('[role="complementary"]')?.innerText
99```
100
101This returns the full text content of the Gemini side panel, avoiding truncation that can occur in `browser_snapshot`.
102
103## Capability Map
104
105| App | URL | Capabilities |
106|---|---|---|
107| **Gmail** | `mail.google.com` | Summarize a thread, "Help me write" a reply/draft, ask "what needs my response?" |
108| **Docs** | `docs.google.com` | "Help me write"/refine/rewrite, summarize, generate content in place |
109| **Sheets** | `sheets.google.com` | `=AI("prompt", range)` function for classification/extraction/generation over cells; ask to analyze/build formulas |
110| **Slides** | `slides.google.com` | Generate images from a prompt; draft slide text |
111| **Drive** | `drive.google.com` | Ask about a file without opening it; summarize PDFs/docs |
112
113## Worked Example — Summarize a Gmail Thread (Full MCP Sequence)
114
1151. `browser_navigate` → `https://mail.google.com`
1162. `browser_snapshot` → find a long thread (row shows a "(N)" message count); `browser_click` it.
1173. `browser_snapshot` → find the top-right **Ask Gemini** spark icon; `browser_click` it to open the side panel.
1184. `browser_snapshot` → click the **Summarize this email** chip. If absent, `browser_type` into the panel's prompt box: `Summarize this email thread`, `submit=true`.
1195. `browser_wait_for` text=`"Summary"`.
1206. Extract: `browser_evaluate` → `() => document.querySelector('[role="complementary"]')?.innerText`.
121
122## Pitfalls
123
124- **No spark icon visible** → the account lacks an eligible plan. Switch to an account with Google AI Ultra or Gemini for Workspace, or report the missing feature.
125- **No "Summarize" chip** → type the request manually in the panel prompt box instead of relying on chips.
126- **Summary truncated in `browser_snapshot`** → always extract via `browser_evaluate` returning `innerText` of the `[role="complementary"]` panel. Snapshots can cut off long responses.
127- **"Ask Gemini" greyed or unresponsive** → the thread may be too short or still loading. Run `browser_wait_for(time=3)` and retry, or pick a thread with 3+ messages.
128- **Panel spins forever** → wait, then re-snapshot. If still stuck, reload the page and reopen the thread.
129- **Wrong panel opened (Calendar/Meet)** → always confirm the icon tooltip is **"Ask Gemini"** in the snapshot *before* clicking. Google Workspace apps have multiple top-right icons.
130- **`=AI()` not recognized in Sheets** → ensure the spreadsheet is on an eligible account and the function is available in your region. English-first features may not be enabled for all locales.
131- **Localized UI labels** — button and chip labels may differ from English defaults. Use `browser_snapshot` to read actual labels rather than assuming exact text.
132
133## Verification
134
135Confirm the side panel operation succeeded with these checks:
136
1371. **Panel shows a Summary/Response heading** — the panel displays a **Summary** heading (or equivalent response heading) with text referencing real content details (senders, decisions, file names).
1382. **Non-empty extraction** — `browser_evaluate` returns a non-empty string (>50 chars) from the `[role="complementary"]` panel:
139 ```
140 browser_evaluate → () => document.querySelector('[role="complementary"]')?.innerText
141 ```
142 Expected: a string longer than 50 characters.
1433. **Content-specific detail** — the summary or response names at least one specific detail from the source content (e.g., a sender name, a decision, a data point). This proves Gemini read the actual Workspace content rather than generating a generic response.
144
145## Related Skills
146
147- **`gemini-app`** — for tasks in the standalone Gemini app (not tied to live Workspace files).
148- **`google-ai-ultra`** — parent skill containing the MCP automation playbook (`reference.md`) used by this skill. Always read `google-ai-ultra/reference.md` before executing browser automation steps here.