Horilla CRM v1.11.0 — Workflow Automation, Booking Platform & ERP-Style Extensions
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, andWorkflowActionmodels -
HTMX-powered CRUD workflows
-
Dynamic condition evaluation engine
-
Automated action dispatch system
-
post_savesignal-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_cancelallow_rescheduleis_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
_inheritmodel injection supportInjectFieldsystem- 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-getwithhx-postwhere 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_byoverrides - Cleaner field management
🌍 Country & Subdivision Improvements
Location Enhancements
- Switched
address_countrytodjango-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_lazysupport for default shortcuts
🛠️ Generics, Stability & Django 6.0 Compatibility
Generics Improvements
-
Fixed Django 6.0
ManyRelatedManagercrashes -
Improved M2M display-column rendering
-
Better kanban drag-drop handling
-
Proper subclass delegation for
update_kanban_item -
Improved
_meta.app_labelhandling 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_templateFK 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
C0115C0116C0303C0304W0611C0413
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
workflowautomation app - Time-triggered workflow execution
- Workflow execution history
- New public
bookingapp - ShiftHour scheduling system
- ERP-style
_inheritmodel extensions - Booking mail-template support
- Activity mail-template support
- Holiday support for BusinessHours
- HTMX-powered dynamic scheduling forms
get_subdivision_choices()utility- Admin
filter_horizontalimprovements
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_requireddecorators
🎯 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. 🚀