
A Tale of Two Agents: Epicor’s Interconnected Framework
Epicor Task Management Handles the Details
The communication between the client application and its server is a fundamental consideration for any ERP system, but every ERP has its own peculiarities when it comes to how this communication occurs, especially when it comes to processing asynchronous tasks.

Within the context of Epicor’s Kinetic ERP system, the communication of asynchronous tasks is accomplished via the interaction between Epicor’s system agent and task agent. The system agent and task agent form an interconnected framework that manages asynchronous processing and background tasks, ensuring smooth operation and scalability of the Epicor ERP environment. An in-depth explanation of their relationships and roles can help your company leverage your ERP system to its fullest capabilities.
System Agent
The Epicor system agent, a part of the Epicor application, ensures smooth communication between the ERP system and the task agent. Understanding the Epicor system agent, including its key functions and relationship with the Epicor application is important for businesses seeking the maximum benefits from their ERP.

Epicor System Agent Key Functions
- Task Scheduling: Handles the scheduling of recurring tasks, such as generating reports, running MRP (Material Requirements Planning), or processing batch jobs.
- User Interface: Users interact with the system agent through the Epicor client to submit tasks or manage schedules.
- Delegation: Delegates tasks to the appropriate task agent on the application server for execution.
The Epicor Task Agent
After the Epicor system agent communicates tasks, the Epicor task agent is integral for execution, logging, and monitoring within the ERP system. Through the Epicor Administration Console (EAC), users can easily configure and manage task agents on the application server. The task agent communicates directly with the Epicor application for transparent task reporting.

Task Agent Key Functions
- Task Execution: Executes tasks such as report generation, data exports, or process workflows initiated by the system agent.
- Multitasking: Supports concurrent task processing by managing multiple queues or threads.
- Logging and Monitoring: Logs task execution details and provides monitoring capabilities for administrators.
The system agent, task agent, and Epicor application work together for seamless ERP system performance regarding task generation, delegation, execution, and completion.
Task Submission:
- A user submits a task (e.g., generating a financial report) in the Epicor application interface.
- The system agent queues this task for execution.
Task Delegation:
- The system agent identifies the appropriate task agent on the application server and sends the task to it.
- The task is hereby delegated.
Task Execution:
- The task agent processes the task, utilizing system resources on the application server.
- The task agent logs the task status and output, providing updates to the system agent.
Task Completion:
- The system agent retrieves the task results from the task agent.
- The system agent makes the task available in the Epicor application for the user to access.
Task-in, Task-out: Examples of Epicor Task Processing
The system agent is essential for efficient report generation while the task agent ensures smooth MRP processing.
- Users schedule a monthly sales report via the system agent.
- The system agent queues the task and sends it to the task agent.
- The task agent retrieves data from the database, generates the report, and stores it for user access.
- The system agent schedules MRP runs during off-peak hours.
- The task agent processes the large data sets, calculates demand, and updates inventory levels in the database.
Benefits of Epicor Task Management
The system agent, task agent, and the Epicor application streamline the ERP system, providing efficiency, scalability, and reliability.
- Efficiency: Tasks are processed asynchronously, minimizing delays in user interactions with the Epicor application.
- Scalability: Multiple task agents can be deployed to distribute workload across servers.
- Reliability: Tasks are queued and processed independently of user sessions, reducing the risk of task failure due to client-side issues.