# Building a sync API to do distributed transaction

**URL:** <https://community.temporal.io/t/building-a-sync-api-to-do-distributed-transaction/1798>\
**Category:** Community Support\
**Created:** [March 23, 2021, 5:55pm UTC](https://community.temporal.io/t/building-a-sync-api-to-do-distributed-transaction/1798 "2021-03-23T17:55:35Z")\
**Posts on this page:** 1\
**Showing post:** 7

<div class="post-metadata">

**Author:** ![maxim](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/maxim/32/8_2.png) [@maxim](https://community.temporal.io/u/maxim)\
**Post date:** [March 23, 2021, 9:59pm UTC](https://community.temporal.io/t/building-a-sync-api-to-do-distributed-transaction/1798/7 "2021-03-23T21:59:59Z")

</div>

> We would still want to run #1 and #2 synchronously and #3 and #4 asynchronously? Is that possible?

We plan to add direct support for “block start call until workflow unblocks it” feature. In the meantime the simplest workaround is:

1. Execute workflow synchronously waiting for it to complete
2. Workflow executes #1 & #2
3. Workflow starts a child workflow in [disconnected mode](https://community.temporal.io/t/best-way-to-create-an-async-child-workflow/114/2).
4. Workflow completes unblocking the original thread that started it
5. The child workflow executes #3 & #4 in the background

---

_[View the full topic](https://community.temporal.io/t/building-a-sync-api-to-do-distributed-transaction/1798)._
