Skip to content

Horilla CRM v1.11.0 — Workflow Automation, Booking Platform & ERP-Style Extensions

Choose a tag to compare

@horilla-opensource horilla-opensource released this 23 May 09:08
· 151 commits to master since this release

Release Date: 23 May 2026
Version: 1.11.0
Status: Workflow Automation Release, Booking Platform, ERP-Style Extensions & CRM Architecture Enhancements


Horilla CRM v1.11.0

Horilla CRM v1.11.0 introduces a powerful new Workflow Automation Engine, a complete Public Booking System, ERP-style _inherit model extension support, Shift Hour scheduling, and major improvements across CRM, permissions, HTMX workflows, and multi-tenant architecture.

This release focuses heavily on automation, extensibility, modularization, and platform scalability while continuing the UI/UX and developer-experience improvements introduced in previous versions.


This release focuses on:

⚙️ Workflow Automation Engine & Scheduled Execution
📅 Public Booking & Scheduling Platform
🧩 ERP-Style _inherit Model Extensions
⏰ Shift Hours & Business Hour Improvements
⚡ HTMX UX Enhancements & Dynamic Forms
🏗️ Generics, Forms & Multi-Step Architecture Improvements
🔐 Permissions, Role Handling & Multi-Tenant Refinements
📬 Mail Template Integration & Activity Improvements
🛠️ Stability Fixes, Django 6.0 Compatibility & Pylint Cleanup
📚 Documentation, Refactors & Developer Experience


The result is a more extensible, automation-ready, and scalable CRM platform.


Highlights


⚙️ New Workflow Automation Engine

v1.11.0 introduces a brand-new workflow contrib app that enables rule-based CRM automation directly inside Horilla CRM.

Workflow Features

  • WorkflowRule, WorkflowCondition, and WorkflowAction models

  • HTMX-powered CRUD workflows

  • Dynamic condition evaluation engine

  • Automated action dispatch system

  • post_save signal-based execution

  • Time-triggered workflows using Celery

  • WorkflowTimeTriggerAction

  • ScheduledWorkflowExecution

  • Workflow execution history modal

  • Workflow FilterSet support

  • Auto-registration of workflow-enabled models

  • Workflow-enabled support for:

    • Leads
    • Accounts
    • Campaigns
    • Contacts
    • Opportunities

Workflow Improvements

  • Modularized workflow view structure
  • Hidden-field action configuration handling
  • Workflow detail page restoration
  • Improved namespace routing
  • Automatic workflow model registration
  • Extensive pylint cleanup across workflow modules

📅 New Public Booking Platform

v1.11.0 introduces a fully featured public-facing booking app for appointment scheduling and CRM lead generation.

Booking Features

  • Public booking pages

  • Slot scheduling system

  • Booking confirmation flows

  • Public cancel/reschedule flows

  • Celery-powered reminder emails

  • CRM integration with:

    • Leads
    • Contacts
    • Activities
  • Booking email template support:

    • Confirmation
    • Cancellation
    • Reschedule

Booking UI Improvements

  • Select2 timezone picker

  • Arrow-navigated date cards

  • Improved booking-page centering/layout

  • Dynamic online/offline location controls

  • HTMX toggle handling for:

    • allow_cancel
    • allow_reschedule
    • is_online
  • Improved brand color widget rendering

  • Cleaner public scheduling experience


🧩 ERP-Style _inherit Model Extensions

Horilla CRM now supports Odoo-inspired model extensions directly inside third-party apps.

Extension Features

  • _inherit model injection support
  • InjectField system
  • Extension-owned migrations
  • Autodetector integration
  • Add fields/methods to existing models without creating new tables
  • No modification required in core migration folders

Example

_inherit = "leads.Lead"

This allows developers to extend core Horilla models cleanly and modularly.


Shift Hours & Business Hour Enhancements

New ShiftHour Model

Added a new ShiftHour model with:

  • Per-day scheduling
  • Dynamic break-slot management
  • HTMX-driven form interactions
  • Admin integration
  • Business-hour settings integration

Business Hour Improvements

  • One business-hour card per company
  • Holiday integration support
  • Dedicated holiday management flow
  • Session-persisted ordering
  • Django-aligned M2M handling
  • Shared timing/day constants moved to:
    horilla/utils/choices.py

Admin Improvements

Added filter_horizontal support for:

  • BusinessHour
  • ShiftHour
  • Holiday
  • Role
  • CRM M2M fields

HTMX & Interactive UX Improvements

Horilla CRM continues expanding its HTMX-first architecture.

Activity & Meeting Improvements

  • Tabbed list + kanban views for:

    • Tasks
    • Meetings
    • Calls
    • Events
  • Per-type URLs and columns

  • Meeting URL rendering in kanban cards

  • Modularized activity views/packages

  • Calendar event editing via htmx.ajax

  • Activity mail-template integration

  • Meeting invite rendering using selected templates

Improved Dynamic Forms

  • Preserve form values when toggling is_online
  • Replaced hx-get with hx-post where full form state was required
  • Dynamic field visibility handling
  • Better HTMX modal interactions

🏗️ Generics & Form Architecture Improvements

Multi-Step Form Enhancements

  • Centralized HORILLA_FORM_EXCLUDE
  • Added automatic core-field exclusion
  • Auto-assign unstepped fields to final form step
  • Cleaner multi-step form architecture

