Hi @Anonymous,
In addition to @ChristianAbata his approach you can also amend the current column formatting example and use a operator to set the visibility.
Below is an example of that.
This does require the creation of an additional choice column (Button Request Status) with the values Send for Approval and Request Sent. However, you can hide that column from your view.
{
"$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
"elmType": "button",
"txtContent": "Send for Approval",
"customRowAction": {
"action": "executeFlow",
"actionParams": "{\"id\": \"3bd8a3d9-311c-46ec-9c09-a2ccc2a62b8a\"}"
},
"style": {
"background-color": "#468259",
"color": "white",
"visibility": {
"operator": "?",
"operands": [
{
"operator": "==",
"operands": [
"[$ButtonRequestStatus]",
"Send for Approval"
]
},
"visible",
"hidden"
]
}
}
}

Within the flow setup you can use an update item to set Button Request Status to Request Sent. This will make sure that the button is hidden.
