Capture Row ID of New Row Added to Parent to use in action and bot

I am using the native Appsheet Database. Building a Volunteer app for our team to use. So, each new row get a uniqueID value in the Row ID column. I am trying to use a bot and two actions to add new rows to a table when a new volunteer application is saved. I have not been able to make this work properly. What expression should I use to capture the new and current Row ID in the Volunteers table. This will populate the VolunteerID column in the child table. Gemini gave me many suggestions, but none have worked. This involves three tables. The Volunteers table holds basic information about each volunteer, Row ID is the key column. A VolunteerAbilitiesList which are the abilities the volunteer selects from an EnumList when filling out the application. And a VolunteerSelectedAbilities table, which is the table to track the VolunteerID and each Ability selected. Attached are a few screen shots, hope they help. The database columns image does show a couple of VolunteerID correctly, but it has not worked consistantly and I have deleted many rows while testing.

I am currently using the expression MAXROW(“Volunteers”, “_ROWNUMBER”) to get the Row ID from the newly created Volunteers record.
While this is working, I am afraid it will create problems if two volunteers save their applications at the same time. Any thoughts on capturing the Row ID from the Volunteers table for a newly saved application, to pass to the the actions to add rows to another table with the Volunteer Row ID. I do not want to try to utilize the email column of the Volunteers table as this may not always have a value. (The volunteer may not have an email address or may not want to share it.

The bot should be triggered by the row added to Volunteers. The bot’s process’ first step should be to implement something like this:

Note that your use of AppSheet Database is immaterial to this problem.