Skip to content

A Python module for the WorkflowMax 2 API integration, providing robust contact management and custom field handling with proper XML formatting, type validation, and comprehensive error handling. Features OAuth2 authentication, detailed logging, and both CLI and programmatic interfaces.

License

Notifications You must be signed in to change notification settings

Claw256/workflowmax

Repository files navigation

MTD WorkflowMax Integration

A Python module for integrating with the WorkflowMax API, providing robust contact management and custom field handling capabilities.

Features

  • 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

Quick Start

  1. Install from PyPI:
pip install mtd-workflowmax
  1. Configure authentication:
  • Copy .env.template to .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
    
  1. 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"

Documentation

Comprehensive documentation is available in the docs/ directory:

Key Components

  • mtd_workflowmax/cli.py - Command-line interface
  • mtd_workflowmax/services/ - Business logic layer
  • mtd_workflowmax/repositories/ - Data access layer
  • mtd_workflowmax/models/ - Data models and validation
  • mtd_workflowmax/api/ - API client and authentication

Important Notes

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

Development

  1. Clone the repository:
git clone https://github.com/Claw256/mtd_workflowmax.git
cd mtd_workflowmax
  1. Create virtual environment:
python -m venv venv
source venv/bin/activate  # Linux/Mac
venv\Scripts\activate     # Windows
  1. Install dependencies:
pip install -r requirements.txt

Contributing

  1. Follow the existing code structure and patterns
  2. Add tests for new functionality
  3. Update documentation as needed
  4. Submit pull requests for review

License

MIT License - see LICENSE.md for details

About

A Python module for the WorkflowMax 2 API integration, providing robust contact management and custom field handling with proper XML formatting, type validation, and comprehensive error handling. Features OAuth2 authentication, detailed logging, and both CLI and programmatic interfaces.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages