{
  "apiVersion": 64,
  "status": "Active",
  "label": "Standard Change Owner",
  "description": "Changes record owner through the app-blind bounded-atomic Runtime owner-transfer mechanism. Notification requests fail closed until a durable post-commit owner is available.",
  "processType": "AutoLaunchedFlow",
  "runAtomically": true,
  "start": {
    "locationX": 40,
    "locationY": 0,
    "connector": {
      "targetReference": "InvokeChangeOwner"
    }
  },
  "variables": [
    {
      "name": "recordId",
      "dataType": "String",
      "isInput": true,
      "isOutput": true
    },
    {
      "name": "objectApiName",
      "dataType": "String",
      "isInput": true
    },
    {
      "name": "newOwnerId",
      "dataType": "String",
      "isInput": true,
      "isOutput": true
    },
    {
      "name": "previousOwnerId",
      "dataType": "String",
      "isOutput": true
    },
    {
      "name": "sendNotification",
      "dataType": "Boolean",
      "isInput": true
    }
  ],
  "formulas": [
    {
      "name": "ObjectTransferCapability",
      "dataType": "String",
      "expression": "\"TransferAny\" & {!objectApiName}"
    }
  ],
  "actionCalls": [
    {
      "name": "InvokeChangeOwner",
      "label": "Change Owner",
      "locationX": 40,
      "locationY": 120,
      "actionName": "transferRecordOwner",
      "actionType": "transferRecordOwner",
      "inputParameters": [
        {
          "name": "recordId",
          "value": {
            "elementReference": "recordId"
          }
        },
        {
          "name": "objectApiName",
          "value": {
            "elementReference": "objectApiName"
          }
        },
        {
          "name": "newOwnerId",
          "value": {
            "elementReference": "newOwnerId"
          }
        },
        {
          "name": "sendNotification",
          "value": {
            "elementReference": "sendNotification"
          }
        },
        {
          "name": "ownerFieldApiName",
          "value": "OwnerId"
        },
        {
          "name": "principalObjectApiName",
          "value": "User"
        },
        {
          "name": "principalActiveFieldApiName",
          "value": "IsActive"
        },
        {
          "name": "globalTransferCapability",
          "value": "TransferAnyEntity"
        },
        {
          "name": "objectTransferCapability",
          "value": {
            "elementReference": "ObjectTransferCapability"
          }
        }
      ],
      "outputParameters": [
        {
          "name": "recordId",
          "value": {
            "elementReference": "recordId"
          }
        },
        {
          "name": "previousOwnerId",
          "value": {
            "elementReference": "previousOwnerId"
          }
        },
        {
          "name": "newOwnerId",
          "value": {
            "elementReference": "newOwnerId"
          }
        }
      ]
    }
  ]
}
