Fortra Automate Schedule → Apache Airflow
Fortra Automate Schedule (formerly Skybot) was the cross-platform answer to mainframe-class scheduling. BatchFoundry now makes Airflow the natural next step — without losing the agent footprint or the job equivalence you depend on.
Fortra Automate Schedule (formerly HelpSystems Skybot Scheduler) is a cross-platform workload automation product with agents spanning AIX, Solaris, Windows, Linux, and IBM i. Customers running both JAMS and Automate Schedule under the Fortra umbrella often find they can consolidate to one orchestrator; Airflow is the natural landing zone. BatchFoundry's conversion programme maps reactive triggers, cross-platform agents, and Event Handler logic to Airflow patterns with zero loss of job equivalence.
Concept Mapping
The Hard Parts We Handle
- Reactive triggers (file, prerequisite, custom event) mapped to Sensor, Dataset, or webhook-wake patterns — chosen to avoid sensor-pool exhaustion
- Last Successful Run reference preserved as an Airflow XCom lookup, enabling rerun-from-checkpoint
- Cross-platform agents (AIX, Solaris, Windows, Linux, IBM i) mapped to Airflow Connections with per-agent compatibility report
- Event Handlers (notify + follow-on) become on_failure_callback, on_success_callback, and TriggerRule policies
- Pilot 5% of workload for 30-day side-by-side run before expanding to 100% over 90 days
- Customers with both JAMS and Automate Schedule consolidated to a single Airflow deployment
Automate Schedule reactive job to DAG
Before
# Automate Schedule reactive job JOB: INVOICE_BATCH AGENT: AIX_PROD_01 TRIGGER: FILE_ARRIVED /landing/invoices/*.csv CMD: /apps/billing/process_invoices.ksh RESTART_FROM: LAST_SUCCESSFUL_STEP
After (Airflow)
# Airflow DAG: invoice_batch
from airflow.decorators import dag
from airflow.sensors.filesystem import FileSensor
from airflow.providers.ssh.operators.ssh import SSHOperator
from pendulum import datetime
@dag(schedule=None, start_date=datetime(2025, 1, 1), catchup=False)
def invoice_batch():
wait_for_file = FileSensor(
task_id="wait_for_invoices",
fs_conn_id="aix_prod_01",
filepath="/landing/invoices/*.csv",
poke_interval=60,
timeout=3600,
)
process = SSHOperator(
task_id="process_invoices",
ssh_conn_id="aix_prod_01",
command="/apps/billing/process_invoices.ksh",
)
wait_for_file >> process
invoice_batch()Ready to migrate from Fortra Automate Schedule?
Talk to a BatchFoundry engineer about your workload estate.
Talk to an Engineer