Scribus can be extended and automated using C++ plugins. Plugins are dynamic loaded libraries in "so" format.
An introduction to writing Scribus plugins is available here: [http://docs.scribus.net/index.php?lang=en&sm=pluginhowto&page=plugin_howto]. At present (3 Feb '05) there's not a lot of documentation available for the object model. It's said to be in Doxygen format in the source code, although I can't find it.
Scribus also provides a Python Scripter API, which is generally easier to use, more mature and better documented than the C++ API.