I was able to accomplish this with the following high-level steps (I am sure there are more efficient ways, but I use this structure throughout):
Create a data type called Batch Process with the fields Name and Frequency (note you cannot dynamically set Frequency of recurring endpoints based on app data, would be nice if you could… so the frequency is really just for information purposes)
Create a data type called Process Logs that has the fields Start Time, End Time, Process Name, and Result
Added a Field to the User data type called “Last Weekly Summary” with a data type of Process Logs
Create an API endpoint is recursive on itself. Use the Make Changes to User… action update the first user that meets the criteria you have to receive an email that week, then the API loops through itself until there are no users remaining to update. The second step of the recursive endpoint is an API call I created to send the emails to the email address of the result of step 1.
Step 1 of the Recurring Endpoint is create a new Process Logs and set Process Name to the name of my Recurring Endpoint and Start Time = current date/time, then step 2 uses the Result of step 1 as the input for the recursive endpoint
Once you complete something similar to the steps above, you then need to actually schedule the Recurring workflow. I created an Admin page in my app to do this through the application, however you can do this. Here is the action behind the button in the application.