Create new potential automatically based on existing potential

Create new potential automatically based on existing potential

Hello,

I am trying to automate a workflow for creating new potential based on existing potential. Basically, I want to duplicate a potential 30 days before an existing date field is reaching it's date and setup some values on this potential duplicate. What is the easiest way to do it.

Thanks in advance.