Appointment Workflow - Flowable

I have a requirement to build a flowable workflow in which we can create , update and delete appointments and also provide reminders after a certain time to the agent and if an appointment is updated or deleted before appointment end time it should go back to previous state. Also appointment updation is done from external trigger. How should I proceed ahead for this workflow creation. What tasks and events should I use?