ES Task Assignment — Automated Scheduling
Intelligent task-to-calendar synchronisation that automatically schedules ES ERP tasks across team Google Calendars — respecting shifts, holidays, priorities, and multi-team assignments.
What is ES Task Assignment?
A custom ES ERP module that bridges the gap between project task management and team calendar scheduling. Once configured, it runs autonomously — converting open tasks into properly timed, colour-coded calendar events on each team member's Google Calendar.
💡 The Problem It Solves
Project managers create tasks in ES ERP, but team members live in their calendars. Manually creating calendar events for every task is tedious, error-prone, and quickly falls out of sync. ES Task Assignment eliminates this friction entirely — tasks flow automatically to the right calendar, at the right time, with the right priority.
How It Works
A ES ERP Framework Server Script runs every 5 minutes via cron, executing the full scheduling pipeline automatically.
Scan for New Tasks
Queries all tasks matching configured status filters (Open, Overdue) that don't yet have calendar events. Reads all assignees via the ToDo reference table.
Group & Prioritise
Groups tasks by assignee, then sorts within each group by Overdue status first, followed by configurable priority order (Urgent → High → Medium → Low).
Calculate Time Slots
Finds next available working-day slot within the assignee's shift window. Respects expected start dates, skips weekends and holidays, prevents shift-end overflow.
Multi-Assignee Replication
When a task has multiple assignees, the same time slot is used across all their calendars — so a joint task appears at the same time for every team member involved.
Create Events & Sync
Creates ES ERP Framework Event documents with rich HTML descriptions, team colours, attendee status, and Google Calendar sync enabled. Events link back to the source task for full traceability.
⚡ Key Features
Every aspect of the scheduling engine is configurable from a single settings page — no code changes required.
📅 Google Calendar Integration
Events push directly to team-specific Google Calendars via ES ERP Framework's native Google Calendar connector. Each team has its own calendar with distinct colour coding.
⏰ Shift-Aware Scheduling
Links to a Shift Type to read start/end times. Tasks are only scheduled within shift hours. If a task would run past shift end, it rolls to the next working day at shift start.
🏖️ Holiday & Weekend Handling
References a Holiday List to skip public holidays and weekends. Tasks that would land on non-working days are pushed forward to the next available working day.
🔥 Priority-Based Ordering
Configurable priority sort ensures Urgent tasks are scheduled first, followed by High, Medium, and Low. Overdue tasks always jump to the front of the queue.
👥 Multi-Assignee Sync
When a task is assigned to multiple people, an event is created on each assignee's calendar at the same time. Adding a second assignee later auto-creates their event at the existing slot.
📌 Expected Start Date Enforcement
Optionally respects each task's Expected Start Date — never scheduling an event before the planned start, even if earlier calendar slots are available.
📊 All-Day Event Threshold
Tasks exceeding a configurable duration threshold (e.g., 13+ hours) are automatically converted to all-day events rather than timed events, keeping calendars readable.
🔗 Task-Event Linking
Every created event maintains a reference link back to its source task. Click through from the calendar event to view full task details, project context, and history.
📝 Rich Event Descriptions
Events include formatted HTML descriptions with task ID, project, priority, status, assigned user, team, duration, expected dates, all assignees (for shared tasks), and the full task description. Everything a team member needs is right in the calendar event.
🎨 Team Calendar Mapping
Each team member is mapped to their Google Calendar, colour, and team label. The mapping drives where events appear and how they look.
🎨 Colour Coding
Each team's events display in their assigned colour — both in the ES ERP Event calendar and in Google Calendar. This makes it immediately obvious which team owns a task when viewing combined calendar views.
Complete Settings Reference
All settings are managed from a single DocType page at /app/es-task-assignment.
🔧 Scheduling Engine Logic
The scheduling algorithm handles edge cases that simple calendar blocking misses.
Shift-End Overflow Prevention
Before booking, the engine checks if the event would run past shift end. A 4-hour task starting at 16:00 with an 18:00 shift end doesn't get booked 16:00–20:00 — it rolls to the next morning at shift start.
Sequential Slot Advancement
After each event is created, the assignee's "next available slot" pointer advances to the event's end time. This prevents overlapping events on the same calendar.
Duplicate Prevention
The script tracks which task/calendar combinations already have events. Running the cron multiple times never creates duplicates — only genuinely new task-assignee pairs receive events.
Catch-Up Multi-Assignee
If a second assignee is added to a task after the first event was already created, the next cron run detects the gap and creates the second event at the same time slot as the existing one.
🔌 System Integration Points
ES Task Assignment connects to several ES ERP components and external services.
🔌 ES ERP Task & ToDo
Reads tasks via the Task DocType and resolves assignments through the ToDo reference table — the standard ES ERP Framework assignment mechanism.
📅 Google Calendar API
Leverages ES ERP Framework's built-in Google Calendar connector. Events sync bidirectionally with team calendars, including attendee management via Contact records.
⏱️ Shift Type & Holiday List
Reads shift hours from the Shift Type DocType and non-working days from the Holiday List. Change shifts or holidays centrally and scheduling adapts automatically.
📊 Workspace Dashboard
A Custom HTML Block renders team calendars as embedded Google Calendar iframes in a 2×2 grid on the ES ERP Home workspace — giving managers an instant visual overview.
Technical Specifications
Platform
- ✓ ES ERP Framework v15+
- ✓ ES ERP v15+
- ✓ Server Script (Cron)
- ✓ Single DocType Config
Scheduling
- ✓ Shift-Aware Booking
- ✓ Holiday/Weekend Skip
- ✓ Priority Ordering
- ✓ Overflow Prevention
Integration
- ✓ Google Calendar Sync
- ✓ Task & ToDo DocTypes
- ✓ Multi-Assignee Support
- ✓ Workspace Dashboard
Configuration
- ✓ 17 Configurable Settings
- ✓ 3 Child Tables
- ✓ 4 Team Mappings
- ✓ Colour-Coded Events
Automate Your Task Scheduling
Contact Enterprise Systems Australia to deploy ES Task Assignment. Bridge the gap between project management and team calendars — zero manual steps, fully automated.
ES Task Assignment — Automated Task-to-Calendar Scheduling for ES ERP
© 2026 Enterprise Systems Australia |
