Skip to content

Configuration Reference

config/voodflow.php

The file is created at config/voodflow.php when you run php artisan voodflow:install (recommended) or:

bash
php artisan vendor:publish --tag="voodflow-config"

See Installation for the full setup flow.

php
return [

    /*
    |--------------------------------------------------------------------------
    | Auto-discover Laravel Events
    |--------------------------------------------------------------------------
    | When true, Voodflow scans the application for dispatchable event classes
    | and makes them selectable in the Event Trigger node.
    */
    'auto_discover_events' => env('VOODFLOW_AUTO_DISCOVER_EVENTS', false),

    /*
    |--------------------------------------------------------------------------
    | Queue Connection
    |--------------------------------------------------------------------------
    | The queue connection to use for async workflow execution.
    | Set to null to use the default Laravel queue connection.
    */
    'queue_connection' => env('VOODFLOW_QUEUE', null),

    /*
    |--------------------------------------------------------------------------
    | Synchronous Execution
    |--------------------------------------------------------------------------
    | When true, workflows execute immediately in the current process.
    | Use this only for development or environments without a queue worker.
    | In production, set to false and run a queue worker.
    */
    'execute_sync' => env('VOODFLOW_EXECUTE_SYNC', false),

    /*
    |--------------------------------------------------------------------------
    | Maximum Retry Attempts
    |--------------------------------------------------------------------------
    | How many times Voodflow will automatically retry a failed execution.
    | Set to 0 to disable retries.
    */
    'max_retry_attempts' => env('VOODFLOW_MAX_RETRY_ATTEMPTS', 3),

    /*
    |--------------------------------------------------------------------------
    | Redis Context Cache
    |--------------------------------------------------------------------------
    | When true, active execution contexts are cached in Redis for improved
    | performance on large or complex workflows.
    */
    'use_redis_cache' => env('VOODFLOW_USE_REDIS_CACHE', false),

    /*
    |--------------------------------------------------------------------------
    | Context Size Warning Threshold
    |--------------------------------------------------------------------------
    | Emit a log warning when an execution context exceeds this size (in KB).
    | Large contexts indicate data being accumulated in memory inefficiently.
    */
    'context_size_warning_threshold' => env('VOODFLOW_CONTEXT_SIZE_WARNING_KB', 500),

    /*
    |--------------------------------------------------------------------------
    | Date Format
    |--------------------------------------------------------------------------
    | The PHP date() format string used when resolving {{now}} and date-related
    | tags in node configurations (SendMail, SendWebhook, etc.).
    */
    'date_format' => env('VOODFLOW_DATE_FORMAT', 'd/m/Y H:i'),

    /*
    |--------------------------------------------------------------------------
    | Model Bindings
    |--------------------------------------------------------------------------
    | Override the default Eloquent models used by Voodflow.
    | Useful when you need to extend models with custom behaviour.
    */
    'models' => [
        'workflow'       => \Voodflow\Voodflow\Models\Workflow::class,
        'node'           => \Voodflow\Voodflow\Models\Node::class,
        'edge'           => \Voodflow\Voodflow\Models\Edge::class,
        'execution'      => \Voodflow\Voodflow\Models\Execution::class,
        'execution_node' => \Voodflow\Voodflow\Models\ExecutionNode::class,
    ],

    /*
    |--------------------------------------------------------------------------
    | Table Names
    |--------------------------------------------------------------------------
    | Override if you have a table prefix or need to avoid conflicts.
    */
    'table_names' => [
        'workflows'          => 'voodflow_workflows',
        'nodes'              => 'voodflow_nodes',
        'edges'              => 'voodflow_edges',
        'executions'         => 'voodflow_executions',
        'execution_nodes'    => 'voodflow_execution_nodes',
        'model_integrations' => 'voodflow_model_integrations',
    ],

];

Environment Variables

VariableDefaultDescription
VOODFLOW_AUTO_DISCOVER_EVENTSfalseScan app for event classes automatically
VOODFLOW_QUEUEnullQueue connection name (e.g. redis, database)
VOODFLOW_EXECUTE_SYNCfalsetrue = inline execution, false = queued
VOODFLOW_MAX_RETRY_ATTEMPTS3Auto-retry failed executions
VOODFLOW_USE_REDIS_CACHEfalseCache execution context in Redis
VOODFLOW_CONTEXT_SIZE_WARNING_KB500Log warning above this context size
VOODFLOW_DATE_FORMATd/m/Y H:iPHP date format for {{now}}

ini
VOODFLOW_EXECUTE_SYNC=false
VOODFLOW_QUEUE=redis
VOODFLOW_MAX_RETRY_ATTEMPTS=3
VOODFLOW_USE_REDIS_CACHE=true
VOODFLOW_DATE_FORMAT="d/m/Y H:i"

Plugin Registration Options

The VoodflowPlugin class accepts no configuration options at registration time (v1.x). All configuration is done via config/voodflow.php and the Filament Settings page.

php
->plugin(VoodflowPlugin::make())

Proprietary software — source-available. All rights reserved.