This program is designed for companies with multiple user support departments: IT, human resources, etc. It's an assistant application that navigates a decision tree, allowing users to direct their support requests to the correct department with the appropriate information. This is the desktop application component, which retrieves information from ChooseIT Creator.
- 🧙 Wizard Interface - Step-by-step navigation like installation wizards
- 📱 Dark Theme - Modern, professional dark UI
- 🔄 Auto-sync - Automatically fetches latest decision tree on startup
- 📝 Form Support - Collects user input through various field types
- 📧 Email Integration - Opens email client with pre-filled data
- 🔗 URL Actions - Opens links in default browser
- ⏪ Navigation History - Go back to previous steps
- Python 3.11 or higher
- Tkinter (included with Python on Windows)
No external dependencies required!
- Clone or download this repository
- Ensure Python 3.11+ is installed
- Run the application:
python main.pyOr use the latest msi installer or package with exe.
# Use local JSON file
python main.py --json path/to/decision-tree.json
# Fetch from server
python main.py --server http://localhost/decision-tree-creator
# Enable debug logging
python main.py --debugpython main.py --json example_tree.json- Next - Proceed to the next step (requires selection for Question nodes)
- Previous - Go back to the previous step
- Cancel - Exit the application
The application supports various input types defined in the decision tree:
| Type | Description |
|---|---|
| Input | Single-line text field |
| Textarea | Multi-line text field |
| Dropdown | Select from predefined options |
| Radio | Single choice from options |
| Checkbox | Multiple choices |
The application stores configuration in <user>/.chooseIT_creator/:
config.json- Application settingscached_tree.json- Cached decision tree for offline use
Use {brickId} syntax to include collected data:
- In messages:
Hello {i1}! - In email subjects:
Request from {name} - {department} - In email body:
Name: {name}\nIssue: {description}
- Configure server URL in config.json or via command line
- Deploy to workstations via GPO, SCCM, or manual installation
- JSON updates are automatically fetched on each launch
If the server is unavailable, the application uses the cached decision tree from the last successful sync.
- Check that
--jsonor--serveris correctly specified - Verify the JSON file exists and is valid
- Check network connectivity to the server
- Ensure Tkinter is installed:
python -m tkinter - On Linux, install:
sudo apt-get install python3-tk
- Verify brick IDs match exactly (case-sensitive)
- Check that bricks are defined in the form node
MIT License
- ChooseIT Creator - Visual editor for creating decision trees
- Program icon from Icon-icons
