How to start a workflow when a candidate profile gets assigned to a job?

How to start a workflow when a candidate profile gets assigned to a job?

I would like to start a workflow when a candidate record gets assigned to a job description, then do some testing and filtering, then based on what job it was assigned to, send an e-mail in which I have access to the candidate data as well as to the job data? 

While we are at it, I like to filter based on information in the attached resume, not just the skills field? 

i.e. automatically send an e-mail with a job specific test to all candidates that apply for Job with jobID == 22, with "WebLogic" "Java", "J2EE", and "JavaScript" in the resume, but not to "Administrators". 

Thanks for any suggestions. 

Thomas.