{
  "kind": "open-flow-workflow",
  "version": 1,
  "name": "Route a support ticket",
  "content": {
    "modelVersion": 14,
    "document": {
      "bindings": {},
      "graph": {
        "nodes": {
          "start": {
            "name": "Start",
            "kind": "start",
            "inputDefs": []
          },
          "route": {
            "inputs": {},
            "name": "Route the ticket",
            "kind": "condition",
            "matchMode": "first",
            "cases": [
              {
                "description": "Priority customer",
                "output": "priority",
                "groups": [
                  {
                    "expressions": [
                      {
                        "left": {
                          "kind": "value",
                          "value": "priority"
                        },
                        "operator": "==",
                        "right": {
                          "kind": "value",
                          "value": "priority"
                        }
                      }
                    ]
                  }
                ]
              }
            ]
          },
          "priority": {
            "inputs": {},
            "name": "Priority queue",
            "kind": "task",
            "task": {
              "inputs": [],
              "outputs": [
                {
                  "jsonSchema": {
                    "type": "string"
                  },
                  "nullable": false,
                  "handle": "message"
                }
              ],
              "name": "Priority queue",
              "moduleId": "priority-module",
              "capabilities": [
                {
                  "kind": "connector",
                  "mode": "independent",
                  "actions": []
                }
              ]
            }
          },
          "standard": {
            "inputs": {},
            "name": "Standard queue",
            "kind": "task",
            "task": {
              "inputs": [],
              "outputs": [
                {
                  "jsonSchema": {
                    "type": "string"
                  },
                  "nullable": false,
                  "handle": "message"
                }
              ],
              "name": "Standard queue",
              "moduleId": "standard-module",
              "capabilities": [
                {
                  "kind": "connector",
                  "mode": "independent",
                  "actions": []
                }
              ]
            }
          }
        },
        "edges": [
          {
            "source": "start",
            "target": "route"
          },
          {
            "source": "route",
            "target": "priority",
            "sourceHandle": "priority"
          },
          {
            "source": "route",
            "target": "standard",
            "sourceHandle": "otherwise"
          }
        ]
      }
    },
    "modules": {
      "priority-module": {
        "name": "Priority queue",
        "imports": [],
        "source": "export default () => ({ message: \"Escalate to the on-call team\" });"
      },
      "standard-module": {
        "name": "Standard queue",
        "imports": [],
        "source": "export default () => ({ message: \"Add to the support queue\" });"
      }
    }
  },
  "presentation": {
    "designer": {
      "version": 1,
      "flow": {
        "nodes": {
          "start": {
            "x": 0,
            "y": 150
          },
          "route": {
            "x": 340,
            "y": 150
          },
          "priority": {
            "x": 680,
            "y": 0
          },
          "standard": {
            "x": 680,
            "y": 300
          }
        }
      }
    }
  }
}
