Skip to content

camerontarget14/google-shotgrid-sheet-send-firebase

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ShotGrid ↔ Google Sheets Sync (Firebase)

A lightweight integration that enables ShotGrid (SG) users (coordinators and production teams) to:

  • Push shot/version data from SG to a Google Sheet
  • Collect artist feedback and notes in the sheet
  • Send those notes back into ShotGrid

Built with Firebase Cloud Functions (Python), the Shotgun API, and Google Apps Script.

send


Breakdown

google-shotgrid-sheet-send-main/
├── functions/                     # Firebase backend code (Python)
│   ├── main.py                   # Main Flask handler with SG & GSheets integration
│   ├── requirements.txt          # Python dependencies
│   └── willow.json               # Will contain your secrets (consider secret manager)
├── google_appscript/             # Google Sheets-side logic in JavaScript
│   ├── menu.js                   # Adds UI to the Sheet
│   ├── note_prep.js              # Prepares notes from Sheet content
│   ├── sendNotes.js              # Sends notes back to ShotGrid
│   ├── util.js                   # Shared helpers
│   ├── version_sort.js           # Sorts versions in Sheet
│   └── sheets_cell_formulae.txt # Spreadsheet formulas
├── firebase.json                 # Firebase config
└── README.md                     # Setup instructions

Technologies Used


Setup Guide

Backend Setup (Firebase Functions)

  1. Clone the repo and create a Python virtual environment:

    cd functions
    python3.10 -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
  2. Prepare a .env file in the functions/ directory to store your credentials - example in willow.json:

    SG_API_KEY=your_shotgrid_script_key
    SG_URL=https://yourstudio.shotgrid.autodesk.com
    SG_SCRIPT_NAME=your_script_name
    GOOGLE_CREDENTIALS_JSON=path/to/your/google/creds.json
    TEMPLATE_SHEET_URL = https://docs.google.com/spreadsheets/d/1MjhyLz6LmmsFQBFMFQj37srRK95ksbl91wiz3a0hNTY/edit?usp=sharing
    --- THE TEMPLATE SHEET URL is added by default but can be changed in main.py! (make sure to give your service account access!)
  3. Deploy to Firebase:

    firebase deploy --only functions
  4. Check logs during development and debugging:

    firebase functions:log

Google Sheets Integration

  1. Open your Google Sheet
  2. Navigate to Extensions > Apps Script
  3. Copy over the JavaScript (.gs) files from google_appscript/:
    • menu.js for the custom Sheet menu
    • sendNotes.js, note_prep.js, util.js, etc.
  4. Save the project and click Deploy > Test deployments or bind to your function endpoint.

You can set up all your Google Sheets appsript functions as an extension that you can make available via the google sheets marketplace sdk


License

MIT License. See LICENSE file.

About

A sync application for grabbing information from Autodesk Shotgrid using the gspread library.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published