I would say HyperCard fits here.
The GUI is determined by the interpreter/vm. A spreadsheet doesn't really define it's GUI - the "host" defines it. A ruby script building a GUI (e.g. shoes) can look like anything. A spreadsheet, word document or web page has to have some basic structure.
Of course with things like VBA/OpenOffice Basic, or SPAs with JS, those distinctions start to blur - it's definitely not a perfect categorisation and it breaks down eventually.
Maybe you could say every document is like a custom plugin. E.g. my spreadsheet is like a plugin to Excel/Numbers/Sheets I _think_ in fact in MSOffice and OpenOffice plugins actually were just special documents but it's been a very long time since I was in that world.