from what you described, my previously listed set of steps does not seem to be a good candidate for the optimal approach in your use case indeed. In fact, it appears that I would need to have a deeper insight into your case to suggest the optimal approach. Nevertheless, let me mention another general approach that seem to fit your basic requirements and that is the usage of event listeners, although I realize that the viability of its usage greatly depends on the details, such as how you feed the customer information to the job (that you referred to as ETL), or whether the schedule cycles are synchronized across different groups of customers, or how the automation of the new customer addition is triggered, etc.
Anyway, using event listeners would allow for:
- setting up a job run with specific predefined parameters (similar to scheduling),
- thanks to that, the job can be customer specific,
- activating the event listener with a flip of a switch,
- triggering a job run based on various events (this might be useful in case your job per customer is triggered, for instance, by adding a specific file, or upon running a certain graph as a kickstarter, etc.)
More information about the full event listener functionality can be found in our documentation
Note: This suggestion is obviously not meant in a way that it should replace the step of the new schedule creation in your workflow as it still requires manual user action. Rather, it might be viewed as another approach you could choose when refactoring your workflow. After all, creating new event listeners via an API call would be as cumbersome as doing the same for new schedules.
If you were interested in a deeper investigation of your use case on our end I would suggest that you log a ticket via our CloverCARE Customer Portal
and provide us with a detailed description of your current workflow including the graphs, schedules, and examples.