Expanding upon the vision of interconnected workflows for AI emulation of team science, Bai et. al have envisioned worldwide coordination of self-driving labs driven by the rapidly evolving fields of knowledge graphs, semantic web technologies, and multi-agent systems. Ren et al. emphasize the critical need for interconnected laboratories to leverage resources and learn epistemic uncertainties. To realize this collective vision, experiment automation software that builds upon the state of the art must be developed to interconnect laboratories and their research workflows. A hallmark of human scientific research is on-thefly adaption of experimental workflows based on recent observations. Human scientists also interleave workflows spanning materials discovery to device prototyping. The interleaved execution of multiple workflows typically involves shared resources, which is often a practical necessity for minimizing the capital expense of establishing any experimental workflow. These considerations require "nimble" experiment automation, and in the present work we describe our approach to automating nimble, interconnected workflows via asynchronous programming. Parallel execution of automated workflows can be realized via "Interconnected workflows" wherein a human or machine Science Manager oversees multiple automated workflows that each run on their own central processing unit (CPU). This scheme is appropriate when each workflow can operate independently. If 2 workflows share an experiment resource, one strategy for their automation is to integrate them into a hybrid workflow that is executed from a single CPU. The shared runtime among all processes in a single CPU inherently limits operational flexibility, a runtime interdependence that is impractical for interconnected labs. In addition to addressing the needs of shared resources, asynchronous programming provides the requisite flexibility for experiment automation tasks such as passing messages, writing data to files, and polling devices. These needs can be partially fulfilled with multi-thread programming, although we find asynchronous programming to be a more natural solution. For a more technical discussion of the difference between asynchronous programming and threading, we refer to the reader to Ref. .