Overview
Enable your agents to create, edit, and manage Google Slides presentations. Create presentations, update content, import data from Google Sheets, manage pages and thumbnails, and streamline your presentation workflows with AI-powered automation.Prerequisites
Before using the Google Slides integration, ensure you have:- A CrewAI AMP account with an active subscription
- A Google account with Google Slides access
- Connected your Google account through the Integrations page
Setting Up Google Slides Integration
1. Connect Your Google Account
- Navigate to CrewAI AMP Integrations
- Find Google Slides in the Authentication Integrations section
- Click Connect and complete the OAuth flow
- Grant the necessary permissions for presentations, spreadsheets, and drive access
- Copy your Enterprise Token from Integration Settings
2. Install Required Package
3. Environment Variable Setup
Agent(apps=[]), you must set the
CREWAI_PLATFORM_INTEGRATION_TOKEN environment variable with your Enterprise
Token..env file:
Available Actions
google_slides/create_blank_presentation
google_slides/create_blank_presentation
title(string, required): The title of the presentation.
google_slides/get_presentation_metadata
google_slides/get_presentation_metadata
presentationId(string, required): The ID of the presentation to retrieve.
google_slides/get_presentation_text
google_slides/get_presentation_text
presentationId(string, required): The ID of the presentation.
google_slides/get_presentation
google_slides/get_presentation
presentationId(string, required): The ID of the presentation to retrieve.fields(string, optional): The fields to include in the response. Use this to improve performance by only returning needed data.
google_slides/batch_update_presentation
google_slides/batch_update_presentation
presentationId(string, required): The ID of the presentation to update.requests(array, required): A list of updates to apply to the presentation.writeControl(object, optional): Provides control over how write requests are executed.
google_slides/get_slide_text
google_slides/get_slide_text
presentationId(string, required): The ID of the presentation.pageObjectId(string, required): The ID of the slide/page to get text from.
google_slides/get_page
google_slides/get_page
presentationId(string, required): The ID of the presentation.pageObjectId(string, required): The ID of the page to retrieve.
google_slides/get_thumbnail
google_slides/get_thumbnail
presentationId(string, required): The ID of the presentation.pageObjectId(string, required): The ID of the page for thumbnail generation.
google_slides/create_slide
google_slides/create_slide
presentationId(string, required): The ID of the presentation.insertionIndex(integer, optional): Where to insert the slide (0-based). If omitted, adds at the end.
google_slides/create_slide_with_layout
google_slides/create_slide_with_layout
presentationId(string, required): The ID of the presentation.layout(string, required): Layout type. One of:BLANK,TITLE,TITLE_AND_BODY,TITLE_AND_TWO_COLUMNS,TITLE_ONLY,SECTION_HEADER,ONE_COLUMN_TEXT,MAIN_POINT,BIG_NUMBER. TITLE_AND_BODY is best for title+description. TITLE for title-only slides. SECTION_HEADER for section dividers.insertionIndex(integer, optional): Where to insert (0-based). Omit to add at end.
google_slides/create_text_box
google_slides/create_text_box
presentationId(string, required): The ID of the presentation.slideId(string, required): The ID of the slide to add the text box to.text(string, required): The text content for the text box.x(integer, optional): X position in EMU (914400 = 1 inch). Default: 914400 (1 inch from left).y(integer, optional): Y position in EMU (914400 = 1 inch). Default: 914400 (1 inch from top).width(integer, optional): Width in EMU. Default: 7315200 (~8 inches).height(integer, optional): Height in EMU. Default: 914400 (~1 inch).
google_slides/delete_slide
google_slides/delete_slide
presentationId(string, required): The ID of the presentation.slideId(string, required): The object ID of the slide to delete. Get from get_presentation.
google_slides/duplicate_slide
google_slides/duplicate_slide
presentationId(string, required): The ID of the presentation.slideId(string, required): The object ID of the slide to duplicate. Get from get_presentation.
google_slides/move_slides
google_slides/move_slides
presentationId(string, required): The ID of the presentation.slideIds(array of strings, required): Array of slide IDs to move. Must be in current presentation order.insertionIndex(integer, required): Target position (0-based). 0 = beginning, slide count = end.
google_slides/insert_youtube_video
google_slides/insert_youtube_video
presentationId(string, required): The ID of the presentation.slideId(string, required): The ID of the slide to add the video to. Get from get_presentation.videoId(string, required): The YouTube video ID (the value after v= in the URL).
google_slides/insert_drive_video
google_slides/insert_drive_video
presentationId(string, required): The ID of the presentation.slideId(string, required): The ID of the slide to add the video to. Get from get_presentation.fileId(string, required): The Google Drive file ID of the video.
google_slides/set_slide_background_image
google_slides/set_slide_background_image
presentationId(string, required): The ID of the presentation.slideId(string, required): The ID of the slide to set the background for. Get from get_presentation.imageUrl(string, required): Publicly accessible URL of the image to use as background.
google_slides/create_table
google_slides/create_table
presentationId(string, required): The ID of the presentation.slideId(string, required): The ID of the slide to add the table to. Get from get_presentation.rows(integer, required): Number of rows in the table.columns(integer, required): Number of columns in the table.
google_slides/create_table_with_content
google_slides/create_table_with_content
presentationId(string, required): The ID of the presentation.slideId(string, required): The ID of the slide to add the table to. Get from get_presentation.rows(integer, required): Number of rows in the table.columns(integer, required): Number of columns in the table.content(array, required): Table content as 2D array. Each inner array is a row. Example: [[“Year”, “Revenue”], [“2023”, “$10M”]].
google_slides/import_data_from_sheet
google_slides/import_data_from_sheet
presentationId(string, required): The ID of the presentation.sheetId(string, required): The ID of the Google Sheet to import from.dataRange(string, required): The range of data to import from the sheet.
google_slides/upload_file_to_drive
google_slides/upload_file_to_drive
file(string, required): The file data to upload.presentationId(string, required): The ID of the presentation to link the uploaded file.
google_slides/link_file_to_presentation
google_slides/link_file_to_presentation
presentationId(string, required): The ID of the presentation.fileId(string, required): The ID of the file to link.
google_slides/get_all_presentations
google_slides/get_all_presentations
pageSize(integer, optional): The number of presentations to return per page.pageToken(string, optional): A token for pagination.
google_slides/delete_presentation
google_slides/delete_presentation
presentationId(string, required): The ID of the presentation to delete.
Usage Examples
Basic Google Slides Agent Setup
Presentation Content Management
Data Integration and Visualization
Presentation Library Management
Automated Presentation Workflows
Template and Content Creation
Troubleshooting
Common Issues
Permission Errors- Ensure your Google account has appropriate permissions for Google Slides
- Verify that the OAuth connection includes required scopes for presentations, spreadsheets, and drive access
- Check that presentations are shared with the authenticated account
- Verify that presentation IDs are correct and presentations exist
- Ensure you have access permissions to the presentations you’re trying to modify
- Check that presentation IDs are properly formatted
- Ensure batch update requests are properly formatted according to Google Slides API specifications
- Verify that object IDs for slides and elements exist in the presentation
- Check that write control revision IDs are current if using optimistic concurrency
- Verify that Google Sheet IDs are correct and accessible
- Ensure data ranges are properly specified using A1 notation
- Check that you have read permissions for the source spreadsheets
- Ensure file data is properly encoded for upload
- Verify that Drive file IDs are correct when linking files
- Check that you have appropriate Drive permissions for file operations
- Verify that page object IDs exist in the specified presentation
- Ensure presentations have content before attempting to generate thumbnails
- Check that page structure is valid for thumbnail generation
- Use appropriate page sizes for listing presentations
- Implement proper pagination using page tokens for large result sets
- Handle empty result sets gracefully
