A Python web application that uses Google's Gemini Vision AI to extract data from screenshots of tables and imports it directly into Smartsheet.
GridSnap bridges the gap between visual data and Smartsheet by:
- Using Gemini AI to identify and extract table structures from images
- Automatically detecting column headers and data types
- Formatting and transferring the extracted data to Smartsheet
- Providing a simple browser-based interface for the entire process
- Upload screenshots of tables (Excel, PDFs, etc.)
- Verify Smartsheet ID and connection
- Extract column headers and row data
- Preview data before pushing to Smartsheet
- Clean interface with drag-and-drop support
- Python 3.7 or higher
- Google Gemini API key - Get it here
- Smartsheet API token - Available in your Smartsheet account under Account > Personal Settings > API Access
-
Clone the repository
-
Create a virtual environment
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies
pip install -r requirements.txt
-
Set up environment variables
- Copy
.env.templateto.env - Add your API keys:
GEMINI_API_KEY=your_gemini_api_key_here SMARTSHEET_API_TOKEN=your_smartsheet_api_token_here
- Copy
-
Run the application
python main.py
-
Access the app
- Enter your Smartsheet ID and verify access
- Upload a screenshot of your table
- Add context if needed (optional)
- Review the extracted data
- Push to Smartsheet with one click
- Works best with simple grid structures
- Does not support merged cells or complex formatting
- Accuracy depends on image quality
- Interactive table preview
- CSV export option
- Support for more complex table structures