GovApps 自治体向け kintone アプリテンプレート集
問い合わせ対応からFAQを蓄積していく庁内ナレッジ管理(タグ・FAQ・問い合わせの3アプリ構成)。当初は採用・内定者ポータル企画(`saiyo-naitei`)の一部として設計したが、階層を分離し独立した企画とした。
プロジェクト: 庁内FAQ 完了
本番環境へ取り込む前に、kintoneデベロッパーライセンス(cybozu.devで無償取得可能)の検証環境で動作確認することを推奨します。
| 種別 | タグ名 |
|---|---|
| 会計 | サンプルタグ名1 |
| 情シス | サンプルタグ名2 |
| 給与 | サンプルタグ名3 |
庁内向けFAQ・問い合わせで使うタグを、種別(会計・情シス・給与・休暇)ごとに管理するマスタアプリ。
#ナレッジ管理
| グループ | code | ラベル | 型 | 備考 |
|---|---|---|---|---|
| shubetsu | 種別 | RADIO_BUTTON | 必須 / 会計 / 情シス / 給与 / 休暇 | |
| tag_mei | タグ名 | SINGLE_LINE_TEXT | 必須 |
appId 558 のkintoneアプリ定義(fields/layout)を元にしています。
本番環境へ取り込む前に、kintoneデベロッパーライセンス(cybozu.devで無償取得可能)の検証環境で動作確認することを推奨します。
| 種別 | Q | A | タグ | 収支区分 | 節コード | 節コード表示 | 節名 | 細節コード | 細節コード表示 | 細節名 | ネットワーク | 情シス区分 | 休暇区分 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 会計 | Qのサンプル入力です(デモ表示用のダミーデータ)。 | Aのサンプル入力です(デモ表示用のダミーデータ)。 | サンプル1 | 支出 | サンプル節コード1 | サンプル節コード表示1 | サンプル節名1 | サンプル細節コード1 | サンプル細節コード表示1 | サンプル細節名1 | サンプルネットワーク1 | PC | 年次休暇 |
| 情シス | Qのサンプル入力です(デモ表示用のダミーデータ)。 | Aのサンプル入力です(デモ表示用のダミーデータ)。 | サンプル2 | 歳入 | サンプル節コード2 | サンプル節コード表示2 | サンプル節名2 | サンプル細節コード2 | サンプル細節コード表示2 | サンプル細節名2 | サンプルネットワーク2 | システム | 出産育児 |
| 給与 | Qのサンプル入力です(デモ表示用のダミーデータ)。 | Aのサンプル入力です(デモ表示用のダミーデータ)。 | サンプル3 | 支出 | サンプル節コード3 | サンプル節コード表示3 | サンプル節名3 | サンプル細節コード3 | サンプル細節コード表示3 | サンプル細節名3 | サンプルネットワーク3 | セキュリティ | 病気休暇 |
種別(会計・情シス・給与・休暇)を1つのラジオボタンで持つ統合FAQアプリ。会計・情シス・休暇それぞれの固有項目を1レコードに同居させており、標準機能のみでは種別に応じた項目の出し分けはできない(想定するカスタマイズの内容は設計書参照)。会計の節・細節は予算・決算企画の費目マスタ(himoku-master, appId 484)をLOOKUP参照する企画をまたいだ参照。
#ナレッジ管理
| グループ | code | ラベル | 型 | 備考 |
|---|---|---|---|---|
| shubetsu | 種別 | RADIO_BUTTON | 必須 / 会計 / 情シス / 給与 / 休暇 | |
| q | Q | MULTI_LINE_TEXT | 必須 | |
| a | A | MULTI_LINE_TEXT | 必須 | |
| tag_h | タグ | SUBTABLE | ||
| shishutsu_saishutsu_kubun | 収支区分 | RADIO_BUTTON | 支出 / 歳入 | |
| setsu_lookup | 節コード | SINGLE_LINE_TEXT | ルックアップ(参照: ?) | |
| setsu_code | 節コード表示 | SINGLE_LINE_TEXT | ||
| setsu_mei | 節名 | SINGLE_LINE_TEXT | ||
| saisetsu_lookup | 細節コード | SINGLE_LINE_TEXT | ルックアップ(参照: ?) | |
| saisetsu_code | 細節コード表示 | SINGLE_LINE_TEXT | ||
| saisetsu_mei | 細節名 | SINGLE_LINE_TEXT | ||
| network | ネットワーク | SINGLE_LINE_TEXT | ||
| joho_shisu_kubun | 情シス区分 | DROP_DOWN | PC / システム / セキュリティ / 調達 / その他 | |
| kyuuka_kubun | 休暇区分 | DROP_DOWN | 年次休暇 / 出産育児 / 病気休暇 / 忌引休暇 / その他 |
appId 560 のkintoneアプリ定義(fields/layout)を元にしています。
本番環境へ取り込む前に、kintoneデベロッパーライセンス(cybozu.devで無償取得可能)の検証環境で動作確認することを推奨します。
| 種別 | 質問者 | Q | A | 転記ステータス | 伝票番号 | 収支区分 | 節コード | 節コード表示 | 節名 | 細節コード | 細節コード表示 | 細節名 | ネットワーク | 情シス区分 | 休暇区分 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 会計 | サンプル質問者1 | Qのサンプル入力です(デモ表示用のダミーデータ)。 | Aのサンプル入力です(デモ表示用のダミーデータ)。 | 未転記 | サンプル伝票番号1 | 支出 | サンプル節コード1 | サンプル節コード表示1 | サンプル節名1 | サンプル細節コード1 | サンプル細節コード表示1 | サンプル細節名1 | サンプルネットワーク1 | PC | 年次休暇 |
| 情シス | サンプル質問者2 | Qのサンプル入力です(デモ表示用のダミーデータ)。 | Aのサンプル入力です(デモ表示用のダミーデータ)。 | 転記済 | サンプル伝票番号2 | 歳入 | サンプル節コード2 | サンプル節コード表示2 | サンプル節名2 | サンプル細節コード2 | サンプル細節コード表示2 | サンプル細節名2 | サンプルネットワーク2 | システム | 出産育児 |
| 給与 | サンプル質問者3 | Qのサンプル入力です(デモ表示用のダミーデータ)。 | Aのサンプル入力です(デモ表示用のダミーデータ)。 | 未転記 | サンプル伝票番号3 | 支出 | サンプル節コード3 | サンプル節コード表示3 | サンプル節名3 | サンプル細節コード3 | サンプル細節コード表示3 | サンプル細節名3 | サンプルネットワーク3 | セキュリティ | 病気休暇 |
種別(会計・情シス・給与・休暇)を1つのラジオボタンで持つ統合問い合わせアプリ。FAQと同様、会計・情シス・休暇それぞれの固有項目を1レコードに同居させている。アプリアクション(手動設定、未対応)でFAQへの転記を行う想定。
#ナレッジ管理
| グループ | code | ラベル | 型 | 備考 |
|---|---|---|---|---|
| shubetsu | 種別 | RADIO_BUTTON | 必須 / 会計 / 情シス / 給与 / 休暇 | |
| shitsumonsha | 質問者 | SINGLE_LINE_TEXT | ||
| q | Q | MULTI_LINE_TEXT | 必須 | |
| a | A | MULTI_LINE_TEXT | ||
| tenki_status | 転記ステータス | DROP_DOWN | 未転記 / 転記済 | |
| denpyou_bangou | 伝票番号 | SINGLE_LINE_TEXT | ||
| shishutsu_saishutsu_kubun | 収支区分 | RADIO_BUTTON | 支出 / 歳入 | |
| setsu_lookup | 節コード | SINGLE_LINE_TEXT | ルックアップ(参照: ?) | |
| setsu_code | 節コード表示 | SINGLE_LINE_TEXT | ||
| setsu_mei | 節名 | SINGLE_LINE_TEXT | ||
| saisetsu_lookup | 細節コード | SINGLE_LINE_TEXT | ルックアップ(参照: ?) | |
| saisetsu_code | 細節コード表示 | SINGLE_LINE_TEXT | ||
| saisetsu_mei | 細節名 | SINGLE_LINE_TEXT | ||
| network | ネットワーク | SINGLE_LINE_TEXT | ||
| joho_shisu_kubun | 情シス区分 | DROP_DOWN | PC / システム / セキュリティ / 調達 / その他 | |
| kyuuka_kubun | 休暇区分 | DROP_DOWN | 年次休暇 / 出産育児 / 病気休暇 / 忌引休暇 / その他 |
appId 561 のkintoneアプリ定義(fields/layout)を元にしています。
本番環境へ取り込む前に、kintoneデベロッパーライセンス(cybozu.devで無償取得可能)の検証環境で動作確認することを推奨します。
chounai-faq(apps.yaml)庁内職員からの問い合わせを受け付け、そこからFAQを蓄積していく庁内向けナレッジ管理を、タグ・FAQ・問い合わせの3アプリ構成で提供する。JavaScriptカスタマイズは行わず、kintone標準機能のみで構成する(種別による表示項目の出し分けについては下記6.参照)。
本企画は、当初は採用・内定者ポータル企画(saiyo-naitei)の一部として設計・作成したが、採用・内定業務とは別階層の業務であるため分離し、独立した企画とした。分離の経緯は下記2.参照。
2026-07-06、まず採用・内定者ポータル企画の一部として、FAQタグマスタ・FAQ・問い合わせの3アプリをスペース「採用・内定者ポータル」(spaceId 89)に作成した(--apply --initiative saiyo-naitei)。
直後に、庁内FAQ業務は採用・内定業務と別階層であるべきと判断し、以下の手順で本企画として分離した。
1. apps.yaml上で、FAQタグマスタ・FAQ・問い合わせの3アプリのエントリをsaiyo-naiteiのapps:から本企画(chounai-faq)のapps:へ移し、本企画にspace: { name: 庁内FAQ, status: 未作成 }を新設した(appId・fieldsはそのまま維持)。 2. scripts/create-apps.mjsに、既存アプリ(appIdを持つアプリ)の実際のkintone上のスペースと、apps.yaml上でそのアプリが今属している企画のスペースを比較し、異なる場合はPOST /k/v1/app/move.json(アプリの所属するスペースを変更するAPI)で移動する機能を追加した(getAppSpaceId/moveAppToSpace。詳細はスクリプト冒頭のコメント、および採用・内定者ポータル企画の設計書7.参照)。 3. --apply --initiative chounai-faqを実行し、新規スペース「庁内FAQ」(spaceId 90)を作成したうえで、既存の3アプリ(appId 558/560/561)を上記の移動機能で自動的にspaceId 89から90へ移動した。フィールド構成・appIdは変更していない。
以上の経緯により、FAQタグマスタ・FAQ・問い合わせアプリのLOOKUP関係(faq/toiawaseがfaq-tag-masterをappKeyで参照する関係)は3アプリとも同一企画内に留まったまま維持されている。一方、費目マスタ(himoku-master、予算・決算企画)への参照は元々企画をまたいだ参照だったため、今回の分離による影響はない(下記7.参照)。
1つのマスタアプリ(FAQタグマスタ)を先に作成し、その後2つの業務アプリ(FAQ・問い合わせ)を作成する。
| アプリキー | アプリ名 | appType | appId | 備考 |
|---|---|---|---|---|
faq-tag-master | FAQタグマスタ | master | 558 | |
faq | FAQ | business | 560 | FAQタグマスタをLOOKUP参照。会計項目は予算・決算企画の費目マスタ(himoku-master, appId 484)を企画をまたいでLOOKUP参照(下記7.参照) |
toiawase | 問い合わせ | business | 561 | 会計項目は同上、費目マスタを企画をまたいでLOOKUP参照 |
1. 庁内職員(または内定者等)からの問い合わせを「問い合わせ」で受け付ける。shubetsu(種別:会計・情シス・給与・休暇)を選択し、種別に応じた項目(節・細節、ネットワーク等)を入力する。 2. 定型的な問い合わせは、kintoneの「アプリアクション」機能(手動設定、下記5.参照)で「FAQ」にレコードを作成し、tenki_status(転記ステータス)を更新のうえFAQとして蓄積する。 3. 「FAQ」「問い合わせ」のタグは「FAQタグマスタ」をLOOKUP参照する。会計関連の節・細節は、予算・決算企画の「費目マスタ」(himoku-master)を企画をまたいでLOOKUP参照する(下記7.参照)。 4. 蓄積された「FAQ」は庁内職員が随時参照する。
| code | ラベル | 型 | 備考 |
|---|---|---|---|
shubetsu | 種別 | ラジオボタン(必須) | 会計/情シス/給与/休暇。FAQ・問い合わせのshubetsuと共通の選択肢 |
tag_mei | タグ名 | 文字列1行(必須・重複禁止) | FAQのtag_hサブテーブルからのLOOKUP参照キー |
| code | ラベル | 型 | 備考 |
|---|---|---|---|
shubetsu | 種別 | ラジオボタン(必須) | 会計/情シス/給与/休暇。この値によって以下のどのフィールド群を使うかが決まる(下記8.参照) |
q | Q | 文字列複数行(必須) | |
a | A | 文字列複数行(必須) | |
tag_h | タグ | サブテーブル(tag_mei_h:タグ名ルックアップ) | FAQタグマスタのtag_meiを参照 |
shishutsu_saishutsu_kubun | 収支区分 | ラジオボタン | 支出/歳入。[会計]専用 |
setsu_lookup | 節コード | ルックアップ(文字列1行) | 予算・決算企画の費目マスタ(himoku-master, appId 484)のhimoku_keyを参照。filterCondでshubetsu in ("節")に絞り込み。[会計]専用 |
setsu_code | 節コード表示 | 文字列1行 | 節コードからコピー |
setsu_mei | 節名 | 文字列1行 | 同上 |
saisetsu_lookup | 細節コード | ルックアップ(文字列1行) | 費目マスタのhimoku_keyを参照。filterCondでshubetsu in ("細節")に絞り込み。[会計]専用 |
saisetsu_code | 細節コード表示 | 文字列1行 | |
saisetsu_mei | 細節名 | 文字列1行 | |
network | ネットワーク | 文字列1行 | [情シス]専用 |
joho_shisu_kubun | 情シス区分 | ドロップダウン | PC/システム/セキュリティ/調達/その他。[情シス]専用 |
kyuuka_kubun | 休暇区分 | ドロップダウン | 年次休暇/出産育児/病気休暇/忌引休暇/その他。[休暇]専用 |
[給与]専用の固有項目は、idea.mdの元案でも具体化されていないため本設計でも未定義(バックログ、下記9.参照)。給与に関するFAQは、当面shubetsu=給与を選択したうえで共通項目(Q/A/タグ)のみで運用する。
| code | ラベル | 型 | 備考 |
|---|---|---|---|
shubetsu | 種別 | ラジオボタン(必須) | 会計/情シス/給与/休暇。FAQ同様、この値によって使うフィールド群が決まる(下記8.参照) |
shitsumonsha | 質問者 | 文字列1行 | |
q | Q | 文字列複数行(必須) | |
a | A | 文字列複数行 | |
tenki_status | 転記ステータス | ドロップダウン | 未転記/転記済。FAQへの転記状況を管理 |
denpyou_bangou | 伝票番号 | 文字列1行 | [会計]専用 |
shishutsu_saishutsu_kubun | 収支区分 | ラジオボタン | 支出/歳入。[会計]専用 |
setsu_lookup | 節コード | ルックアップ(文字列1行) | 費目マスタ(appId 484)のhimoku_keyを参照。filterCondでshubetsu in ("節")に絞り込み。[会計]専用 |
setsu_code | 節コード表示 | 文字列1行 | |
setsu_mei | 節名 | 文字列1行 | |
saisetsu_lookup | 細節コード | ルックアップ(文字列1行) | 費目マスタのhimoku_keyを参照。filterCondでshubetsu in ("細節")に絞り込み。[会計]専用 |
saisetsu_code | 細節コード表示 | 文字列1行 | |
saisetsu_mei | 細節名 | 文字列1行 | |
network | ネットワーク | 文字列1行 | [情シス]専用 |
joho_shisu_kubun | 情シス区分 | ドロップダウン | PC/システム/セキュリティ/調達/その他。[情シス]専用 |
kyuuka_kubun | 休暇区分 | ドロップダウン | 年次休暇/出産育児/病気休暇/忌引休暇/その他。[休暇]専用 |
フィールド定義の正はapps.yamlの該当エントリであり、上記5〜7の表はその要約。フィールドを追加・変更した場合は、apps.yamlの更新に合わせて本表も必ず更新すること。
「FAQ」「問い合わせ」のshubetsu(種別:会計/情シス/給与/休暇)には、本来「選択した種別に応じて関連フィールドのみを画面に表示し、他の種別の項目は非表示にしたい」という意図がある(idea.mdの元アイデア「ラジオの結果によって表示項目を分ける」)。しかし本リポジトリの方針(CLAUDE.md「JavaScriptによるカスタマイズは行わない」)により、本設計ではこれを実装しない。
標準機能の範囲では以下の代替措置にとどめる。
shubetsuの選択値に連動した自動開閉・自動非表示は標準機能では不可)。将来的にJavaScriptカスタマイズを実装する場合に想定される実装内容(未実装、参考情報として記載しておく)。
- 会計用: shishutsu_saishutsu_kubun / setsu_lookup / setsu_code / setsu_mei / saisetsu_lookup / saisetsu_code / saisetsu_mei /(問い合わせのみ)denpyou_bangou - 情シス用: network / joho_shisu_kubun - 休暇用: kyuuka_kubun
app.record.create.show / app.record.edit.show / app.record.detail.show)にイベントハンドラを登録する。shubetsuフィールドの値を判定し、kintone.app.record.setFieldShown(code, boolean)を用いて、以下のフィールド群のうち選択中の種別に対応するものだけを表示し、他は非表示にする。shubetsuフィールドの変更イベント(app.record.create.change.shubetsu / app.record.edit.change.shubetsu)にも同様のハンドラを登録し、種別を変更した際にリアルタイムで表示が切り替わるようにする。app.record.index.showイベントで種別ごとの列表示を切り替えることは可能だが、優先度は低い(上記の絞り込みビューで代替可能なため)。「問い合わせ」から「FAQ」へのレコード作成導線は、議会事務企画の「一般質問受付→答弁作成」(設計書17.参照)と同様、kintoneの「アプリアクション」機能で実現する想定。この設定はアプリの一般設定APIではなく、REST API未対応のスペース固有設定のためscripts/create-apps.mjsの対象外であり、両アプリ作成後に管理画面から手動で設定すること(未対応)。
「FAQ」「問い合わせ」の節・細節は、本企画(chounai-faq)ではなく予算・決算企画(yosan-kessan)の「費目マスタ」(himoku-master)を参照する。scripts/create-apps.mjsのappKeyによるLOOKUP解決は同一企画内のアプリしか探索しない仕様のため、本企画ではlookup.relatedApp.appKeyではなく、既に確定している費目マスタの実際のappId(484)をlookup.relatedApp.appに直接指定している。
この方式は、参照先アプリが既に作成済み(appId確定済み)であることが前提であり、apps.yaml上の他企画にはまだ前例がない。将来的に費目マスタを作り直してappIdが変わった場合、この参照は追従されず壊れる点に注意すること。
layout(フォームレイアウト)は未設定(kintoneのデフォルト順序に従う)対象: 「FAQタグマスタ」「FAQ」「問い合わせ」の各アプリ
1. 庁内職員が「問い合わせ」に質問を登録する。shubetsu(種別:会計・情シス・給与・休暇)を選択し、対応担当が回答を登録する(設計書7参照)。 2. 「FAQ」「問い合わせ」はいずれもFAQタグマスタをタグとしてLOOKUP参照し、会計項目(節・細節)は予算・決算企画の費目マスタを企画をまたいでLOOKUP参照する(設計書6・7・10参照)。 3. 定型的な問い合わせは、アプリアクション(手動設定、設計書9参照)で「FAQ」にレコードを作成し、「問い合わせ」側のtenki_status(転記ステータス)を更新する。 4. 蓄積された「FAQ」は庁内職員が随時参照する。
scripts/create-apps.mjsのappKey解決の対象外(実際のappIdを直接指定)である点に注意(設計書10参照)。対象: 「FAQタグマスタ」「FAQ」「問い合わせ」の各アプリ
FAQ・TOIAWASEはいずれも、予算・決算企画(yosan-kessan)の「費目マスタ」(himoku-master, appId 484)のhimoku_keyをsetsu_lookup/saisetsu_lookupでLOOKUP参照する。この参照先は本企画の外(別企画)のアプリのため、上記ER図には関連線として表現していない(設計書10参照)。TOIAWASEからFAQへは、kintoneの「アプリアクション」機能(手動設定、設計書9参照)でレコードを作成する導線があるが、これはLOOKUP等のデータ連携ではないため、上記ER図には関連線として表現していない。FAQのtag_hはサブテーブルであり、行ごとにFAQ_TAG_MASTERのtag_meiをLOOKUP参照する(複数タグを付与可能)。TOIAWASEにはタグ項目はない(idea.mdの元案でも問い合わせアプリ側にタグは無い)。