Skip to content

Repository Overview

This section provides detailed documentation for each of the 6 Smartsheet integration repositories in the suite.

Repository Comparison

Repository Language Type Complexity Best For
Supabase Smartsheet Promax Offload Python Data Sync Medium Database → Sheet sync
Smartsheet Supabase Sync TypeScript Data Sync Medium Sheet → Database sync
Master to Sibling Python Replication Low Sheet → Sheet copy
Generate Job Numbers Python Automation Low Auto-numbering
Generate Weekly PDFs Python Reporting High PDF generation
Resiliency PDF Restructure Python Validation Medium PDF validation

By Use Case

Need to sync data between Smartsheet and a database?

Smartsheet → Supabase

Smartsheet Supabase Sync

TypeScript, GitHub Actions, scheduled runs

  • Reads from Smartsheet
  • Writes to Supabase PostgreSQL
  • Runs on schedule via GitHub Actions

Supabase → Smartsheet

Supabase Smartsheet Promax Offload

Python, manual/scheduled execution

  • Queries Supabase database
  • Bulk upserts to Smartsheet
  • Handles large datasets

Need to replicate data between Smartsheet sheets?

Master-Sibling Pattern

Master to Sibling Smartsheet Function

Python, on-demand execution

  • Copy from one master sheet
  • Replicate to multiple sibling sheets
  • Maintains data consistency

Need to automate job number assignment?

Job Numbering

Generate Job Numbers

Python, webhook/manual trigger

  • Auto-assigns sequential job numbers
  • Prevents duplicates
  • Configurable starting number

Need to generate weekly PDF reports?

PDF Reporting

Generate Weekly PDFs DSR Resiliency

Python, weekly cron job

  • Merges ProMax and Excel data
  • Generates PDF per foreman
  • Updates Smartsheet with links

Need to validate PDF structure?

PDF Validation

Resiliency PDF Restructure UG Work

Python, post-generation execution

  • Validates PDF structure
  • Extracts CU codes
  • Updates validation status

Technology Breakdown

Python Repositories (5)

Python is the primary language for most integrations, chosen for: - Rich ecosystem of data processing libraries - Excellent Smartsheet SDK - Easy scripting and automation - Strong PDF manipulation capabilities

Repository Python Version Key Libraries
Supabase Smartsheet Promax Offload 3.9+ smartsheet-python-sdk, supabase-py
Master to Sibling 3.9+ smartsheet-python-sdk
Generate Job Numbers 3.9+ smartsheet-python-sdk
Generate Weekly PDFs 3.9+ smartsheet-python-sdk, pandas, openpyxl, reportlab
Resiliency PDF Restructure 3.9+ smartsheet-python-sdk, PyPDF2, pdfplumber

TypeScript Repository (1)

TypeScript powers the GitHub Actions workflow:

Repository Node Version Key Libraries
Smartsheet Supabase Sync 16+ @supabase/supabase-js, axios, dotenv

Deployment Patterns

GitHub Actions (Serverless)

Cron Jobs (Server)

On-Demand (Manual/Webhook)

Repository Details

Explore each repository for comprehensive documentation:

Data Synchronization

  1. Supabase Smartsheet Promax Offload
  2. Database to Smartsheet sync
  3. Bulk operations
  4. Python-based

  5. Smartsheet Supabase Sync

  6. Smartsheet to database sync
  7. GitHub Actions workflow
  8. TypeScript-based

Data Replication

  1. Master to Sibling Smartsheet Function
  2. Sheet-to-sheet replication
  3. Master-sibling pattern
  4. Python-based

Automation

  1. Generate Job Numbers
  2. Automated job numbering
  3. Duplicate prevention
  4. Python-based

Reporting & Validation

  1. Generate Weekly PDFs DSR Resiliency
  2. Weekly PDF generation
  3. ProMax and Excel integration
  4. Python-based

  5. Resiliency PDF Restructure UG Work

  6. PDF structure validation
  7. CU code extraction
  8. Python-based

Common Patterns

All repositories share these characteristics:

Configuration

  • Environment variables via .env files
  • Separate configs for dev/staging/production
  • Secure API token management

Error Handling

  • Retry logic for API failures
  • Comprehensive logging
  • Graceful failure modes

Scalability

  • Batch processing for large datasets
  • Rate limit awareness
  • Efficient API usage

Maintainability

  • Clear code structure
  • Documentation
  • Example configurations

Getting Started

  1. Choose Your Repository: Based on your use case above
  2. Read the Docs: Click through to detailed repository pages
  3. Follow Setup: Each page has setup instructions
  4. Test First: Use dry-run mode before production
  5. Monitor: Set up logging and monitoring

Ready to dive deeper?

Select a repository above to see detailed documentation, code examples, and configuration guides.