uvdesk/automation-bundle
A Laravel package that adds workflow automation to UVdesk helpdesk, enabling support teams to define rule-based triggers, conditions, and actions that route tickets, update statuses, notify agents, and streamline repetitive support tasks. It helps reduce manual effort and keep support operations con...
The uvdesk/automation-bundle provides the workflow engine for a UVDesk helpdesk: rules made of an event (trigger), a set of conditions (ticket/agent/thread attributes), and actions (assign, set priority/type, send prepared response, etc.). Day-to-day you spend most of your time in the workflow admin UI, not in code — the bundle's job is to let support leads change routing behaviour without a deploy.
Minimal setup:
composer require uvdesk/automation-bundle (this is a Symfony bundle that lives inside the UVDesk core framework; the release notes reference CHANGELOG-1.1.md on the automation-bundle repo).bin/console doctrine:schema:update --force (or the project's migrations) so the workflow/condition/action tables exist.bin/console cache:clear) — workflow metadata is compiled.Workflow entities still enumerate.Where to look first: the Workflow entity and its condition/action relations, then the workflow controller/twig views that render the builder. That trio tells you what is configurable versus what needs a custom extension class.
First use case: an "event = ticket created, condition = priority is High, action = assign to a specific agent/group + attach a prepared response" rule. Build it in the UI first to confirm the event fires, then replicate it in a fixture/seed so it is version-controlled across environments.
UI-first, seed-second. Author workflows interactively to validate the condition editor, then export them as fixtures or a seeder so staging/production are not hand-configured. Workflows are data, not code — treat them like content and keep them in version control.
Compose, don't fork. Prefer several small single-purpose workflows (routing, escalation, canned-response) over one large rule. Condition evaluation is easier to reason about and you can disable one without losing the rest.
Extend via tagged services, not edits. Custom conditions and actions are the intended extension point — implement the bundle's condition/action interface and register the class as a service with the appropriate tag/attribute. Never patch vendor classes; you will lose the work on every release like 1.1.4, which included refactoring and removed unused methods.
Guard the ticket view path. v1.1.4 adds a filter for prepared responses on the ticket view. If you have overridden the ticket template (custom theme, extra JS around the reply box), re-test that:
Dashboard/search icon updates (v1.1.4). The workflows dashboard and search bar SVG icons changed. If you have a custom brand theme or an asset pipeline that patched those SVGs, diff the new templates before overwriting. Purely cosmetic, but a common source of "why does my forked template look broken" noise.
Workflow conditions changed in 1.1.4. Treat this as the one behavioural item in the release. After upgrading, run a regression pass over every workflow whose conditions use more than one row or mixed AND/OR logic — re-open each in the builder, save it once (to normalise the stored structure), and confirm the resulting rule matches intent. Then fire test tickets through the affected events.
extends against automation-bundle classes and for calls to any method you did not see documented. Since this is a 1.1.x patch, treat it as non-breaking but verify your overrides.dump()/log calls inside vendor action handlers is a fast route to merge pain.CHANGELOG-1.1.md carries the detail. Read it before upgrading, and pin the version in composer.json if you run UVDesk in production, since patch releases here include behavioural tweaks to conditions.How can I help you explore Laravel packages today?