# よく使う定番の処理をまとめたい

**URL:** <https://www.nocode-faq.com/t/topic/2713>\
**Category:** bubble\
**Created:** [2022 年 3 月 18 日午前 6:13 UTC](https://www.nocode-faq.com/t/topic/2713 "2022-03-18T06:13:00Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![jansnap](https://sea2.discourse-cdn.com/flex020/user_avatar/www.nocode-faq.com/jansnap/32/6599_2.png) [@jansnap](https://www.nocode-faq.com/u/jansnap)\
**Post date:** [2022 年 3 月 18 日午前 6:13 UTC](https://www.nocode-faq.com/t/topic/2713/1 "2022-03-18T06:13:00Z")

</div>

### 実装したい機能

よく使う定番の処理があり、いくつもの箇所で同じActionを書いています。  
コピペしていますが、間違いの元になるので1箇所にまとめたいです。

### 前提条件

有料プラン(Personal)に契約しました。

### 試したこと

Backend workflows から、「Custom」ー「Create a custom event」でカスタムイベントを作成しました。  
Step1でDBを更新し、  
Step2で「Data(Things)」ー「Return data from API」で、Step1の結果を返します。

上記を呼び出せるように、「General」ー「New API workflow」で、上記のカスタムイベントを実行する設定をしました。

しかし、画面から上記のAPIを呼ぶと、スケジュールIDらしき数字が返って来ます。

Backend workflowsの使い方が間違っているのでしょうか？  
解説ページなどありましたら、教えていただけますと幸いです。

### スクリーンショット

 ![ScreenShot 2022-03-18 10.11.39](https://us1.discourse-cdn.com/flex020/uploads/ncc_forum/original/2X/a/aff47e00fffe4c1a5f4453d38ca692d89af7ec7f.png)

 ![ScreenShot 2022-03-18 10.11.49](https://us1.discourse-cdn.com/flex020/uploads/ncc_forum/original/2X/d/dc379f477cd2550b6eea466849a4ec6a8bd9322f.png)

 ![ScreenShot 2022-03-18 10.14.13](https://us1.discourse-cdn.com/flex020/uploads/ncc_forum/original/2X/5/5ddb72ee720b50397fd16960ec0d6b9625bb6d7c.png)

 ![ScreenShot 2022-03-18 10.14.30](https://us1.discourse-cdn.com/flex020/uploads/ncc_forum/original/2X/1/11a7cc8844091515ccfd4e7e823d41fd1f8207cb.png)

---

<div class="post-metadata">

**Author:** ![yukikun](https://sea2.discourse-cdn.com/flex020/user_avatar/www.nocode-faq.com/yukikun/32/3485_2.png) [@yukikun](https://www.nocode-faq.com/u/yukikun)\
**Post date:** [2022 年 3 月 18 日午前 6:50 UTC](https://www.nocode-faq.com/t/topic/2713/2 "2022-03-18T06:50:09Z")

</div>

backend workflowの場合は全て非同期実行となります。  
そのため、設定した時に返ってくるものはAPIの実行IDです。

やりたきことは同一の処理の関数化だと思うので、reusableにcustom eventを追加しそのフローを使用したいpageに作成したreusableを追加。  
workflowのアクションでCustom Events → Trigger a custom event from a reusable element  
になります。

 ![スクリーンショット 2022-03-18 15.48.30](https://us1.discourse-cdn.com/flex020/uploads/ncc_forum/original/2X/a/aca57b030c85b3e0bf1a295135067fc558fc779c.png)

---

<div class="post-metadata">

**Author:** ![jansnap](https://sea2.discourse-cdn.com/flex020/user_avatar/www.nocode-faq.com/jansnap/32/6599_2.png) [@jansnap](https://www.nocode-faq.com/u/jansnap)\
**Post date:** [2022 年 3 月 18 日午前 7:36 UTC](https://www.nocode-faq.com/t/topic/2713/3 "2022-03-18T07:36:44Z")

</div>

なるほど！Reusable Elementにcustom eventを追加するのですね。  
ありがとうございます！ 😄

---

<div class="post-metadata">

**Author:** ![jansnap](https://sea2.discourse-cdn.com/flex020/user_avatar/www.nocode-faq.com/jansnap/32/6599_2.png) [@jansnap](https://www.nocode-faq.com/u/jansnap)\
**Post date:** [2022 年 3 月 18 日午前 11:11 UTC](https://www.nocode-faq.com/t/topic/2713/4 "2022-03-18T11:11:54Z")

</div>

このやり方は、画面の無いBackend workflowでバッチ処理などをしたい場合は、使えないでしょうか？

---

<div class="post-metadata">

**Author:** ![yukikun](https://sea2.discourse-cdn.com/flex020/user_avatar/www.nocode-faq.com/yukikun/32/3485_2.png) [@yukikun](https://www.nocode-faq.com/u/yukikun)\
**Post date:** [2022 年 3 月 19 日午前 6:01 UTC](https://www.nocode-faq.com/t/topic/2713/5 "2022-03-19T06:01:06Z")

</div>

このやり方がreusableに関数的なWorkflowを作成する方法のことを指しています？

Backend workflowの場合は、Backend workfrowの画面（workflow設定画面）でCustom eventを作成し、Backend workflowから呼び出してあげればOKです。

ですので考え方としては

- ユーザー画面上で同期実行が必要  
\*\* reusableにCustom eventを作成し、ユーザー画面のWorkflowから呼び出す

- ユーザー操作に合わせた同期実行は不要  
\*\* ユーザー画面のWorkflowからBackend workflowを呼び出し、Backend workflowでBackend workflow画面で定義したcustom evnetを呼び出す

の流れになります。  
処理をreusableの中に関数的に作るか、Backend workflowの中で関数的に作るかの判断が必要です。

---

<div class="post-metadata">

**Author:** ![jansnap](https://sea2.discourse-cdn.com/flex020/user_avatar/www.nocode-faq.com/jansnap/32/6599_2.png) [@jansnap](https://www.nocode-faq.com/u/jansnap)\
**Post date:** [2022 年 3 月 20 日午前 4:54 UTC](https://www.nocode-faq.com/t/topic/2713/6 "2022-03-20T04:54:58Z")

</div>

解説ありがとうございます！  
混ぜて書いてしまってすみません。

1つは、ユーザーの操作で同期実行したかったので、Reusable Elementを使う方法でいけそうです。

もう1つは、ユーザー操作の無い日次バッチで同期処理(DB操作した結果を使いたい)をしたかったのですが、Backend workflowは非同期実行しかできないとの事なので、関数化はあきらめるしかないかと思っています😅