Form Refactors

Refactored forms across:

  • Leads
  • Opportunities
  • Accounts
  • Forecasts
  • Campaigns
  • Contacts

Refactor Improvements

  • Switched to:
fields = "__all__"
  • Added field_order
  • Removed redundant created_by / updated_by overrides
  • Cleaner field management

🌍 Country & Subdivision Improvements

Location Enhancements

  • Switched address_country to django-countries
  • Added HTMX-powered subdivision loading
  • Added reusable helper:
get_subdivision_choices()

Used Across

  • Company
  • User
  • Lead
  • Contact

🔐 Permissions & Multi-Tenant Improvements

Permissions

  • Fixed stale inherited permissions after role removal
  • Preserved default view_own_* permissions
  • Role assignment now properly applies inherited permissions
  • Improved approval-template filtering logic

Shortcut & Menu Improvements

  • Normalized shortcut URLs
  • Resolved menu titles from full registry
  • Fixed non-admin shortcut label rendering
  • Added reverse_lazy support for default shortcuts

🛠️ Generics, Stability & Django 6.0 Compatibility

Generics Improvements

  • Fixed Django 6.0 ManyRelatedManager crashes

  • Improved M2M display-column rendering

  • Better kanban drag-drop handling

  • Proper subclass delegation for update_kanban_item

  • Improved _meta.app_label handling for:

    • Kanban
    • Groupby
    • Timeline

Delete Handling Improvements

  • Fixed user deletion crashes caused by:

    • ShortcutKey
    • PROTECT FK relations
    • OneToOne dependency traversal

📬 Mail Template & Activity Enhancements

Activity Mail Templates

  • Added optional mail_template FK on Activity
  • Template-filtered querysets
  • Fallback HTML rendering support
  • Improved meeting invitation rendering

Booking Mail Templates

Added per-booking-page templates for:

  • Confirmation emails
  • Cancellation emails
  • Reschedule emails

📚 Documentation & Developer Experience

Documentation

  • Added deep-dive documentation for:

    • horilla.contrib.meeting
  • Updated:

    • multi_step.md

Developer Improvements

  • Improved modularization
  • Better package structure
  • Cleaner workflow architecture
  • Expanded HTMX conventions

🛠️ Code Quality & Cleanup

Pylint Cleanup

Resolved pylint warnings across:

  • Workflow
  • Booking
  • Activity
  • Scoring Rules

Resolved

  • C0115
  • C0116
  • C0303
  • C0304
  • W0611
  • C0413

Formatting

  • Improved imports
  • Better modular structure
  • Standardized form/view organization

🛠️ Major Fixes

Workflow & Generics

  • Fixed workflow navbar HTMX access issues
  • Fixed scoring-rule HTMX view handling
  • Fixed duplicate HTMX drag-drop updates
  • Fixed subclass kanban update delegation

Meetings & Activities

  • Fixed empty queryset issue in MeetingAccessUsersForm
  • Preserved form state when toggling online meetings

Permissions

  • Fixed stale role permission inheritance
  • Fixed role-unassignment cleanup logic

Booking

  • Fixed hidden field toggle behavior
  • Fixed online-location rendering
  • Fixed brand-color default handling

CRM & Shortcuts

  • Fixed shortcut-title resolution for non-admin users
  • Fixed normalized default shortcut URLs

Deletes & Dependencies

  • Fixed dependency traversal crashes during user deletion

📜 Changelog Summary

v1.11.0 (23 May 2026)

Added

  • New workflow automation app
  • Time-triggered workflow execution
  • Workflow execution history
  • New public booking app
  • ShiftHour scheduling system
  • ERP-style _inherit model extensions
  • Booking mail-template support
  • Activity mail-template support
  • Holiday support for BusinessHours
  • HTMX-powered dynamic scheduling forms
  • get_subdivision_choices() utility
  • Admin filter_horizontal improvements

Improved

  • Booking UI and scheduling UX
  • Multi-step form architecture
  • HTMX workflows and modal handling
  • Activity kanban/list organization
  • Permission inheritance handling
  • Generic delete traversal logic
  • Country/state subdivision handling
  • Django 6.0 M2M compatibility
  • Workflow modularization and automation

Fixed

  • ManyRelatedManager crashes in Django 6.0
  • Role permission cleanup issues
  • Empty queryset issue in meeting access forms
  • Form-state loss during HTMX toggles
  • Shortcut label/title inconsistencies
  • Booking visibility toggle issues
  • Dependency traversal crashes during delete operations
  • Missing htmx_required decorators

🎯 Impact

Horilla CRM v1.11.0 significantly expands the platform’s automation, extensibility, and scheduling capabilities.

This release:

  • Introduces a powerful workflow automation engine
  • Adds a fully featured public booking system
  • Enables ERP-style model inheritance/extensions
  • Improves scheduling and business-hour management
  • Expands HTMX-powered interactivity
  • Improves permissions and multi-tenant handling
  • Modernizes forms and generic architecture
  • Strengthens Django 6.0 compatibility
  • Delivers a cleaner and more extensible developer experience

Overall

v1.11.0 is one of the largest architectural and feature-focused releases for Horilla CRM so far, introducing workflow automation, public scheduling, ERP-style extensibility, and major generics improvements while continuing the platform modernization effort.

The result is a faster, smarter, and far more extensible CRM platform built for automation and scalability. 🚀