Plugin Tools
Projects can add tools through plugins. When a project has a tool plugin configured, its tools become available to any assistant linked to that project.
Available Plugin Tools
| Tool | Source Plugin | Description |
|---|---|---|
| generate_image | OpenAI Imaging | Generate images using DALL-E with project guidelines |
| search_unsplash | Unsplash | Search for stock photos |
| select_unsplash_photo | Unsplash | Attach a stock photo to a deliverable |
| lookup_unsplash_photo | Unsplash | Look up a specific Unsplash photo by URL or ID |
| publish_to_wordpress | WordPress | Publish a blog post deliverable to WordPress |
| get_analytics | Umami | Fetch website analytics data |
Plugin tools appear alongside built-in tools in the assistant’s Tools tab and can be toggled on or off in the same way.
Creating Plugin Tools
To create your own tool plugins, see Tool Plugins in the Extending TeamWeb AI section.
Plugin tools can also define per-assistant configuration via a config_schema on the tool class. When a plugin tool supports configuration, a Configure badge appears next to it in the assistant’s Tools tab. See Tool Configuration for details.
Technical Details
Plugin tool discovery — At application startup, the plugin registry scans both the built-in system plugins directory and the user plugins directory (set via the PLUGIN_DIR environment variable). Each plugin’s tools.py file is inspected for tool class definitions, and each tool is registered individually in the registry. A single plugin can provide multiple tools.
Sandboxed execution — All plugin tools run inside isolated Docker containers rather than in the main application process. In sandbox mode, the tool receives a lightweight context with plain dictionary data instead of live database sessions and service objects. The plugin directory is mounted read-only in the container. This provides security isolation by default. Network access and file mounts for each tool can be configured from the Sandbox settings page.