Old software usually still has a door somewhere: a CSV export, a scheduled report, an email inbox, an FTP folder, a login screen with a form on it. An agentic system acts through whichever of those already exists rather than requiring a new integration to be built first. If your accounting package can export a file every night, or your booking system sends a confirmation email, that is enough for a system to read it, act on it, and move on. The software doesn't need an API. It needs some point where data goes in or comes out.
Where this breaks down is software with no opening at all: a program that only prints to paper, a terminal app with no export function, a process that lives entirely in one person's head and a notebook. Automation can't reach that on its own. Before building anything, we map the manual work step by step and say plainly which parts a system can pick up and which parts still need a person, sometimes because the software won't allow it, sometimes because the decision genuinely needs judgment a machine shouldn't make.
In practice, the fix is rarely to replace the old system. It's to build automation around it: reporting that pulls from wherever the data already lives, monitoring that watches for something going wrong, customer messages that go out on schedule, while the legacy software keeps doing what it already does. Our own operations run this way, on a mix of modern and older tools: 110+ scheduled jobs running across 40+ live integrations, some clean APIs, some just a login screen and a CSV. If your business has no export, no report, and no record of what happens day to day, that's worth fixing before automation, because a system needs something to read.