# kintoneからDBにインサートしたい

**URL:** <https://community.cybozu.dev/t/topic/9763>\
**Category:** kintone の構築／設計／運用\
**Created:** [2024 年 11 月 21 日午前 5:06 UTC](https://community.cybozu.dev/t/topic/9763 "2024-11-21T05:06:24Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![tike-bo](https://avatars.discourse-cdn.com/v4/letter/t/c67d28/32.png) [@tike-bo](https://community.cybozu.dev/u/tike-bo)\
**Post date:** [2024 年 11 月 21 日午前 5:06 UTC](https://community.cybozu.dev/t/topic/9763/1 "2024-11-21T05:06:24Z")

</div>

非エンジニアです。  
エンジニアの方に質問です。  
以下のことが実現可能かご教示頂けないでしょうか？

### 何を実現したいのかを書きましょう

大枠としてはkintoneに入力したものを、DBにもインサートしたいと考えています。

具体的にはkintoneのフォームに入力、kintone内の「登録」ボタンを押下します。  
それをトリガーに別のAWS上にホスティングされたnode.jsを実行、  
今しがたフォームに入力されたkintoneのレコードをkintone APIから取得しnodeで整合性のチェックとデータの整形を行い、SQLを発行してBDにインサートする流れです。

「kintoneの任意のアクションでnode.jsを実行」が可能かどうかが調べても分からなかったので質問させて頂きました。

また、上記の条件を抜きに「kintoneからDBにインサート」を実現するにはどのようにしたらよいでしょうか？

ご意見頂けますと幸いです。

 ![簡易構成図](https://us1.discourse-cdn.com/flex015/uploads/cybozu/original/2X/d/d785afd7faea70f0a6baec05caed8a3c37c72d3b.png)

---

<div class="post-metadata">

**Author:** ![mura](https://sea1.discourse-cdn.com/flex015/user_avatar/community.cybozu.dev/mura/32/41_2.png) [@mura](https://community.cybozu.dev/u/mura)\
**Post date:** [2024 年 11 月 21 日午後 11:19 UTC](https://community.cybozu.dev/t/topic/9763/2 "2024-11-21T23:19:02Z")

</div>

kintoneでレコードの保存を行ったときに外部にアクションを起こさせる方法は例えば下記です

1. kintoneのJavaScriptカスタマイズを利用する  
kintoneには[レコードの保存時](https://cybozu.dev/ja/kintone/docs/js-api/events/create/create-submit-event/)のイベントがあり、そのタイミングで外部APIにアクセスさせることは可能ですので、そこからやりたいことはやれるとおもいます
2. [webhook](https://jp.cybozu.help/k/ja/user/app_settings/set_webhook/webhook.html)を利用する  
webhookを利用することで同様に、外部に通知を送信できるので、それを起点にやりたいことはできるかなと思います

* * *

> 「kintoneの任意のアクションでnode.jsを実行」

という考えではなく「追加時に何らか外部にそれを送信する手段がkintoneにはあるので、 **受け取る側が** それを起点にどうするか」というのを考えればいいかなとおもいます

---

<div class="post-metadata">

**Author:** ![tike-bo](https://avatars.discourse-cdn.com/v4/letter/t/c67d28/32.png) [@tike-bo](https://community.cybozu.dev/u/tike-bo)\
**Post date:** [2024 年 11 月 25 日午前 3:57 UTC](https://community.cybozu.dev/t/topic/9763/3 "2024-11-25T03:57:03Z")

</div>

mura様

ご回答有難うございます。

> 1. kintoneのJavaScriptカスタマイズを利用する  
> kintoneには[レコードの保存時](https://cybozu.dev/ja/kintone/docs/js-api/events/create/create-submit-event/)のイベントがあり、そのタイミングで外部APIにアクセスさせることは可能ですので、そこからやりたいことはやれるとおもいます

⇒kintoneのレコード保存を弊社の基幹システムのDBにも反映したいと考えていますが、ただ弊社のシステムには公開しているAPIが無いのでこちらやり方では基幹システム側もAPIの開発が必要になりそうです。。。

> 1. [webhook](https://jp.cybozu.help/k/ja/user/app_settings/set_webhook/webhook.html)を利用する  
> webhookを利用することで同様に、外部に通知を送信できるので、それを起点にやりたいことはできるかなと思います

⇒なるほど、kintoneにwebhookがあることを存じ上げませんでした。  
こちらの方法であればNode.jsも実行できそうです。

ちなみに、kintoneでSQLの実行やORMを使用する(何もかませない)ことはできますでしょうか？

素人質問で申し訳ございません。  
ご教示頂けますと幸いです。

---

<div class="post-metadata">

**Author:** ![mura](https://sea1.discourse-cdn.com/flex015/user_avatar/community.cybozu.dev/mura/32/41_2.png) [@mura](https://community.cybozu.dev/u/mura)\
**Post date:** [2024 年 11 月 25 日午後 11:19 UTC](https://community.cybozu.dev/t/topic/9763/4 "2024-11-25T23:19:25Z")

</div>

> ちなみに、kintoneでSQLの実行やORMを使用する(何もかませない)ことはできますでしょうか？

kintoneで直接SQLを実行する機能はなく、kintoneと外部のDBを取り持つ何かが必要なので、何も噛ませない、ということはできないですね（APIにせよwebhookにせよkintoneからの受けが必要）

極端な話、外部にDBを公開してJSでアクセスする、ということはできなくもないかもしれませんがセキュリティ上のリスクが高く、危険な方法だと思います（やりたいのは多分そういうことな気はしますが）

---

<div class="post-metadata">

**Author:** ![tike-bo](https://avatars.discourse-cdn.com/v4/letter/t/c67d28/32.png) [@tike-bo](https://community.cybozu.dev/u/tike-bo)\
**Post date:** [2024 年 11 月 26 日午前 8:58 UTC](https://community.cybozu.dev/t/topic/9763/5 "2024-11-26T08:58:42Z")

</div>

mura様

> kintoneで直接SQLを実行する機能はなく、kintoneと外部のDBを取り持つ何かが必要なので、何も噛ませない、ということはできないですね（APIにせよwebhookにせよkintoneからの受けが必要）
> 
> 極端な話、外部にDBを公開してJSでアクセスする、ということはできなくもないかもしれませんがセキュリティ上のリスクが高く、危険な方法だと思います（やりたいのは多分そういうことな気はしますが）

そうですね！やりたかった事は"kintoneに登録したらDBにも同じものが反映！"の様なことはできたらな、と思いました。  
やはり、kintone以外の「受け側」の開発も必要ということですね！  
ご参考にさせて頂きます。

この度はご丁寧に回答いただき誠に有難うございました。

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex015/uploads/cybozu/original/1X/d5c841c3c5a6cb66eed514001c1b45147c9e1f4f.png) [@system](https://community.cybozu.dev/u/system)\
**Post date:** [2024 年 11 月 29 日午前 8:59 UTC](https://community.cybozu.dev/t/topic/9763/6 "2024-11-29T08:59:12Z")

</div>

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。
