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.
There is also a separate api for formatted text importer plugins. More information on this can be found from here: [http://docs.scribus.net/index.php?lang=en&sm=gettexthowto&page=gettexthowto]
Scribus also provides a Python Scripter API, which is generally easier to use, more mature and better documented than the C++ API. The internal C++ API is often updated and is not compatible release-to-release. Work on a [public C++ API] that's simpler, more stable, easier to use, and exposes more functionality for scripting languages is being considered.