name: google-slides-tables description: Create proper tables in Google Slides presentations using the Slides API. Use when building tabular data, metrics, comparisons, or any slide that needs rows and columns. requires:
- google-oauth
Google Slides Tables Skill
Create proper tables in Google Slides presentations using the Slides API.
When to Use
Use this skill when:
- Creating tabular data in Google Slides presentations
- Displaying user metrics, costs, or statistics
- Building comparison tables or data grids
- Any time you need formatted rows and columns
Key Principle: Use Real Tables, Not Text
WRONG: Creating "tables" with text characters like dashes and pipes:
USER COST STATUS
─────────────────────────
tom $100 Active
dan $50 Active
This renders as bullet points and looks terrible in Google Slides!
CORRECT: Use the ai_first_slides_create_table MCP tool to create actual Google Slides table objects.
Available Tool
ai_first_slides_create_table
Creates a native Google Slides table with proper formatting.
Parameters:
slideId(required): The slide object ID where the table will be placeddata(required): 2D array of strings - rows of cellspresentationUrl(optional): Presentation URL or IDheaderRow(optional, default: true): Style first row as header (bold, colored)position(optional):{x: number, y: number}in pointssize(optional):{width: number, height: number}in points
Example:
{
"slideId": "SLIDES_API12345_0",
"presentationUrl": "19f8Px6u-gf7DXnI1k8xhnm9lAYAqCNKvcfvoX5Dbrtk",
"data": [
["User", "Cursor $", "API Tokens", "Lines", "Status"],
["tom", "$1,283", "44M", "7,438", "🟢 Power"],
["daniel", "-", "-", "10,755", "🟢 Power"],
["yuval", "$184", "-", "425", "🟡 Regular"],
["assaf", "$164", "0.8M", "-", "🟡 Regular"]
],
"headerRow": true
}
Workflow: Adding Tables to Presentations
Step 1: Get the Presentation Structure
ai_first_slides_get_presentation
presentationUrl: "YOUR_PRESENTATION_ID"
This returns all slides with their IDs.
Step 2: Choose Target Slide
Either:
- Use an existing slide's ID
- Create a new blank slide with
ai_first_slides_duplicate_template
Step 3: Create the Table
ai_first_slides_create_table
slideId: "SLIDES_API12345_0"
presentationUrl: "YOUR_PRESENTATION_ID"
data: [["Header1", "Header2"], ["Val1", "Val2"]]
headerRow: true
Step 4: Verify (Optional)
Use the browser MCP to take a screenshot and verify the table looks correct.
Table Formatting
Header Row (Default: enabled)
- Bold text
- Blue background (#336699)
- White text color
Data Rows
- Normal weight
- Default background
- Auto-sized cells
Positioning
Default position is {x: 50, y: 120} (in points from top-left).
Adjust if you have a title at the top of the slide.
Sizing
Default width is 620pt (fits most slides). Height auto-calculates based on number of rows (30pt per row).
Best Practices
- Keep tables concise - Max 10-12 rows per slide for readability
- Use clear headers - First row should describe each column
- Align data types - Numbers right-aligned, text left-aligned (default)
- Split large tables - Create multiple slides for many rows
- Add a title - Use a text box or slide title above the table
Common Data Patterns
User Metrics Table
[
["User", "Cost", "Tokens", "Status"],
["user1@example.com", "$100", "10M", "Active"],
["user2@example.com", "$50", "5M", "Exploring"]
]
Model Usage Table
[
["Model", "Cost", "Requests", "% of Total"],
["claude-4.5-opus", "$1,465", "8,910", "76.5%"],
["gpt-5.2", "$157", "1,594", "8.2%"]
]
Status Summary Table
[
["Status", "Count", "Percentage"],
["🟢 Power User", "6", "21%"],
["🟡 Regular", "5", "17%"],
["🟠 Exploring", "10", "34%"],
["⚪ Not Started", "8", "28%"]
]
Troubleshooting
"Table looks cramped"
- Increase
size.heightin the options - Reduce number of rows per table
"Table overlaps title"
- Increase
position.yto move table down
"Columns too narrow"
- Increase
size.width - Reduce number of columns
- Shorten cell text
"Can't find slide ID"
- Run
ai_first_slides_get_presentationfirst - Slide IDs look like
SLIDES_API12345_0org3b635182008_0_0