Low-code means writing high-level configurations and templates (still code) which customize a wide range of behavior for a software component or system. JSON and YAML seem to be the most popular syntax options right now for doing this. Low-code isn’t always simple—configurations and templates typically have bespoke attributes, operations and schemas for each software component which developers must learn. And the more complex a config / template system becomes, the more it becomes its own high-code programming language.
You step over a whole category of MDD approaches, including (external) DSLs and language workbenches here. Have a look at JetBrains MPS, MetaEdit+, OutSystems and Mendix – you really should.