If you're looking for something similar to some BPM (BPMN, BPEL...) engines in Clojure land, I *think* there is nothing similar here. I'm actually researching that area occasionally, and thinking wishfully about implementing one in Clojure someday.
When core.async appeared first, since it also comes from "process area" of IT (CSP, actors, process algebra...), I thought it would be sufficient for that case also, but unfortunately it seems it has some strong differences between BPM engines which are "session-based", meaning, each message that is received over channel marked as 'session creator' spawns new async process which is long, very long running (potentially years), and all subsequent messages that have correlation value for that process are routed to that session afterwards.
Biggest similarity is that both approaches (BPM enginer and core.async) invert control of execution, meaning, you write easy-to-grasp sequential code which is executed asynchronously, but one would need option to stop the execution in some point of "go" block, persist it, and continue it later. In Java, Apache ODDE, which is BPEL engine, uses Pi-calculus engine underneath, that uses continuations queue and is able to persist the session on demand, and dehydrate it again when needed, even if that moment comes a year later..
In other words, we need something like durable, restartable, GO blocks, for each indivudual long-running session, and there can be hundreds of thousands of them active in a system simultaneously (think about hundred k of active purchase orders...).