A comprehensive Python-based dashboard for managing and analyzing Formstack forms, folders, and data. Built with Flask, this application provides detailed insights into form usage, analytics, and management capabilities through a modern web interface.
- Form Overview: Complete dashboard with form statistics and metrics
- Analytics & Audit: Advanced form health scoring and usage analytics
- Usage Tracking: Monitor form activity, submissions, and engagement
- Health Insights: Identify unused, stale, and dormant forms
- Folder Management: Hierarchical folder structure analysis with depth visualization
- Form Details: Comprehensive form information with webhooks, integrations, and notifications
- Smart Search: Advanced filtering and search capabilities with multiple criteria
- SmartLists Integration: Manage and analyze Formstack SmartLists
- Partial Submissions Tracking: Monitor incomplete form submissions
- Integration Analysis: View connected services and webhooks
- Notification Management: Track email notifications and confirmations
- Field Analysis: Detailed form field structure examination
- Date Range Filtering: Filter by creation date and last submission date
- Backend: Python 3.x, Flask
- Frontend: HTML5, CSS3, JavaScript, Tailwind CSS
- Data Processing: Pandas for data analysis
- API Integration: Formstack REST API
- UI Framework: Font Awesome icons, responsive design
- Python 3.7 or higher
- Formstack API key
- pip package manager
-
Clone the repository
git clone https://github.com/yourusername/formstack-manager.git cd formstack-manager -
Install dependencies
pip install -r requirements.txt
-
Set up environment variables Create a
.envfile in the root directory:FORMSTACK_API_KEY=your_api_key_here
-
Run the application
python src/dashboard/app.py
Or use the development server:
python run_server.py
-
Access the dashboard Open your browser and navigate to
http://localhost:5006(orhttp://localhost:5001if using run_server.py)
formstack-manager/
โโโ src/
โ โโโ api/
โ โ โโโ formstack_client.py # Formstack API client
โ โโโ analysis/
โ โ โโโ folder_analyzer.py # Folder data analysis
โ โ โโโ form_analyzer.py # Form data analysis
โ โโโ dashboard/
โ โโโ app.py # Flask application
โ โโโ templates/ # HTML templates
โ โโโ index.html # Main dashboard
โ โโโ audit.html # Analytics page
โ โโโ folders.html # Folder management
โ โโโ form-details.html # Form details
โ โโโ advanced-search.html # Search interface
โ โโโ smartlists.html # SmartLists page
โ โโโ smartlist-details.html # SmartList details
โโโ test_*.py # API testing scripts
โโโ main.py # Command-line interface
โโโ run_server.py # Development server
โโโ .env # Environment variables (create this)
โโโ .gitignore # Git ignore file
โโโ README.md
| Variable | Description | Required |
|---|---|---|
FORMSTACK_API_KEY |
Your Formstack API key | Yes |
- Log in to your Formstack account
- Navigate to Settings โ API
- Generate a new API key
- Copy the key to your
.envfile
- View total forms, submissions, and activity metrics
- Quick access to developer resources
- Real-time statistics updates
- Recent forms overview
- Form health scoring (percentage of active forms)
- Usage analytics (recent activity, stale forms, dormant forms)
- Actionable insights and recommendations
- Detailed form lifecycle analysis
- Hierarchical folder structure visualization
- Form distribution across folders
- Folder statistics and metrics
- Sortable and filterable table view
- Column visibility controls
- Multi-criteria form filtering including:
- Form status (active/inactive)
- Submissions count ranges
- Date ranges (created and last submission)
- Webhooks, confirmations, notifications
- Partial submissions and integrations
- Export capabilities
- Custom search parameters
- Real-time filtering
- Comprehensive form information
- Webhook and integration management
- Notification tracking
- Field structure analysis
- Partial submissions overview
- View all SmartLists in your account
- SmartList statistics and overview
- Individual SmartList details
Run reports directly from the command line:
python main.pyThis generates a comprehensive form summary report with:
- Form creation dates
- Last submission timestamps
- Folder associations
- Activity metrics
The project includes API testing scripts for debugging and exploration:
# Test basic API functionality
python test_api.py
# Test SmartLists API endpoints
python test_smartlists_api.pyThese scripts help validate API connectivity and troubleshoot issues with specific Formstack endpoints.
Calculated as: (Forms with Submissions / Total Forms) ร 100
- Active: Forms with submissions in the last 30 days
- Stale: Forms with no submissions in 6+ months
- Dormant: Forms inactive for 1+ year
- Unused: Forms that have never received submissions
- Form health recommendations
- Usage optimization suggestions
- Cleanup candidates identification
- Performance trend analysis
The application integrates with multiple Formstack API endpoints:
- Forms API:
/api/v2/forms - Folders API:
/api/v2/folders - Submissions API:
/api/v2/forms/{id}/submissions - Webhooks API:
/api/v2/forms/{id}/webhooks - Integrations API:
/api/v2/forms/{id}/integrations - Confirmations API:
/api/v2/forms/{id}/confirmations - Notifications API:
/api/v2/forms/{id}/notifications - SmartLists API:
/api/v2/smartlists
-
FormstackClient (
src/api/formstack_client.py)- Handles all API communications
- Rate limiting and error handling
- Authentication management
-
FormAnalyzer (
src/analysis/form_analyzer.py)- Processes form data for insights
- Calculates metrics and statistics
- Generates summary reports
-
FolderAnalyzer (
src/analysis/folder_analyzer.py)- Analyzes folder hierarchy
- Calculates folder statistics
- Manages folder relationships
-
Flask Application (
src/dashboard/app.py)- Web interface and routing
- Template rendering
- API endpoints for frontend
| Page | Key Features | Purpose |
|---|---|---|
| Dashboard | Overview stats, recent forms | Quick health check |
| Audit | Analytics cards, insights | Deep analysis |
| Folders | Hierarchy view, statistics | Organization management |
| Advanced Search | Multi-filter search, export | Detailed form discovery |
| Form Details | Complete form information | Individual form analysis |
| SmartLists | SmartList management | Data collection insights |
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Developer: Emin Devrim Fidan
- AI Assistant: GitHub Copilot for development assistance
- Framework: Flask for the web application framework
- UI: Tailwind CSS for responsive design
- Icons: Font Awesome for the icon library
- API rate limiting may affect large-scale data retrieval
- Some Formstack features may require specific account permissions
- Date parsing assumes specific Formstack date formats
- Export functionality for analytics reports
- Email notifications for form health alerts
- Scheduled automated reports
- Integration with external analytics platforms
- Multi-account support
- Advanced visualization charts
- Form performance tracking
- Automated cleanup recommendations
- Dashboard customization options
For issues and questions:
- Check the Issues page
- Create a new issue with detailed information
- Include error messages and system information
- API keys are stored in environment variables
- No sensitive data is logged or exposed
- All API communications use HTTPS
- Follow Formstack's API usage guidelines
If this project helps you manage your Formstack forms more effectively, please consider:
- โญ Starring the repository
- ๐ Reporting bugs
- ๐ก Suggesting new features
- ๐ค Contributing to the codebase
Built with โค๏ธ for the Formstack community
Transform your form management experience with powerful analytics and insights.
