Justransform
Capability 02 — Process Automation

Defined once. Executed perfectly. Every time.

Processes are triggered automatically. Logic is applied instantly. Responses are generated without manual orchestration. Same input. Same output. Always. This is what deterministic execution means.

The overhead you shouldn't carry

Middleware. Orchestration layers. Workflow engines. All of it is overhead.

Traditional workflow automation requires a separate tool, a separate runtime, and a separate team to maintain it. Every process change goes through a configuration cycle. Every integration point is a potential failure.

“The process is the system.”

How deterministic execution actually works

Same input. Same output. Always.

Deterministic, by definition.

No randomness. No hidden state. No outcomes that depend on environment, timing, or configuration drift. Every process execution is mathematically identical to every other — and every step is auditable.

One runtime, not a layer on top.

No external orchestration layer. No latency between data and logic. JTWorkflow lives in the same runtime as the schema, the data model, and the application layer — not on top of it.

Resilience is a property, not a plugin.

Exception handling, retry logic, timeout management, and audit logging are not plugins — they are properties of the runtime. Every process has them by definition, without configuration.

JTWorkflow

Define the outcome, not the steps.

JTWorkflow is a declarative workflow engine. You define what the business needs to happen — not how to make it happen. The system resolves the execution path, handles branching conditions, and manages sub-processes automatically.

  • Declarative workflow definition — intent, not instructions
  • Conditional branching: amount thresholds, partner tiers, compliance requirements
  • Sub-workflows: reusable process components
  • Visual representation — every workflow is human-readable
  • Versioned, immutable, and auditable
  • No code required to change a process
JTProcess

The deterministic runtime.

JTProcess is the execution engine beneath every workflow. It runs with sub-80ms end-to-end latency, logs every step with microsecond precision, and supports fan-out / fan-in parallel branches. When a step fails, the system rolls back automatically.

  • Every step logged with microsecond precision
  • Parallel execution branches — fan-out / fan-in
  • Automatic rollback on failure
  • Complete audit trail: who, what, when, why
  • Zero AI in the transaction path — purely deterministic
JTScheduler

Time-based and batch execution at scale.

Schedule any process — hourly, daily, weekly, or by cron expression. Process thousands of transactions in coordinated batch windows. JTScheduler understands business calendars, dependency chains, and priority queues.

Polling connections

Check SFTP, AS2, or email on any interval. Documents retrieved automatically and processed immediately.

Batch processing

Group transactions for bulk handling with configurable window sizes and commit strategies.

Business calendar awareness

Exclude weekends, local holidays, and custom blackout periods from all schedules.

Dependency chaining

Run process B only after process A completes successfully. No polling loops. No manual triggers.

Priority routing

Urgent documents bypass queues. Batch documents process overnight.

Three engines. One runtime.

JTWorkflow, JTProcess, and JTScheduler operate as an integrated unit inside the SAIL system — not as separate services.

JTWorkflow

Define business logic without code. Conditional branches, approval chains, exception paths, and sub-workflows — declared once, executed deterministically every time a trigger fires.

JTProcess

The engine that executes workflows. Sub-80ms latency, microsecond logging, fan-out / fan-in parallelism, automatic rollback, and complete audit trails. No configuration required.

JTScheduler

Schedule any process. Poll any endpoint. Process any batch. Business calendar awareness, dependency chains, and priority routing — all managed within the SAIL runtime.

How it works in practice

Three scenarios. Zero manual intervention.

01

EDI 850 arrives. Invoice generated. ERP updated. 158ms total.

EDI 850 arrives via AS2. JTProcess validates schema and partner ID. Amount check triggers the approval flow — under threshold, auto-approved immediately. Invoice generated. 997 acknowledgment dispatched. ERP updated. Zero human involvement.

02

JTScheduler triggers at 23:00. Pick list generated. Zero intervention.

JTScheduler fires at 23:00 on business days. All pending orders pulled from the queue. A consolidated pick list is generated and routed to the warehouse management system. Confirmation received. Order statuses updated across all connected systems.

03

Invalid document arrives. Partner notified. Correction processed.

An invalid document arrives with a malformed date field. JTProcess validation fails at step 2. JTWorkflow routes it to the exception queue — no manual triage required. A partner notification is generated and dispatched automatically with error detail.

Begin

Stop managing processes. Let the system run.

It executes. Deterministically. Every time.