Signal routing / DSL

Hello,
We’re looking for an platform to built our workflows (Marketing Automation) on top. So it will need to have own DSL. So far Temportal looks like a good fit.

My concern is about events (signals) routing. A common use case might be to start a WF and at some moment wait for a specific event. The question is how to route external events as temporal signals to the particular new or running WF instances. We need to know WF ID and run ID, but in many cases it will not be trivial to match. There would have to be some kind of mapping between contact id and an event type to the particular workflow run in charge for that particular contact and waiting for that particular event … Or if not, to start a new WF which has particular event defined as a starting trigger.

Is there some kind of builtin support for this kind of WF searching - find a WF or instance based on the events it waits for, and possibly a custom attribute? I see there’s the optional integration with Elasticsearch, but that might be an overkill and too heavy solution for this use case. Are there any alternatives or suggestions?

Thanks!

Not necessarily. Often you only need the workflow ID.

Correct, you have to know which workflow you want to signal to signal it. But you can use a predictable workflow ID.

This is the exact use case “signal with start” is built for.

Depending on the details of the use case, a logical/predictable workflow ID can be enough here. Otherwise for searching for existing workflows by attribute, yes, the Elasticsearch powered APIs would be best.