External plugins
External plugins run outside the Valtimo backend — on a plugin host or as a standalone app — and are connected, installed, and activated from the admin interface. This page introduces the admin screens; the child pages walk through each task step by step.
This includes:
Add a plugin host — connect a plugin host that will run uploaded plugin packages
Add an app — connect a service that provides a single built-in plugin
Upload a plugin — install a plugin package (
.zip) on a plugin hostConfigure a plugin — activate a plugin, fill in its settings, and accept its permissions
Manage an integration — repoint connections, tune event delivery, manage frontend origins, and delete safely
Plugin status and reviews — what each status tag means, and how to resolve a plugin that changed after it was accepted
Plugin logs — inspect a configuration's log entries and outbound calls
External plugins in cases and processes — bind configured plugins to processes, tasks, tabs, widgets, and menus
Troubleshooting — start from the symptom and find the fix
The three admin pages
Expand Admin in the left sidebar
Under Integrations, choose a page: Plugins, Plugin hosts, or Apps
Plugins lists the plugin configurations of embedded plugins and of plugins served by plugin hosts. The Source column distinguishes Embedded (runs inside Valtimo) from External (runs on an integration); external rows also show which host serves them. An app's configuration is not listed here — it is managed on the Apps page, together with the app itself.

Plugin hosts and Apps list the connected integrations with their status:
Connected
Check-ins are succeeding — the integration is reachable and accepts Valtimo's credentials.
Unreachable
Repeated check-ins failed. Configurations stay in place and recover automatically once the integration is reachable again.

How Valtimo keeps integrations in sync
Valtimo polls every integration on a fixed interval (one minute by default). Each cycle it:
discovers the plugins and versions the integration offers, and updates their status;
re-sends every active configuration together with a fresh, short-lived access token;
verifies that the installed plugin packages are still exactly the ones that were accepted.
Because of this loop, most problems are self-healing: an integration that was down picks up its configurations on the next cycle, without any manual step.
Last updated