A few things about this: (with brevity)
1 - the create listing button should be disabled if the user already has a listing (so no ‘create a thing’ workflow should be running if they already have an active listing)
2 - to determine if a User already has a listing; I propose that you should add a field to the Listing which is named “Owner” and you store the User whom created the Listing.
3 - On the User Object itself, you can store the “Current Listing”. (To make things easier for you as a beginner)
Anytime you need to check if the user has a current listing you can check “Current User: Current Listing is not empty” OR you can Do a search for Listing where Owner = Current User AND Status = Active
Once the listing is closed or inactivated; update the listing with a relevant status (closed or inactive) AND remove the Listing from the User Object . At this point, the [Create Listing] button should allow the user to create a new listing.
NEXT on the topic of Making Changes VS Creating a New Listing
Make your life easier by using a “SAVE” button for making changes and a “CREATE” button for creating new listing.
Use the conditions above to determine which button is relevant. For the save button (when modifying the listing) use the action “Make a change to” and select the relevant listing