WP Manifestindependent plugin directory
manifest / ai / dragwyb-ai-agent-workflows

Dragwyb AI Agent Workflows

A visual, drag-and-drop workflow automation and AI Agent orchestrator for WordPress. Connect webhooks, automate tasks, and integrate LLMs (OpenAI, Claude, Gemini).

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/dragwyb/dragwyb-ai-agent-workflows/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Workflow Automate

A from-scratch WordPress workflow automation plugin. See CURSOR_INSTRUCTIONS.md for the governing process, docs/internal/bitpi-analysis.md for the competitive analysis that informed this design, and docs/internal/architecture.md for the architecture this codebase follows.

Requirements

  • PHP 7.4+
  • WordPress 5.8+
  • Optional: Composer for dependency management and code-quality tooling.

Local setup

  1. Place (or symlink) this directory into wp-content/plugins/.
  2. If you have Composer available:
    composer install

    This generates vendor/autoload.php, which the plugin will use automatically in preference to its built-in fallback autoloader.

  3. If Composer is not available in your environment, no action is needed — the plugin ships a small dependency-free PSR-4 autoloader (src/autoload.php) that is used automatically when vendor/autoload.php is missing. This keeps the plugin fully functional in environments without a Composer/PHP CLI on PATH (e.g. some local Windows setups), while still preferring the standard Composer-generated autoloader when one exists.
  4. Build the workflow builder's front-end app:
    npm install
    npm run build

    This compiles assets/builder/src/ into assets/builder/build/ (not committed to version control). The "Workflow Editor" admin screen shows an admin notice instead of a blank page if this step is skipped.

  5. Activate Workflow Automate from the WordPress admin Plugins screen.

Coding standards & linting

  • PHP: WordPress Coding Standards via PHPCS, configured in phpcs.xml.dist.
    composer install
    composer phpcs   # report violations
    composer phpcbf  # auto-fix what can be fixed
  • JavaScript: @wordpress/eslint-plugin, configured in .eslintrc.
    npm install
    npm run lint:js
    npm run lint:js:fix

    @wordpress/scripts is intentionally pinned to ^27.x rather than latest — see the comment in webpack.config.js for why (v28+ requires WordPress 6.6's react-jsx-runtime script, but this plugin supports WordPress 5.8+).

Project structure

dragwyb-ai-agent-workflows.php   Plugin bootstrap (header, version gate, autoload, activation hooks)
uninstall.php           WordPress-invoked cleanup entry point
src/
  autoload.php           Fallback PSR-4 autoloader (see "Local setup" above)
  Core/                  Bootstrap: Plugin, Container, Requirements, Activator, Deactivator, Uninstaller, Options, Encryption, Capabilities
  Database/              Migration base class/runner, table-name helper, migrations (dbDelta-based schema)
  Domain/                Plain, persistence-agnostic entities (Workflow, WorkflowNode, WorkflowRun, WorkflowRunLog, Connection, Webhook)
  Domain/Contracts/      Public extension interfaces (TriggerInterface, ActionInterface)
  Persistence/            Repositories wrapping $wpdb access (one per aggregate root)
  Service/               Application services orchestrating domain + persistence (WorkflowService, NodeTypeRegistry, NodeExecutionService, WorkflowExecutionService, BackgroundRunner, SettingsService, RunRetentionService, ConnectionAuthTypes, ConnectionService, WebhookService)
  Integration/           Built-in trigger/action node types (Triggers/, Actions/: WpHookTrigger, HttpRequestAction, SendEmailAction, WooCommerceOrderCompletedTrigger when WooCommerce is active), registered via daiaw/nodes/register (BuiltInNodeTypes); WorkflowTriggerBinder binds active workflows' triggers to WorkflowExecutionService::queue()/run() (per SettingsService::backgroundExecutionEnabled()) on init
  Rest/                  WP_REST_Controller subclass (WorkflowsController) plus plain route classes (NodeTypesController, ConnectionsController, public WebhookIngressController) + rest_api_init bootstrap (daiaw/v1 namespace)
  Admin/                 Admin menu bootstrap, AdminPage contract, EmptyState helper, screens, list tables, admin-post handlers (WorkflowActionsController, RunActionsController, SettingsController, ConnectionActionsController, WebhookActionsController), status badge/duration/timestamp display helpers (RunStatusBadge, RunDuration, RunTimestamp, ConnectionStatusBadge)
  Admin/Pages/           WorkflowsPage (list), BuilderPage (visual editor shell), RunsPage (execution history list), RunDetailPage (single run + node log), SettingsPage (General/Retention/Advanced tabs), ConnectionsPage (list), ConnectionFormPage (create/edit), WebhooksPage (list), WebhookFormPage (create/edit)
assets/
  admin/css/             Admin screen CSS, enqueued only on the plugin's own screens
  builder/src/           React builder app source (built with @wordpress/scripts; see "Local setup")
  builder/build/         Compiled builder app (generated by `npm run build`, not committed)
webpack.config.js        Points @wordpress/scripts at assets/builder/src -> assets/builder/build
docs/
  hooks-reference.md     Public extensibility reference (actions, PHP contracts, capabilities) — authoritative list of shipped extension points
  rest-api.md            REST API endpoint reference (daiaw/v1)
  integrations.md        Every shipped integration: what it is, and how (or whether) it stores/uses credentials
  internal/              Development-only docs (analysis, architecture, roadmap) — excluded from release builds

Development process

This project follows a strict, incremental, feature-by-feature workflow with a mandatory self/security/performance/standards review after every increment. See CURSOR_INSTRUCTIONS.md Sections 9–11 and docs/internal/roadmap.md for the current status of each increment.

Release packaging

  • /docs/internal/ must be excluded from any distributable ZIP built for release; it is development-only documentation.
  • npm run build must be run before packaging a release ZIP: assets/builder/build/ is not committed to version control, and the plugin has no build step at install time (WordPress sites just get the shipped files as-is).