Ostray is a dynamic workflow management system for handling leads, featuring modules for workflow definition, lead simulation, processing, and logging.
-
Clone the repository:
git clone https://github.com/Vwake04/ostray.git cd ostray
-
Install dependencies:
pip install -e .
-
Install
pytest
if not already installed:pip install pytest
-
Run the tests:
pytest
-
Define Workflows: Create a
workflows_config.json
file with your workflow configurations. Example:{ "workflows": [ { "lead_source": "Salesforce", "persona": { "name": "GPT-3", "description": "AI Sales Agent" }, "output_channel": "WhatsApp" } ] }
-
Run the Application: Use the following script to start the application:
from ostray.config_loader import JSONConfigLoader from ostray.workflow import WorkflowManager from ostray.lead_processor import LeadProcessor from ostray.logger import Logger from ostray.lead import Lead # Load workflows from configuration config_loader = JSONConfigLoader('workflows_config.json') workflows = config_loader.load_config() workflow_manager = WorkflowManager() workflow_manager.load_workflows(workflows) # Process a lead logger = Logger('lead_processing.log') lead_processor = LeadProcessor(workflow_manager, logger) lead = Lead('Salesforce Lead', 'Salesforce') lead_processor.process_lead(lead)
python simulate.py
ostray/
├── ostray/
│ ├── init.py
│ ├── channel.py
│ ├── config_loader.py
│ ├── lead.py
│ ├── logger.py
│ ├── persona.py
│ ├── trigger.py
│ ├── workflow.py
├── tests/
│ ├── init.py
│ ├── test_config_loader.py
│ ├── test_integration.py
│ ├── test_lead_processor.py
│ ├── test_workflow_config_loader.py
│ ├── test_workflow_manager.py
├── README.md
├── .gitignore
├── simulate.py
└── pyproject.toml