Gamma Integration for Frappe/ERPNext
A powerful Frappe/ERPNext app that seamlessly integrates Gamma.app interactive presentations with your quotations, enabling you to create, manage, and embed dynamic proposals directly within your ERP system.
๐ Features
โจ Core Functionality
- Interactive Presentations: Create and embed Gamma.app presentations directly in quotations
 - Dynamic Linking: Automatic linking between Gamma Proposals and Quotations
 - Multiple Proposal Types: Support for Main, Technical, Financial, Executive, Product Demo, and Case Study proposals
 - Real-time Sync: Automatic synchronization of proposal data and status updates
 - Embedded Viewer: View presentations directly within ERPNext interface
 - Custom Print Formats: Professional quotation layouts with embedded Gamma proposals
 
๐ง Technical Features
- Auto-linking: New proposals automatically link to their quotations
 - Migration Support: Existing proposals are automatically linked via database patches
 - API Integration: RESTful API endpoints for external integrations
 - Error Handling: Comprehensive error handling and logging
 - Permission Management: Respects ERPNext permission system
 
๐ฏ Usage
Creating Gamma Proposals
- From Quotation Form:
 - Open any quotation
 - Navigate to the "Gamma" tab
 - Click "Create Gamma Proposal" button
 - Fill in proposal details and Gamma URL
 - Save to automatically link to quotation
 - Direct Creation:
 - Go to Gamma Proposal doctype
 - Create new proposal
 - Link to existing quotation
 - Proposal automatically appears in quotation's Gamma tab
 
Managing Proposals
Proposal Types
- Main Proposal: Primary presentation for the quotation
 - Technical Proposal: Detailed technical specifications
 - Financial Proposal: Cost breakdown and pricing details
 - Executive Summary: High-level overview for executives
 - Product Demo: Interactive product demonstrations
 - Case Study: Success stories and use cases
 
Status Management
- Draft: Initial creation state
 - In Review: Under internal review
 - Shared: Shared with customer
 - Approved: Approved by customer
 - Rejected: Rejected by customer
 
Gamma URL Integration
The app supports multiple Gamma URL formats:
https://gamma.app/docs/your-doc-id
https://gamma.app/embed/your-embed-id
https://gamma.app/public/your-public-id
All formats are automatically converted to embed URLs for seamless integration.
๐ API Reference
Create Gamma Proposal
frappe.call({
  method: 'gamma_integration.gamma_integration.api.create_gamma_proposal',
  args: {
    quotation_name: 'QTN-2025-00001',
    proposal_name: 'Technical Proposal',
    proposal_type: 'Technical Proposal'
  }
})
Get Quotation Proposals
frappe.call({
  method: 'gamma_integration.gamma_integration.api.get_quotation_proposals',
  args: {
    quotation_name: 'QTN-2025-00001'
  }
})
Link Existing Proposals
frappe.call({
  method: 'gamma_integration.gamma_integration.api.link_existing_proposals'
})
Refresh Gamma Display
frappe.call({
  method: 'gamma_integration.gamma_integration.api.refresh_quotation_gamma_display',
  args: {
    quotation_name: 'QTN-2025-00001'
  }
})
๐ Architecture
DocTypes
- Gamma Proposal: Main proposal document with Gamma integration
 - Quotation Gamma Proposal: Child table for linking proposals to quotations
 
Key Components
- Server-side Controllers: Handle proposal creation, linking, and synchronization
 - Client-side Scripts: Manage UI interactions and real-time updates
 - API Layer: RESTful endpoints for external integrations
 - Migration Patches: Ensure backward compatibility
 
๐งช Testing
API Testing
Use the built-in test button in quotations: - Navigate to any quotation - Click "Gamma" โ "Test API" - Verify connection status
Manual Testing
- Create a new quotation
 - Add a Gamma proposal
 - Verify automatic linking
 - Check embedded presentation display
 
๐ Troubleshooting
Common Issues
"No Gamma proposals linked" message - Run the linking patch: bench --site your-site.local execute gamma_integration.gamma_integration.patches.link_existing_gamma_proposals.execute - Refresh the quotation form
Proposals not displaying - Check Gamma URL format - Verify embed ID extraction - Check browser console for JavaScript errors
Permission errors - Ensure user has read/write access to Gamma Proposal doctype - Check quotation permissions
๐ Changelog
v1.2.0 (Latest)
- โ
 Fixed dynamic linking issue for existing proposals
 - โ
 Added automatic proposal linking on save
 - โ
 Enhanced error handling and logging
 - โ
 Improved client-side refresh mechanisms
 - โ
 Added migration patches for backward compatibility
 
v1.1.0
- Added multiple proposal types
 - Enhanced UI/UX for proposal management
 - Improved API endpoints
 
v1.0.0
- Initial release
 - Basic Gamma.app integration
 - Quotation embedding functionality
 
๐ Support
Documentation
Community
Transform your quotations with interactive Gamma presentations!