You could use a scheduled event. Create a daily (or even hourly, if time is of the essence) scheduled event and in the event microflow retrieve all objects where status = Submitted and where changedDate (or a custom “status changed” datetime attribute) is smaller than current datetime minus one week. Create a datetime variable to compare to in your xpath retrieve, or use xpath keywords like ‘[%CurrentDateTime%] – [%WeekLength%]’ Then in a loop change status to Approved and after the loop, commit the list. Note that there is a project setting for the time zone to be used in scheduled events.
To add to Martin, You might want to check out the learning path below which explains scheduled events, loops and batches which are all helpful for your use case.