Suggestion for designing a workflow having sync and async steps

Hi Temporal Team,

I’m reaching out to seek your guidance on how to best implement a complex user journey within the Temporal framework. Our journey encompasses multiple steps and flows (sync and async), including account creation, address, banking interactions, and so on.
my major concern are as follows:

  1. Workflow Design
    My initial thought was to model this entire user journey as a single Temporal workflow. Does this approach align with Temporal’s best practices? as journey involves number of steps.

if Yes,
2. Synchronous Operations and Updates
Within our workflow, we have several synchronous flows that depend on user input. We’ve implemented these using update handlers and are blocking the workflow’s progression using workflow.await until the update provides a result.

  1. Async operations
    we are considering signals for async flows. How to implement both signals and updates in a single workflow.

Any insights or guidance you can provide on these matters would be greatly appreciated. We’re eager to leverage Temporal’s capabilities effectively for our use case.

  1. Yes. But if different part of the workflow are owned by different teams you can consider breaking them into multiple deployments and link them through Nexus.
  2. SGTM
  3. Consider the pattern demonstrated in await-signals sample.

Have you seen the OMS reference app?