Frequently when building integrations, especially batch jobs, we don't necessarily know the configuration for all of the systems we will be connecting to ahead of time; the configurations are typically (and should be) externalized. While it doesn't feel intuitive, we can create a global configuration and use scoped variables to dynamically create new connector configurations at runtime.
When building APIs, we typically provide the ability to sort or filter data on GET operations via query parameters. While building basic query parameters in MuleSoft is simple, expanding your API to support optional and repeatable parameters can seem daunting when you're new to the platform. We will be building a simplistic Product System API in order to demo optional and repeatable query params. To accomplish this, we will be building dynamic (parameterized) SQL, and as a bonus wrapping this functionality into a reusable library.