Campaign trigger on field changes


I am tracking a custom field which shows where a contact is within a hiring process. This field is updated through the api. I want to communicate with the contacts depending on the value of that field and how often it changes.

Is it possible to trigger a campaign event when a field changes or if it doesn’t change for a certain period of time? For example, when it changes to the next step in the process I want to send out a specific email, but if it doesn’t change for say 2 weeks, I want to send out an email just keeping the contact in the loop.