Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Technical
  3. Enterprise Workflow Engine v 19.0
  4. Sales Conditions FAQ

Enterprise Workflow Engine

by Rajashekar B
Odoo

$ 9.92

In-App Purchases
v 19.0 Third Party
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Discuss (mail)
Lines of code 3077
Technical Name enterprise_workflow
LicenseOPL-1
You bought this module and need support? Click here!
  • Description
  • License
●  Odoo 19.0  Â·  v1.0.0  Â·  LGPL-3  Â·  Free

Enterprise Workflow Engine

Visual Drag-and-Drop BPM for Odoo 19

Design, automate, and monitor any business process without leaving Odoo. Multi-level approvals, SLA enforcement, 12 automated action types, REST API, webhooks, and a tamper-proof audit trail — all in one free module.

9 Stage Types 12 Action Types 5 Approval Modes 6 Trigger Types 111 Demo Records
9
Stage Types
12
Action Types
6
API Endpoints
3
Security Groups
The Problem

Why Your Business Needs This

 Without This Module

Teams manage approval chains via email threads and messaging apps. Nobody knows what stage a PO or complaint is at without asking someone. SLA deadlines live in spreadsheets. Approvals get forgotten. Onboarding a new process requires custom development. Audit trails are nonexistent — a compliance disaster.

 With Enterprise Workflow Engine

Every process is visible on a live canvas. Approvals trigger automatically and escalate when SLAs breach. Every decision and state change is immutably logged. New workflows go live in minutes — drawn, not coded. Your compliance team finally has something to show auditors.

Visual Designer

Draw Processes, Don't Code Them

An OWL-powered drag-and-drop canvas lets you build any workflow by connecting nodes. Zoom, pan, auto-layout, and keyboard shortcuts keep even complex diagrams manageable.

Workflow Designer — Employee Onboarding · Active
 New Hire
Start
─────▶
○  HR Docs
Normal
─────▶
○  IT Setup
Normal
─────▶
 Mgr Approval
Approval
─────▶
○  Orientation
Normal
─────▶
 Complete
End
——  Auto trigger ——  Approval granted ——  Approval rejected ——  Manual / Button

Keyboard Shortcuts

Delete removes selected node · Ctrl+S saves layout · Esc cancels connect mode. Built for power users.

Auto-Layout & Fit Screen

One-click organises all stages into a clean column layout by type. Fit-to-screen scales the canvas to show the full workflow instantly.

Persistent Positions

Node positions save to the database instantly. Layouts survive reloads and are shared across all users and browser sessions.

Stage Types

9 Stage Types for Every Process Shape

From a simple linear checklist to parallel approval gates and nested sub-processes — the right building block exists for every process pattern.

▶ Start

Entry point of the workflow. Only one allowed per definition. Triggered by the configured automation rule.

○ Normal

A work step. Can be blocking, require a comment on exit, have an SLA deadline, and run entry/exit actions.

☑ Approval

Pauses the workflow until designated approvers respond. Supports 5 voting modes and approval delegation.

◇ Condition / Decision

Evaluates outgoing transition conditions and routes automatically. Use for if/else branching logic.

⊣ Parallel Split

Fans out into multiple concurrent paths so independent tasks can proceed simultaneously.

⊢ Parallel Join

Waits for all incoming parallel paths to complete before proceeding. The synchronisation gate.

⊞ Sub-Process

Triggers a separate active workflow definition on the same record. Compose processes from reusable modules.

■ End

Terminal stage. Marks the instance completed, fires a completion notification template, and posts to chatter.

⚠ Error Handler

Catch-all for exceptions. Route any transition here to handle failures gracefully without losing history.

Full Feature Set

Everything an Enterprise Process Needs

Every capability was designed for the messy reality of real organisations — complex conditions, delegation, compliance requirements, and external integrations.

Multi-Level Approvals

Five voting modes: Single, Any, All, Majority, Sequential. Assignable by user, by security group, or dynamically from a Many2one field on the record. Full delegation wizard with audit trail on every handoff.

5 voting modes delegation wizard dynamic assignee

SLA Enforcement

Warning + Breach thresholds per workflow total, per stage, or per approval response. Breach actions: Notify Owner, Notify Manager, Escalate, Auto-Advance, Abort, Send Email. Cron runs every 15 minutes. Business-hours-only calculation option available.

3 SLA types 6 breach actions business hours

6 Trigger Types

Manual, On Create, On Update (with field-change monitoring), On Create or Update, Scheduled Cron (custom expression), and External Webhook. Domain-filter limits which records fire the workflow.

on_create on_write scheduled webhook

Conditional Branching

Four condition types on transitions: None, Domain filter, Python expression (sandboxed safe_eval), or Field Value comparison with 9 operators. Multiple outgoing transitions evaluated in sequence order for automatic routing.

python expr domain filter 9 operators

Immutable Audit Trail

Every event logged: stage entries, transitions, approvals, SLA breaches, errors. ORM-level write() and unlink() overrides make logs tamper-proof. Comments captured on every transition and approval decision.

tamper-proof 9 event types compliance-ready

Versioning & Lifecycle

Draft → Active → Deprecated lifecycle. One-click New Version clones the full definition and deprecates the current one automatically. Parent/child version chain preserved for full traceability.

3 lifecycle states one-click clone

Workflow Mixin

Add full workflow awareness to any Odoo model with a single _inherit line. Adds wf_instance_count, wf_active_stage, wf_active_state computed fields and smart buttons automatically. No view editing required.

any model smart buttons

Role-Based Access

