Much of the dynamicity can be owed to event callbacks in iparams.json. We can subscribe to specific event(s) via callbacks associated with a particular iparam field. As a part of the iparam field definition, one can include events property that will contain a list of events and their listeners.
For instance, consider the following snippet. As you can notice, for the following iparams - domain_name which is expecting a Freshdesk domain, since in platform version 3.0 domain and api key are accepted with the iparam "type": "text" that would require additional validations using change event.
When building a Global app (platform version 3.0), you can also define the iparams which are applicable for specifc modules with "modules": ["support_ticket"]. As by default, all the iparams are applicable to all the modules the app is built for. For instance if domain_name should be applicable only for support ticket module.