Epicor Kinetic Task Agent Migrator: Process Sets & Schedules (DEV → TEST → PROD)

If you’ve ever tried to promote Process Sets, Process Tasks, and System Agent schedules between environments in Epicor Kinetic, you’ll know the pain: it’s time-consuming, “clicky”, and challenging to audit. A single missed parameter can be enough to cause drift between DEV, TEST, and PROD—and that usually surfaces at the worst possible time.

Recently, we had to migrate around 150 process sets, tasks, and schedules across environments. To avoid manual error and improve implementation quality, I built a small function library I now use as a repeatable migration tool: the Epicor Kinetic Task Agent Migrator. It exports configuration to JSON for review, lets you adjust it safely, and imports it back into the target environment.


Why JSON?

Epicor configuration is powerful, but it isn’t “portable” by default. With this migration tool, moving automation between environments becomes repeatable and reviewable—especially when you need to migrate multiple connected objects:

  • Epicor Kinetic Process Sets (definitions/containers)
  • Epicor Process Tasks and Task Parameters referenced by those process sets
  • Epicor System Agent schedules (plus schedule tasks and parameters)

Exporting these to JSON gives you three big wins:

  • Reviewable: You can validate the configuration before importing.
  • Diff-friendly: Changes can be compared across versions using standard tools.
  • Editable: Bulk schedule/parameter updates are often faster in JSON than through the UI.

What gets exported and imported

JSON-based Epicor Kinetic migration flow: export Process Set, export Process Tasks, export System Agent schedules, then import into TEST and PROD

JSON-Based Migration of Epicor Kinetic Configuration

1) Process Sets

The migrator exports Process Sets using ProcessSetSvc.GetRows. Task data is handled separately to keep the Process Set export clean and targeted.

Output: A JSON file written with a _ProcessSet suffix.

2) Process Tasks & parameters

Process Tasks are exported based on the Process IDs referenced by your selected Process Sets. The tool:

  1. Loads Process Sets using your filter
  2. Extracts distinct ProcessID values
  3. Exports ProcessTask and matching ProcessTaskParam for each Process ID

Output: A JSON file written with a _ProcessTask suffix.

3) System Agent schedules, tasks & parameters

System Agent data is exported using SysAgentSvc.GetRows, filtered by schedule criteria, so you can target only what you need. The tool exports schedules, schedule tasks, and parameters together for consistent migration.

Output: A JSON file written with a _SysAgent suffix.


DEV → TEST → PROD workflow

Here’s the practical flow the Epicor Kinetic Task Agent Migrator is designed to support.

Step 1: Build and validate in DEV

  • Create or update your Epicor Kinetic Process Set(s)
  • Configure Epicor Process Tasks and Task Parameters
  • Run the process end-to-end in DEV to confirm behaviour

Step 2: Export

  • Export Process Sets → ..._ProcessSet.json
  • Export Process Tasks → ..._ProcessTask.json
  • Export System Agent schedules (if required) → ..._SysAgent.json

Step 3: Import into TEST

Imports support a “create or update” approach. If you’re promoting changes, enable the update option so TEST stays aligned with DEV.

  • Import Process Sets from ..._ProcessSet.json
  • Import Process Tasks from ..._ProcessTask.json
  • Import System Agent data from ..._SysAgent.json

After importing, validate outcomes using TEST data, confirm outputs, and verify schedules and parameters appear correct.

Step 4: Promote into PROD

Once TEST is signed off, run the same imports in PROD. For go-live safety, it’s common to stop on the first error to avoid partial state changes.


Bulk-edit schedules (export → edit → import)

Schedules are a perfect example of where JSON export/import makes life easier. Instead of manually opening each schedule, you can:

  1. Export the relevant Epicor System Agent schedules to JSON
  2. Edit values in JSON (times, enabled flags, parameters, recipients, etc.)
  3. Import the JSON back in to apply updates consistently

Technically, the import also addresses a key challenge in Epicor: schedule numbers can vary across different environments. The migration tool remaps schedule identifiers during import and re-links tasks and parameters, ensuring everything remains connected.

Safety note: Weekly schedules can be handled cautiously during import to reduce the chance of unintended runs after deployment. Review and confirm schedule settings in the target environment.


Error handling & troubleshooting

When something goes wrong, the tool writes a .log file next to the JSON input. This makes it easier to diagnose issues without having to dig through UI messages.


Why does this help in multi-company deployments

This approach is handy when you need to standardise automation across multiple companies—such as payment runs, reporting tasks, statement runs, or integrations. Exporting a known-good configuration, adjusting a small set of company-specific parameters, and importing it back in is often the fastest way to deliver consistent outcomes with less risk.


Next steps (and related JPGAL content)

If you’re planning a Kinetic rollout, troubleshooting schedule drift, or you want to standardise automation across companies, we can help.