Three groups — User, Designer, Manager — with fine-grained record rules. Users see only active definitions and their own approvals. Designers create and edit blueprints. Managers have full override capability.

3 groups record rules manager override

REST API & Webhooks

6 JSON-RPC endpoints to read instance state, list transitions, execute transitions, and retrieve canvas data. Public webhook endpoint with token auth lets external systems trigger workflows without an Odoo user account.

6 endpoints public webhook token auth
Automated Actions

12 Action Types That Run Themselves

Attach any combination of actions to stage entry, stage exit, or transition events. An optional per-action Python condition means each action only fires when it should.

01
Update Field

Set any writable field to a literal, Python expression, or copied from another field. Auto-casts to the correct type.

02
Send Email

Fire a mail template or send to a dynamic address expression via Odoo's standard mail queue.

03
Send SMS

Dispatch an SMS via Odoo's built-in SMS gateway to any number resolved from the record's fields.

04
Create Activity

Schedule a to-do activity on the record. Assignee can be a static user or resolved from a Many2one field dynamically.

05
Run Server Action

Execute any existing ir.actions.server in the context of the current record. Reuse existing automation.

06
Python Code

Execute arbitrary Python in a sandboxed safe_eval context with record, env, user, instance.

07
Call Webhook

HTTP GET/POST/PUT/PATCH/DELETE with custom headers and body. Configurable timeout and error handling: ignore/log/raise.

08
Create Record

Create a new record on any model with values defined as a Python dict expression using the current record's data.

09
Assign User

Set the responsible user. Auto-detects user_id, responsible_id, or assigned_to on the record.

10
In-App Notification

Push an in-app notification to specific users via Odoo's message_notify. Appears in the user's inbox immediately.

11
Start Sub-Workflow

Trigger a nested workflow definition on the same record. Compose complex multi-stage processes from reusable parts.

12
Post to Chatter

Write a note or message to the record's chatter via message_post. Message text can be a dynamic Python expression.

REST API

Integrate Everything via 6 Endpoints

Built-in JSON-RPC endpoints let external systems read instance state, list transitions, execute transitions, and trigger workflows via a public token-authenticated webhook.

Enterprise Workflow Engine — REST API Reference
GET
/wf/api/instance/<id>
Returns state, current stage, duration, owner and target record details
GET
/wf/api/instance/<id>/transitions
Lists transitions available to the current user from the current stage
POST
/wf/api/instance/<id>/transition
Executes a transition. Body: { transition_id, comment }. Returns new stage and state.
GET
/wf/api/definition/<id>/designer
Returns full canvas data — stages, transitions, positions — for the visual designer
POST
/wf/api/definition/<id>/designer/save
Persists node positions. Body: { positions: { stage_id: {x, y} } }
POST
/wf/webhook/<wh_id>/<token>
Public endpoint — external systems post the record ID to trigger a workflow. Token auth. No Odoo login required.
Workflow Mixin

Add Workflows to Any Odoo Model in Minutes

The workflow.mixin abstract model adds full workflow support to any existing or custom model with a single _inherit line. No view editing required.

Python your_module/models/sale_order.py
# Add workflow support to Sale Orders in 3 lines
from odoo import models

class SaleOrder(models.Model):
    _inherit = ['sale.order', 'workflow.mixin']

    # That's it. You now get automatically:
    #   • wf_instance_count  — smart button count on the form view
    #   • wf_active_stage    — current stage name of the active instance
    #   • wf_active_state    — running / pending_approval / waiting
    #   • action_start_workflow()  — opens the trigger wizard
    #   • action_view_workflows()  — opens the instance list view
Security

Role-Based Access from Day One

Group Read Defs Edit Defs Own Approvals All Approvals Full Override
Workflow / User Active only ✗ ✓ ✗ ✗
Workflow / Designer ✓ ✓ ✓ ✗ ✗
Workflow / Manager ✓ ✓ ✓ ✓ ✓
Demo Data

111 Records Ready on First Install

Enable demo data during installation to get six fully-wired workflows, 17 running instances in various states, and 18 audit trail entries — ready to explore immediately.

active

Employee Onboarding

HR docs → IT setup → Manager approval → Orientation complete

6 stages 5 transitions 4 instances
active

PO Approval

Conditional routing by amount — manager or director chain + finance release

7 stages 8 transitions 5 instances
active

Customer Complaint

Triage → Investigation → Resolution → Auto-close after 3 days

6 stages 5 transitions 3 instances
active

IT Change Request

ITIL-aligned · CAB majority vote · Post-implementation review

7 stages 6 transitions 3 instances
active

Product Launch

Parallel legal + marketing · Executive final gate · Go-live button

6 stages 6 transitions 2 instances
draft

Contract Renewal

Scheduled weekly trigger · 90-day expiry filter · Ready to activate

Scheduled trigger Domain filter
32
Workflow Stages
29
Transitions
9
SLA Rules
17
Running Instances
18
Audit Log Entries
111
Total Records
Compatibility

Works With Your Existing Stack

Odoo Version
19.0 Community & Enterprise
Dependencies
base, mail, web, base_automation
License
LGPL-3 — Free & Open Source
Price
Free — No licence fee
Backend
Python 3.10+ · ORM v2
Frontend
OWL 3 · Bootstrap 5
Get Started

Stop Managing Processes
in Your Head

Install in under a minute. Demo data gives you six fully working workflows to explore immediately. No configuration required.

Support: raj.odoo2026@gmail.com

Version 19.0.1.0.0 License OPL-1 Author Enterprise Workflow Team Category Technical
Odoo Proprietary License v1.0

This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).

You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).

It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.

The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with