{
  "apiVersion": 60,
  "decisions": [
    {
      "name": "if_lead_converted",
      "label": "if lead converted",
      "locationX": 182,
      "locationY": 539,
      "defaultConnector": {
        "targetReference": "Create_Org"
      },
      "defaultConnectorLabel": "默认结果",
      "rules": [
        {
          "name": "converted",
          "conditionLogic": "and",
          "conditions": [
            {
              "leftValueReference": "$Record.IsConverted",
              "operator": "EqualTo",
              "rightValue": {
                "booleanValue": true
              }
            }
          ],
          "connector": {
            "targetReference": "Create_Org_1"
          },
          "label": "converted"
        }
      ]
    },
    {
      "name": "If_Org_By_Lead_Is_Null",
      "label": "If Org By Lead Is Null",
      "locationX": 380,
      "locationY": 431,
      "defaultConnector": {
        "targetReference": "Decide_Update_Org"
      },
      "defaultConnectorLabel": "Default Outcome",
      "rules": [
        {
          "name": "Org_Is_Null",
          "conditionLogic": "and",
          "conditions": [
            {
              "leftValueReference": "var_Org_Id",
              "operator": "IsNull",
              "rightValue": {
                "booleanValue": true
              }
            }
          ],
          "connector": {
            "targetReference": "Get_Org_By_Portal"
          },
          "label": "Org By Lead Is Null"
        }
      ]
    },
    {
      "name": "If_Org_By_Portal_Is_Null",
      "label": "If Org By Portal Is Null",
      "locationX": 380,
      "locationY": 431,
      "defaultConnector": {
        "targetReference": "Decide_Update_Org"
      },
      "defaultConnectorLabel": "Default Outcome",
      "rules": [
        {
          "name": "Org_By_Portal_Is_Null",
          "conditionLogic": "and",
          "conditions": [
            {
              "leftValueReference": "var_Org_Id",
              "operator": "IsNull",
              "rightValue": {
                "booleanValue": true
              }
            }
          ],
          "connector": {
            "targetReference": "if_lead_converted"
          },
          "label": "Org By Portal Is Null"
        }
      ]
    },
    {
      "name": "Decide_Update_Org",
      "label": "Backfill Account on converted Lead when Org not manually modified",
      "locationX": 760,
      "locationY": 431,
      "defaultConnector": {
        "targetReference": "Update_Org"
      },
      "defaultConnectorLabel": "Default Outcome",
      "rules": [
        {
          "name": "Needs_Account_Backfill",
          "conditionLogic": "and",
          "conditions": [
            {
              "leftValueReference": "$Record.IsConverted",
              "operator": "EqualTo",
              "rightValue": {
                "booleanValue": true
              }
            },
            {
              "leftValueReference": "var_Org_Manual_Modification_Account",
              "operator": "EqualTo",
              "rightValue": {
                "booleanValue": false
              }
            }
          ],
          "connector": {
            "targetReference": "Update_Org_WithAccount"
          },
          "label": "Needs Account Backfill"
        }
      ]
    }
  ],
  "formulas": [
    {
      "name": "orgname",
      "dataType": "String",
      "expression": "{!$Record.LastName}&{!$Record.FirstName}"
    }
  ],
  "label": "Lead Auto Create Org",
  "processType": "AutoLaunchedFlow",
  "recordCreates": [
    {
      "name": "Create_Org",
      "label": "Create Org",
      "locationX": 314,
      "locationY": 647,
      "inputAssignments": [
        {
          "field": "AcceptService__c",
          "value": {
            "elementReference": "$Record.Accept_Service__c"
          }
        },
        {
          "field": "Account_Status__c",
          "value": {
            "elementReference": "$Record.Account_Status__c"
          }
        },
        {
          "field": "Billing_Email__c",
          "value": {
            "elementReference": "$Record.Billing_Email__c"
          }
        },
        {
          "field": "Connection_Type__c",
          "value": {
            "elementReference": "$Record.Connection_Type__c"
          }
        },
        {
          "field": "Country__c",
          "value": {
            "elementReference": "$Record.Country"
          }
        },
        {
          "field": "Email__c",
          "value": {
            "elementReference": "$Record.Email"
          }
        },
        {
          "field": "ID__c",
          "value": {
            "elementReference": "$Record.Portal_ID__c"
          }
        },
        {
          "field": "IP_Address__c",
          "value": {
            "elementReference": "$Record.IP_Address__c"
          }
        },
        {
          "field": "Lead__c",
          "value": {
            "elementReference": "$Record.Id"
          }
        },
        {
          "field": "Name",
          "value": {
            "elementReference": "orgname"
          }
        },
        {
          "field": "Name__c",
          "value": {
            "elementReference": "$Record.Company"
          }
        },
        {
          "field": "Registration_Status__c",
          "value": {
            "elementReference": "$Record.Registration_Status__c"
          }
        },
        {
          "field": "TiDB_Cloud_User__c",
          "value": {
            "elementReference": "$Record.TiDB_Cloud_User__c"
          }
        },
        {
          "field": "agreement_time__c",
          "value": {
            "elementReference": "$Record.agreement_time__c"
          }
        },
        {
          "field": "created_at__c",
          "value": {
            "elementReference": "$Record.created_at__c"
          }
        },
        {
          "field": "remaining_points__c",
          "value": {
            "elementReference": "$Record.remaining_points__c"
          }
        },
        {
          "field": "source__c",
          "value": {
            "elementReference": "$Record.source__c"
          }
        }
      ],
      "object": "Org__c",
      "storeOutputAutomatically": true
    },
    {
      "name": "Create_Org_1",
      "label": "Create Org 的副本 1",
      "locationX": 50,
      "locationY": 647,
      "inputAssignments": [
        {
          "field": "AcceptService__c",
          "value": {
            "elementReference": "$Record.Accept_Service__c"
          }
        },
        {
          "field": "Account_Status__c",
          "value": {
            "elementReference": "$Record.Account_Status__c"
          }
        },
        {
          "field": "Account__c",
          "value": {
            "elementReference": "$Record.ConvertedAccountId"
          }
        },
        {
          "field": "Billing_Email__c",
          "value": {
            "elementReference": "$Record.Billing_Email__c"
          }
        },
        {
          "field": "Connection_Type__c",
          "value": {
            "elementReference": "$Record.Connection_Type__c"
          }
        },
        {
          "field": "Country__c",
          "value": {
            "elementReference": "$Record.Country"
          }
        },
        {
          "field": "Email__c",
          "value": {
            "elementReference": "$Record.Email"
          }
        },
        {
          "field": "ID__c",
          "value": {
            "elementReference": "$Record.Portal_ID__c"
          }
        },
        {
          "field": "IP_Address__c",
          "value": {
            "elementReference": "$Record.IP_Address__c"
          }
        },
        {
          "field": "Lead__c",
          "value": {
            "elementReference": "$Record.Id"
          }
        },
        {
          "field": "Name",
          "value": {
            "elementReference": "orgname"
          }
        },
        {
          "field": "Name__c",
          "value": {
            "elementReference": "$Record.Company"
          }
        },
        {
          "field": "Registration_Status__c",
          "value": {
            "elementReference": "$Record.Registration_Status__c"
          }
        },
        {
          "field": "TiDB_Cloud_User__c",
          "value": {
            "elementReference": "$Record.TiDB_Cloud_User__c"
          }
        },
        {
          "field": "agreement_time__c",
          "value": {
            "elementReference": "$Record.agreement_time__c"
          }
        },
        {
          "field": "created_at__c",
          "value": {
            "elementReference": "$Record.created_at__c"
          }
        },
        {
          "field": "remaining_points__c",
          "value": {
            "elementReference": "$Record.remaining_points__c"
          }
        },
        {
          "field": "source__c",
          "value": {
            "elementReference": "$Record.source__c"
          }
        }
      ],
      "object": "Org__c",
      "storeOutputAutomatically": true
    }
  ],
  "recordLookups": [
    {
      "name": "Get_Org",
      "label": "Get Org",
      "locationX": 380,
      "locationY": 323,
      "assignNullValuesIfNoRecordsFound": true,
      "connector": {
        "targetReference": "If_Org_By_Lead_Is_Null"
      },
      "filterLogic": "and",
      "filters": [
        {
          "field": "Lead__c",
          "operator": "EqualTo",
          "value": {
            "elementReference": "$Record.Id"
          }
        }
      ],
      "getFirstRecordOnly": true,
      "object": "Org__c",
      "outputAssignments": [
        {
          "assignToReference": "var_Org_Id",
          "field": "Id"
        },
        {
          "assignToReference": "var_Org_Manual_Modification_Account",
          "field": "Manual_Modification_Account__c"
        }
      ]
    },
    {
      "name": "Get_Org_By_Portal",
      "label": "Get Org By Portal",
      "locationX": 380,
      "locationY": 323,
      "assignNullValuesIfNoRecordsFound": true,
      "connector": {
        "targetReference": "If_Org_By_Portal_Is_Null"
      },
      "filterLogic": "and",
      "filters": [
        {
          "field": "ID__c",
          "operator": "EqualTo",
          "value": {
            "elementReference": "$Record.Portal_ID__c"
          }
        }
      ],
      "getFirstRecordOnly": true,
      "object": "Org__c",
      "outputAssignments": [
        {
          "assignToReference": "var_Org_Id",
          "field": "Id"
        },
        {
          "assignToReference": "var_Org_Manual_Modification_Account",
          "field": "Manual_Modification_Account__c"
        }
      ]
    }
  ],
  "recordUpdates": [
    {
      "name": "Update_Org",
      "label": "Update Org",
      "locationX": 578,
      "locationY": 539,
      "filterLogic": "and",
      "filters": [
        {
          "field": "Id",
          "operator": "EqualTo",
          "value": {
            "elementReference": "var_Org_Id"
          }
        }
      ],
      "inputAssignments": [
        {
          "field": "AcceptService__c",
          "value": {
            "elementReference": "$Record.Accept_Service__c"
          }
        },
        {
          "field": "Account_Status__c",
          "value": {
            "elementReference": "$Record.Account_Status__c"
          }
        },
        {
          "field": "Billing_Email__c",
          "value": {
            "elementReference": "$Record.Billing_Email__c"
          }
        },
        {
          "field": "Connection_Type__c",
          "value": {
            "elementReference": "$Record.Connection_Type__c"
          }
        },
        {
          "field": "Country__c",
          "value": {
            "elementReference": "$Record.Country"
          }
        },
        {
          "field": "Email__c",
          "value": {
            "elementReference": "$Record.Email"
          }
        },
        {
          "field": "ID__c",
          "value": {
            "elementReference": "$Record.Portal_ID__c"
          }
        },
        {
          "field": "IP_Address__c",
          "value": {
            "elementReference": "$Record.IP_Address__c"
          }
        },
        {
          "field": "Lead__c",
          "value": {
            "elementReference": "$Record.Id"
          }
        },
        {
          "field": "Name",
          "value": {
            "elementReference": "orgname"
          }
        },
        {
          "field": "Name__c",
          "value": {
            "elementReference": "$Record.Company"
          }
        },
        {
          "field": "Registration_Status__c",
          "value": {
            "elementReference": "$Record.Registration_Status__c"
          }
        },
        {
          "field": "TiDB_Cloud_User__c",
          "value": {
            "elementReference": "$Record.TiDB_Cloud_User__c"
          }
        },
        {
          "field": "agreement_time__c",
          "value": {
            "elementReference": "$Record.agreement_time__c"
          }
        },
        {
          "field": "created_at__c",
          "value": {
            "elementReference": "$Record.created_at__c"
          }
        },
        {
          "field": "remaining_points__c",
          "value": {
            "elementReference": "$Record.remaining_points__c"
          }
        },
        {
          "field": "source__c",
          "value": {
            "elementReference": "$Record.source__c"
          }
        }
      ],
      "object": "Org__c"
    },
    {
      "name": "Update_Org_WithAccount",
      "label": "Update Org (with Account backfill)",
      "locationX": 578,
      "locationY": 659,
      "filterLogic": "and",
      "filters": [
        {
          "field": "Id",
          "operator": "EqualTo",
          "value": {
            "elementReference": "var_Org_Id"
          }
        }
      ],
      "inputAssignments": [
        {
          "field": "AcceptService__c",
          "value": {
            "elementReference": "$Record.Accept_Service__c"
          }
        },
        {
          "field": "Account_Status__c",
          "value": {
            "elementReference": "$Record.Account_Status__c"
          }
        },
        {
          "field": "Billing_Email__c",
          "value": {
            "elementReference": "$Record.Billing_Email__c"
          }
        },
        {
          "field": "Connection_Type__c",
          "value": {
            "elementReference": "$Record.Connection_Type__c"
          }
        },
        {
          "field": "Country__c",
          "value": {
            "elementReference": "$Record.Country"
          }
        },
        {
          "field": "Email__c",
          "value": {
            "elementReference": "$Record.Email"
          }
        },
        {
          "field": "ID__c",
          "value": {
            "elementReference": "$Record.Portal_ID__c"
          }
        },
        {
          "field": "IP_Address__c",
          "value": {
            "elementReference": "$Record.IP_Address__c"
          }
        },
        {
          "field": "Lead__c",
          "value": {
            "elementReference": "$Record.Id"
          }
        },
        {
          "field": "Name",
          "value": {
            "elementReference": "orgname"
          }
        },
        {
          "field": "Name__c",
          "value": {
            "elementReference": "$Record.Company"
          }
        },
        {
          "field": "Registration_Status__c",
          "value": {
            "elementReference": "$Record.Registration_Status__c"
          }
        },
        {
          "field": "TiDB_Cloud_User__c",
          "value": {
            "elementReference": "$Record.TiDB_Cloud_User__c"
          }
        },
        {
          "field": "agreement_time__c",
          "value": {
            "elementReference": "$Record.agreement_time__c"
          }
        },
        {
          "field": "created_at__c",
          "value": {
            "elementReference": "$Record.created_at__c"
          }
        },
        {
          "field": "remaining_points__c",
          "value": {
            "elementReference": "$Record.remaining_points__c"
          }
        },
        {
          "field": "source__c",
          "value": {
            "elementReference": "$Record.source__c"
          }
        },
        {
          "field": "Account__c",
          "value": {
            "elementReference": "$Record.ConvertedAccountId"
          }
        }
      ],
      "object": "Org__c"
    }
  ],
  "start": {
    "locationX": 254,
    "locationY": 0,
    "connector": {
      "targetReference": "Get_Org"
    },
    "filterLogic": "and",
    "filters": [
      {
        "field": "Portal_ID__c",
        "operator": "IsNull",
        "value": {
          "booleanValue": false
        }
      }
    ],
    "object": "Lead",
    "recordTriggerType": "CreateAndUpdate",
    "triggerType": "RecordAfterSave"
  },
  "status": "Active",
  "variables": [
    {
      "name": "var_Org_Id",
      "dataType": "String"
    },
    {
      "name": "var_Org_Manual_Modification_Account",
      "dataType": "Boolean"
    }
  ]
}
