I've been using node-red to tie together disparate 'home automation' systems. It makes it really easy to toy with glue logic, which then gets written up properly once I'm happy with the behaviour.
Of the inputs on the left-hand side, the top row takes a setter from an mqtt queue (via which I tie in with homekit/Siri), the middle row polls Hue's state for the room, and the bottom row listens for IR remote events. And then the blue element labelled 'Desk' is actually a switch on a web UI; it just happens to have a happy side-effect of marshalling the various inputs together.
This 'flow' went from inception, to "I'm happy with it" in 5-10 minutes, and allows my Wemo switch (the output/actor on the right) to integrate with several products that the vendor have zero intention of ever supporting. It's easy enough that I only included the IR inputs as they took less than two minutes to add, making a very low barrier to "wouldn't it by nice if .."
It's not code-free (I feel like I'm near-constantly writing functions to translate values between different systems), but it's an incredibly rapid way to build IoT-style automation.
I have just tried Node RED. When we had IBM people come to show their SaaS offerings they used it as a demo tool, I thought that was quite neat and you could see how their services fit together.
An other tool with a similar interface is Autopilot (https://autopilothq.com/, not affiliated). That one let marketing/product people tune email campaigns themselves where they otherwise would have had to ask developers for help. User events from our product were forwarded to Autopilot and marketing/product could create triggers and quite advanced user journeys (like the onboarding flow) from the event stream without coding.