Need a way to accomplish this well. My app tracks job. Each job has a job type, and the user can create workflow items (kind-of like templates) which each job with that particular job type will then get and be able to track all within that particular job.
Currently, I run an API workflow which makes a ‘job workflow item’ for each ‘workflow item’ it encounters in the job’s, job type’s record. And, it assigns all of those newly created items to the job.
What I didn’t account for is the number of times someone might want to update their workflow template and the fact that they want those changes to reflect in each job that workflow is assigned to. They create new workflow items, they want them to show up in all the corresponding jobs. They delete an item, they want it gone from all the corresponding jobs etc.
I know that I could write an API workflow that would run after any changes are made to the template, to hit each corresponding jobs and update all the tasks. But, I’m wondering if there is a better, faster way. For instance, what if the workflow items were what actually displayed on the job page (instead of having to create Job Workflow Items) and then I just had a simple way for each job to track which of those templates had been marked as completed or not? In my mind this would require significantly less syncing and might be a cleaner, faster approach. The only catch is, I usually like to also track which user marked the task as completed, when it was completed and have a due date field for knowing if something is behind schedule or not.
OR, should I just stick with my original plan of workflow items & job workflow items and then deal with creating the api workflows for adding or deleting whenever that happens?
Has anyone done anything like this? Any thoughts on a good way to accomplish this?