Installation
License and distribution
Voodflow is a commercial plugin distributed through Anystack. Purchase a license to receive a license key and access the private Composer repository.
Workflow execution runs entirely on your servers. The admin version and license widgets may call https://api.voodflow.com for activation and update checks; optional overrides are documented in config/voodflow.php under portal after you publish configuration.
Private Composer repository (Anystack)
Add the product repository to your composer.json. The URL follows Anystack’s pattern: https://<product-id>.composer.sh — for Voodflow:
{
"repositories": [
{
"type": "composer",
"url": "https://voodflow.composer.sh"
}
]
}Official Composer setup details: Anystack — private PHP packages.
Install the package
composer require voodflow/voodflowComposer will prompt for HTTP Basic authentication against voodflow.composer.sh:
Loading composer repositories with package information
Authentication required (voodflow.composer.sh):
Username: [licensee-email]
Password: [license-key]Credentials
| Field | Value |
|---|---|
| Username | Email address on your Anystack license, or unlock if the license is not tied to a specific person. |
| Password | Your license key. |
Fingerprint (if required by your license policy)
Use license-key:fingerprint (colon between key and fingerprint), for example:
Password: 8c21df8f-6273-4932-b4ba-8bcc723ef500:app.example.comIf no fingerprint is required, enter only the license key.
Non-interactive updates
Store the same host and credentials in auth.json or the COMPOSER_AUTH environment variable so composer update does not prompt every time. The hostname to configure is the Composer registry host (e.g. voodflow.composer.sh).
Requirements
- PHP 8.2 or higher
- Laravel 11 or higher (aligned with Filament v4)
- Filament v4 and Livewire v3
- A queue driver (
database,redis,sqs, …) for asynchronous workflow execution in production - A relational database (MySQL 8+, PostgreSQL 14+, SQLite 3.35+, …)
Recommended: interactive installer
After composer require voodflow/voodflow, run:
php artisan voodflow:installThis command (provided by the package) typically:
- Publishes
config/voodflow.php - Publishes Spatie Laravel Settings migration/config when needed for the settings table
- Publishes Voodflow settings stub, stubs, and frontend assets (
voodflow-assets→public/js/public/cssundervoodflow/voodflow/) - Runs
php artisan migrate, which applies Voodflow migrations loaded from the package (they are not copied intodatabase/migrationsby default)
You can re-run publishes manually later if you skip the installer; see Manual publish tags below.
Register the Filament plugin
In your panel provider (e.g. app/Providers/Filament/AdminPanelProvider.php):
use Voodflow\Voodflow\VoodflowPlugin;
public function panel(Panel $panel): Panel
{
return $panel
// ... your existing configuration
->plugin(VoodflowPlugin::make());
}Register policies and gates for your users as described in the full documentation (workflows, credentials, model integrations, etc.).
The plugin registers resources and pages such as Workflows, Executions, Credentials, Model Integrations, Message layouts, Voodflow Dashboard, and related settings.
Environment variables
Common entries in .env:
# Queue: null = Laravel default connection
VOODFLOW_QUEUE=redis
# Dev only — runs workflows in-process (blocks HTTP requests)
VOODFLOW_EXECUTE_SYNC=false
VOODFLOW_MAX_RETRY_ATTEMPTS=3
VOODFLOW_USE_REDIS_CACHE=false
VOODFLOW_DATE_FORMAT="d/m/Y H:i"Optional portal / license overrides (local dev, custom fingerprint, etc.) live under the portal key in config/voodflow.php after publishing.
Queue worker
For production, run a worker on the connection Voodflow uses:
php artisan queue:workSee Queue workers for database vs redis, Sail, and Docker.
Manual publish tags
Use these if you did not run voodflow:install or need to re-publish:
| Tag | Purpose |
|---|---|
voodflow-config | config/voodflow.php |
voodflow-settings | Spatie settings migration stub into database/settings/ |
voodflow-stubs | Code stubs under stubs/voodflow/ |
voodflow-assets | Compiled JS/CSS into public/js/voodflow/voodflow/ and public/css/voodflow/voodflow/ |
Migrations: Voodflow table migrations are loaded from the package (loadMigrationsFrom). After publishing config/assets, run:
php artisan migrateDatabase tables (after migrate)
| Table | Role |
|---|---|
voodflow_workflows | Workflow definitions |
voodflow_nodes | Node configuration per workflow |
voodflow_edges | Edges between nodes |
voodflow_executions | Run history |
voodflow_execution_nodes | Per-node execution state |
voodflow_credentials | Encrypted credentials |
voodflow_model_integrations | Registered Eloquent models |
voodflow_message_layouts | Mail / message templates |
(Additional tables may exist for signals, triggers, or package updates — always run migrations after upgrading.)
Updating
composer update voodflow/voodflow
php artisan migrateReview the changelog for breaking changes before upgrading major versions.
Development install (path / GitHub)
If you develop against a local clone or VCS path repository, add the path or VCS repositories entry in composer.json, composer require voodflow/voodflow, then run php artisan voodflow:install the same way. Anystack credentials are not required for a path-based install.