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!