There are tutorials on using JSON to handle branching dialog:
https://www.construct.net/en/tutorials/json-branch-dialogue-example-3013
https://www.construct.net/en/tutorials/branching-dialogue-using-json-2395
These are relatively outdated, given that the Flowchart system is probably the most viable route for this now. I've built a prototype dialogue system using it and it's powerful, just limited by how young its feature set is as of now.
It's very easy to create a simple dialogue system in C3, but as you add more complexity (conditions, tags, variables, etc.) it tends to fall apart. I got as far as the ability to change and read variables from a dictionary and enable basic conditions, but the whole thing felt extremely unstable and I wouldn't feel safe committing to an entire game built on it.
I agree with OP that a plug-in to handle those more complex features would be ideal - but it's also hard to know whether it would be a waste of time or not, since Ashley and the team have been very hush hush about the roadmap for Flowcharts and how much more they intend to develop it. I - like a lot of us atm - am just waiting on more info before I continue any branching dialogue heavy projects.