I am trying to solve a problem with automation, any suggestions? 
I have a custom field (date) in deals that gets filled when the deal is won. 

The date is a photo shoot and it can be anything from one month to six months forward from the won date. I would like to have an activity created automatically when the deal is won. 

The activity should be three weeks before the photo shoot date. Is this possible?