I'm creating a license expiration system, which notifies license holders of their expiring licenses. At multiple intervals (60/30/15 for example), I will send an email to the license holder. If the license holder provides updated license dates, I want to prevent further emails from going out.
I realize there are multiple workarounds possible to do what I want to do, but each that I come up doesn't provide for an optimal user experience. The most direct way to do this is to be able to just clear out any remaining time-based workflows that haven't been executed.
Therefore, my questions are:
- Is it possible to remove unexecuted time-based workflow using either Visual Flow or Apex?
- If so, which object(s) do I need to delete or update records on?