A Python module for integrating with the WorkflowMax API, providing robust contact management and custom field handling capabilities.
- OAuth2 authentication with WorkflowMax API
- Contact management (view, update)
- Custom field handling with proper XML formatting
- Type validation and conversion
- Comprehensive error handling
- Logging and debugging support
- Install from PyPI:
pip install mtd-workflowmax- Configure authentication:
- Copy
.env.templateto.env - Fill in your WorkflowMax API credentials:
WORKFLOWMAX_CLIENT_ID=your-client-id WORKFLOWMAX_CLIENT_SECRET=your-client-secret WORKFLOWMAX_REFRESH_TOKEN=your-refresh-token
- Basic usage:
# View contact details
python -m mtd_workflowmax.cli contact view "contact-uuid"
# Update custom field
python -m mtd_workflowmax.cli contact set-field "contact-uuid" "LINKEDIN PROFILE" "https://www.linkedin.com/in/username"Comprehensive documentation is available in the docs/ directory:
- Getting Started - Module overview and setup
- Usage Guide - Detailed usage examples and API documentation
- Architecture - System design and components
- API Integration - WorkflowMax API details
- Models - Data models and XML handling
- Examples - Code examples and common use cases
mtd_workflowmax/cli.py- Command-line interfacemtd_workflowmax/services/- Business logic layermtd_workflowmax/repositories/- Data access layermtd_workflowmax/models/- Data models and validationmtd_workflowmax/api/- API client and authentication
When working with custom fields:
- XML tag order matters (UUID must come first)
- All custom fields must be included in updates
- Link URLs should be preserved in their original format
- Include UUIDs in custom field updates
- Clone the repository:
git clone https://github.com/Claw256/mtd_workflowmax.git
cd mtd_workflowmax- Create virtual environment:
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows- Install dependencies:
pip install -r requirements.txt- Follow the existing code structure and patterns
- Add tests for new functionality
- Update documentation as needed
- Submit pull requests for review
MIT License - see LICENSE.md for details