# Workflow Definitions

This directory contains workflow definitions in JSON format that can be imported into EspoCRM using the workflow manager script.

## File Format

### Simple Workflow
```json
{
    "type": "simple",
    "name": "workflow-name",
    "entity_type": "EntityName",
    "trigger_type": "afterRecordSaved",
    "is_active": true,
    "description": "Description of what this workflow does",
    "category": "Category Name",
    "conditions_all": [],
    "conditions_any": [],
    "conditions_formula": null,
    "actions": []
}
```

**Trigger Types:**
- `afterRecordSaved` - After record is created or updated
- `afterRecordCreated` - Only after record is created
- `scheduled` - Runs on a schedule
- `manual` - Manually triggered

**Condition Types:**
- `equals`, `notEquals`, `greaterThan`, `lessThan`, `contains`, `notContains`, `isEmpty`, `isNotEmpty`, `isTrue`, `isFalse`, `wasEqual`, `wasNotEqual`, `changed`, `notChanged`

**Action Types:**
- `sendEmail` - Send email to recipient
- `createEntity` - Create a new record
- `updateEntity` - Update current record
- `relateTo` - Link to another record
- `unrelateFrom` - Unlink from record
- `applyAssignmentRule` - Apply assignment rules
- `createNotification` - Create notification

### BPM Flowchart
```json
{
    "type": "bpm",
    "name": "flowchart-name",
    "target_type": "EntityName",
    "is_active": true,
    "description": "Description",
    "data": {
        "list": []
    },
    "elements_data_hash": {},
    "event_start_all_id_list": []
}
```

## Usage

Import a workflow:
```bash
docker exec espocrm php /var/www/html/custom/scripts/workflow_manager.php import /var/www/html/custom/workflows/your-workflow.json
```

Export a workflow:
```bash
docker exec espocrm php /var/www/html/custom/scripts/workflow_manager.php export <workflow-id> /var/www/html/custom/workflows/exported.json
```

## Examples

- `vmh-erstberatung-abschliessen.json` - Sends email and sets status when consultation is completed
