庁内FAQ

問い合わせ対応からFAQを蓄積していく庁内ナレッジ管理(タグ・FAQ・問い合わせの3アプリ構成)。当初は採用・内定者ポータル企画(`saiyo-naitei`)の一部として設計したが、階層を分離し独立した企画とした。

プロジェクト: 庁内FAQ 完了

アプリテンプレート一式(zip)をダウンロード

本番環境へ取り込む前に、kintoneデベロッパーライセンス(cybozu.devで無償取得可能)の検証環境で動作確認することを推奨します。

デモンストレーション

種別タグ名
会計サンプルタグ名1
情シスサンプルタグ名2
給与サンプルタグ名3
種別*
タグ名*

FAQタグマスタ 総務部 完了

庁内向けFAQ・問い合わせで使うタグを、種別(会計・情シス・給与・休暇)ごとに管理するマスタアプリ。

#ナレッジ管理

この企画への改善要望を送る(Googleフォーム)

設計情報

グループcodeラベル備考
shubetsu 種別 RADIO_BUTTON 必須 / 会計 / 情シス / 給与 / 休暇
tag_mei タグ名 SINGLE_LINE_TEXT 必須

ダウンロード

設計情報をJSONでダウンロード

appId 558 のkintoneアプリ定義(fields/layout)を元にしています。

本番環境へ取り込む前に、kintoneデベロッパーライセンス(cybozu.devで無償取得可能)の検証環境で動作確認することを推奨します。

デモンストレーション

種別QAタグ収支区分節コード節コード表示節名細節コード細節コード表示細節名ネットワーク情シス区分休暇区分
会計Qのサンプル入力です(デモ表示用のダミーデータ)。Aのサンプル入力です(デモ表示用のダミーデータ)。サンプル1支出サンプル節コード1サンプル節コード表示1サンプル節名1サンプル細節コード1サンプル細節コード表示1サンプル細節名1サンプルネットワーク1PC年次休暇
情シスQのサンプル入力です(デモ表示用のダミーデータ)。Aのサンプル入力です(デモ表示用のダミーデータ)。サンプル2歳入サンプル節コード2サンプル節コード表示2サンプル節名2サンプル細節コード2サンプル細節コード表示2サンプル細節名2サンプルネットワーク2システム出産育児
給与Qのサンプル入力です(デモ表示用のダミーデータ)。Aのサンプル入力です(デモ表示用のダミーデータ)。サンプル3支出サンプル節コード3サンプル節コード表示3サンプル節名3サンプル細節コード3サンプル細節コード表示3サンプル細節名3サンプルネットワーク3セキュリティ病気休暇
種別*
Q*
A*
タグ
収支区分
節コード
節コード表示
節名
細節コード
細節コード表示
細節名
ネットワーク
情シス区分
休暇区分

FAQ 総務部 完了

種別(会計・情シス・給与・休暇)を1つのラジオボタンで持つ統合FAQアプリ。会計・情シス・休暇それぞれの固有項目を1レコードに同居させており、標準機能のみでは種別に応じた項目の出し分けはできない(想定するカスタマイズの内容は設計書参照)。会計の節・細節は予算・決算企画の費目マスタ(himoku-master, appId 484)をLOOKUP参照する企画をまたいだ参照。

#ナレッジ管理

この企画への改善要望を送る(Googleフォーム)

設計情報

グループ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 年次休暇 / 出産育児 / 病気休暇 / 忌引休暇 / その他

ダウンロード

設計情報をJSONでダウンロード

appId 560 のkintoneアプリ定義(fields/layout)を元にしています。

本番環境へ取り込む前に、kintoneデベロッパーライセンス(cybozu.devで無償取得可能)の検証環境で動作確認することを推奨します。

デモンストレーション

種別質問者QA転記ステータス伝票番号収支区分節コード節コード表示節名細節コード細節コード表示細節名ネットワーク情シス区分休暇区分
会計サンプル質問者1Qのサンプル入力です(デモ表示用のダミーデータ)。Aのサンプル入力です(デモ表示用のダミーデータ)。未転記サンプル伝票番号1支出サンプル節コード1サンプル節コード表示1サンプル節名1サンプル細節コード1サンプル細節コード表示1サンプル細節名1サンプルネットワーク1PC年次休暇
情シスサンプル質問者2Qのサンプル入力です(デモ表示用のダミーデータ)。Aのサンプル入力です(デモ表示用のダミーデータ)。転記済サンプル伝票番号2歳入サンプル節コード2サンプル節コード表示2サンプル節名2サンプル細節コード2サンプル細節コード表示2サンプル細節名2サンプルネットワーク2システム出産育児
給与サンプル質問者3Qのサンプル入力です(デモ表示用のダミーデータ)。Aのサンプル入力です(デモ表示用のダミーデータ)。未転記サンプル伝票番号3支出サンプル節コード3サンプル節コード表示3サンプル節名3サンプル細節コード3サンプル細節コード表示3サンプル細節名3サンプルネットワーク3セキュリティ病気休暇
種別*
質問者
Q*
A
転記ステータス
伝票番号
収支区分
節コード
節コード表示
節名
細節コード
細節コード表示
細節名
ネットワーク
情シス区分
休暇区分

問い合わせ 総務部 完了

種別(会計・情シス・給与・休暇)を1つのラジオボタンで持つ統合問い合わせアプリ。FAQと同様、会計・情シス・休暇それぞれの固有項目を1レコードに同居させている。アプリアクション(手動設定、未対応)でFAQへの転記を行う想定。

#ナレッジ管理

この企画への改善要望を送る(Googleフォーム)

設計情報

グループ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 年次休暇 / 出産育児 / 病気休暇 / 忌引休暇 / その他

ダウンロード

設計情報をJSONでダウンロード

appId 561 のkintoneアプリ定義(fields/layout)を元にしています。

本番環境へ取り込む前に、kintoneデベロッパーライセンス(cybozu.devで無償取得可能)の検証環境で動作確認することを推奨します。

設計書類

庁内FAQ 設計書

  • 企画キー: chounai-faq(apps.yaml)
  • kintoneスペース: 庁内FAQ(spaceId: 90)
  • 関連ドキュメント: DFD / ER図
1. 目的

庁内職員からの問い合わせを受け付け、そこからFAQを蓄積していく庁内向けナレッジ管理を、タグ・FAQ・問い合わせの3アプリ構成で提供する。JavaScriptカスタマイズは行わず、kintone標準機能のみで構成する(種別による表示項目の出し分けについては下記6.参照)。

本企画は、当初は採用・内定者ポータル企画(saiyo-naitei)の一部として設計・作成したが、採用・内定業務とは別階層の業務であるため分離し、独立した企画とした。分離の経緯は下記2.参照。

2. 企画分離の経緯

2026-07-06、まず採用・内定者ポータル企画の一部として、FAQタグマスタ・FAQ・問い合わせの3アプリをスペース「採用・内定者ポータル」(spaceId 89)に作成した(--apply --initiative saiyo-naitei)。

直後に、庁内FAQ業務は採用・内定業務と別階層であるべきと判断し、以下の手順で本企画として分離した。

1. apps.yaml上で、FAQタグマスタ・FAQ・問い合わせの3アプリのエントリをsaiyo-naiteiapps:から本企画(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/toiawasefaq-tag-masterをappKeyで参照する関係)は3アプリとも同一企画内に留まったまま維持されている。一方、費目マスタ(himoku-master、予算・決算企画)への参照は元々企画をまたいだ参照だったため、今回の分離による影響はない(下記7.参照)。

3. アプリ構成

1つのマスタアプリ(FAQタグマスタ)を先に作成し、その後2つの業務アプリ(FAQ・問い合わせ)を作成する。

アプリキーアプリ名appTypeappId備考
faq-tag-masterFAQタグマスタmaster558
faqFAQbusiness560FAQタグマスタをLOOKUP参照。会計項目は予算・決算企画の費目マスタ(himoku-master, appId 484)を企画をまたいでLOOKUP参照(下記7.参照)
toiawase問い合わせbusiness561会計項目は同上、費目マスタを企画をまたいでLOOKUP参照
4. 業務フロー概要

1. 庁内職員(または内定者等)からの問い合わせを「問い合わせ」で受け付ける。shubetsu(種別:会計・情シス・給与・休暇)を選択し、種別に応じた項目(節・細節、ネットワーク等)を入力する。 2. 定型的な問い合わせは、kintoneの「アプリアクション」機能(手動設定、下記5.参照)で「FAQ」にレコードを作成し、tenki_status(転記ステータス)を更新のうえFAQとして蓄積する。 3. 「FAQ」「問い合わせ」のタグは「FAQタグマスタ」をLOOKUP参照する。会計関連の節・細節は、予算・決算企画の「費目マスタ」(himoku-master)を企画をまたいでLOOKUP参照する(下記7.参照)。 4. 蓄積された「FAQ」は庁内職員が随時参照する。

5. 「FAQタグマスタ」フィールド一覧
codeラベル備考
shubetsu種別ラジオボタン(必須)会計/情シス/給与/休暇。FAQ・問い合わせのshubetsuと共通の選択肢
tag_meiタグ名文字列1行(必須・重複禁止)FAQのtag_hサブテーブルからのLOOKUP参照キー
6. 「FAQ」フィールド一覧
codeラベル備考
shubetsu種別ラジオボタン(必須)会計/情シス/給与/休暇。この値によって以下のどのフィールド群を使うかが決まる(下記8.参照)
qQ文字列複数行(必須)
aA文字列複数行(必須)
tag_hタグサブテーブル(tag_mei_h:タグ名ルックアップ)FAQタグマスタのtag_meiを参照
shishutsu_saishutsu_kubun収支区分ラジオボタン支出/歳入。[会計]専用
setsu_lookup節コードルックアップ(文字列1行)予算・決算企画の費目マスタ(himoku-master, appId 484)のhimoku_keyを参照。filterCondshubetsu in ("節")に絞り込み。[会計]専用
setsu_code節コード表示文字列1行節コードからコピー
setsu_mei節名文字列1行同上
saisetsu_lookup細節コードルックアップ(文字列1行)費目マスタのhimoku_keyを参照。filterCondshubetsu in ("細節")に絞り込み。[会計]専用
saisetsu_code細節コード表示文字列1行
saisetsu_mei細節名文字列1行
networkネットワーク文字列1行[情シス]専用
joho_shisu_kubun情シス区分ドロップダウンPC/システム/セキュリティ/調達/その他。[情シス]専用
kyuuka_kubun休暇区分ドロップダウン年次休暇/出産育児/病気休暇/忌引休暇/その他。[休暇]専用

[給与]専用の固有項目は、idea.mdの元案でも具体化されていないため本設計でも未定義(バックログ、下記9.参照)。給与に関するFAQは、当面shubetsu=給与を選択したうえで共通項目(Q/A/タグ)のみで運用する。

7. 「問い合わせ」フィールド一覧
codeラベル備考
shubetsu種別ラジオボタン(必須)会計/情シス/給与/休暇。FAQ同様、この値によって使うフィールド群が決まる(下記8.参照)
shitsumonsha質問者文字列1行
qQ文字列複数行(必須)
aA文字列複数行
tenki_status転記ステータスドロップダウン未転記/転記済。FAQへの転記状況を管理
denpyou_bangou伝票番号文字列1行[会計]専用
shishutsu_saishutsu_kubun収支区分ラジオボタン支出/歳入。[会計]専用
setsu_lookup節コードルックアップ(文字列1行)費目マスタ(appId 484)のhimoku_keyを参照。filterCondshubetsu in ("節")に絞り込み。[会計]専用
setsu_code節コード表示文字列1行
setsu_mei節名文字列1行
saisetsu_lookup細節コードルックアップ(文字列1行)費目マスタのhimoku_keyを参照。filterCondshubetsu in ("細節")に絞り込み。[会計]専用
saisetsu_code細節コード表示文字列1行
saisetsu_mei細節名文字列1行
networkネットワーク文字列1行[情シス]専用
joho_shisu_kubun情シス区分ドロップダウンPC/システム/セキュリティ/調達/その他。[情シス]専用
kyuuka_kubun休暇区分ドロップダウン年次休暇/出産育児/病気休暇/忌引休暇/その他。[休暇]専用

フィールド定義の正はapps.yamlの該当エントリであり、上記5〜7の表はその要約。フィールドを追加・変更した場合は、apps.yamlの更新に合わせて本表も必ず更新すること。

8. カスタマイズ想定(本設計では未実装)

「FAQ」「問い合わせ」のshubetsu(種別:会計/情シス/給与/休暇)には、本来「選択した種別に応じて関連フィールドのみを画面に表示し、他の種別の項目は非表示にしたい」という意図がある(idea.mdの元アイデア「ラジオの結果によって表示項目を分ける」)。しかし本リポジトリの方針(CLAUDE.md「JavaScriptによるカスタマイズは行わない」)により、本設計ではこれを実装しない。

標準機能の範囲では以下の代替措置にとどめる。

  • レコード追加・編集・詳細画面で、会計用/情シス用/休暇用の項目群を「グループ」フィールドでまとめ、視覚的にセクション分けする(グループの折りたたみ自体は可能だが、shubetsuの選択値に連動した自動開閉・自動非表示は標準機能では不可)。
  • 一覧画面は、種別ごとに絞り込んだビュー(kintoneの「絞り込み」機能、標準機能で対応可能)を用意し、種別ごとの一覧を見やすくする。
  • 運用上は「選択した種別以外のフィールドは空欄のまま残る」という前提で運用する。

将来的にJavaScriptカスタマイズを実装する場合に想定される実装内容(未実装、参考情報として記載しておく)。

- 会計用: shishutsu_saishutsu_kubun / setsu_lookup / setsu_code / setsu_mei / saisetsu_lookup / saisetsu_code / saisetsu_mei /(問い合わせのみ)denpyou_bangou - 情シス用: network / joho_shisu_kubun - 休暇用: kyuuka_kubun

  • kintoneのレコード追加・編集・詳細画面イベント(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イベントで種別ごとの列表示を切り替えることは可能だが、優先度は低い(上記の絞り込みビューで代替可能なため)。
9. アプリアクション設定(手動設定が必要な項目)

「問い合わせ」から「FAQ」へのレコード作成導線は、議会事務企画の「一般質問受付→答弁作成」(設計書17.参照)と同様、kintoneの「アプリアクション」機能で実現する想定。この設定はアプリの一般設定APIではなく、REST API未対応のスペース固有設定のためscripts/create-apps.mjsの対象外であり、両アプリ作成後に管理画面から手動で設定すること(未対応)。

10. 費目マスタへの企画をまたいだLOOKUP参照について

「FAQ」「問い合わせ」の節・細節は、本企画(chounai-faq)ではなく予算・決算企画(yosan-kessan)の「費目マスタ」(himoku-master)を参照する。scripts/create-apps.mjsappKeyによるLOOKUP解決は同一企画内のアプリしか探索しない仕様のため、本企画ではlookup.relatedApp.appKeyではなく、既に確定している費目マスタの実際のappId(484)をlookup.relatedApp.appに直接指定している。

この方式は、参照先アプリが既に作成済み(appId確定済み)であることが前提であり、apps.yaml上の他企画にはまだ前例がない。将来的に費目マスタを作り直してappIdが変わった場合、この参照は追従されず壊れる点に注意すること。

11. 未決定・今後の検討事項
  • 上記8.のフィールド出し分けJavaScriptカスタマイズ(方針により本設計では未実装、標準機能の範囲で運用)
  • 上記9.のアプリアクション設定(手動対応、未着手)
  • [給与]FAQ・問い合わせの固有項目(idea.mdの元案でも具体化されていないためバックログ)
  • 各アプリのlayout(フォームレイアウト)は未設定(kintoneのデフォルト順序に従う)

庁内FAQ DFD(データフロー図)

対象: 「FAQタグマスタ」「FAQ」「問い合わせ」の各アプリ

flowchart LR shokuin["庁内職員(問い合わせ元)"] tantou["問い合わせ対応担当"] subgraph tagM["FAQタグマスタ (kintone)"] tagRec[("タグ\nレコード")] end subgraph faqApp["FAQ (kintone)"] faqRec[("FAQ\nレコード")] end subgraph toiawaseApp["問い合わせ (kintone)"] toiawaseRec[("問い合わせ\nレコード")] end subgraph himokuM["費目マスタ (kintone / yosan-kessan企画)"] himokuRec[("費目\nレコード")] end shokuin -- "1. 問い合わせを送信(種別を選択)" --> toiawaseRec tantou -- "1. 回答を登録" --> toiawaseRec tagM -. "2. タグをLOOKUP参照" .-> faqRec himokuM -- "2. 節/細節をLOOKUP参照(企画をまたいだ参照)" --> faqRec himokuM -- "2. 同上" --> toiawaseRec toiawaseRec -- "3. アプリアクションでFAQへ転記" --> faqRec tantou -- "3. 転記ステータスを更新" --> toiawaseRec faqRec -- "4. FAQを閲覧" --> shokuin
フロー説明

1. 庁内職員が「問い合わせ」に質問を登録する。shubetsu(種別:会計・情シス・給与・休暇)を選択し、対応担当が回答を登録する(設計書7参照)。 2. 「FAQ」「問い合わせ」はいずれもFAQタグマスタをタグとしてLOOKUP参照し、会計項目(節・細節)は予算・決算企画の費目マスタを企画をまたいでLOOKUP参照する(設計書6・7・10参照)。 3. 定型的な問い合わせは、アプリアクション(手動設定、設計書9参照)で「FAQ」にレコードを作成し、「問い合わせ」側のtenki_status(転記ステータス)を更新する。 4. 蓄積された「FAQ」は庁内職員が随時参照する。

備考
  • 本企画は、当初は採用・内定者ポータル企画の一部として作成し、その後スペースごと分離した(設計書2参照)。
  • 「FAQ」「問い合わせ」から「費目マスタ」(予算・決算企画)へのLOOKUPは、企画をまたいだ参照であり、scripts/create-apps.mjsappKey解決の対象外(実際のappIdを直接指定)である点に注意(設計書10参照)。

庁内FAQ ER図

対象: 「FAQタグマスタ」「FAQ」「問い合わせ」の各アプリ

erDiagram FAQ_TAG_MASTER { radio_button shubetsu "種別(必須、会計/情シス/給与/休暇)" string tag_mei "タグ名(必須・重複禁止)" } FAQ { radio_button shubetsu "種別(必須、会計/情シス/給与/休暇)" text q "Q(必須)" text a "A(必須)" subtable tag_h "タグ(タグ名LOOKUP)" radio_button shishutsu_saishutsu_kubun "収支区分[会計]" string setsu_lookup "節コード(LOOKUP)[会計]" string setsu_code "節コード表示[会計]" string setsu_mei "節名[会計]" string saisetsu_lookup "細節コード(LOOKUP)[会計]" string saisetsu_code "細節コード表示[会計]" string saisetsu_mei "細節名[会計]" string network "ネットワーク[情シス]" drop_down joho_shisu_kubun "情シス区分[情シス]" drop_down kyuuka_kubun "休暇区分[休暇]" } TOIAWASE { radio_button shubetsu "種別(必須、会計/情シス/給与/休暇)" string shitsumonsha "質問者" text q "Q(必須)" text a "A" drop_down tenki_status "転記ステータス" string denpyou_bangou "伝票番号[会計]" radio_button shishutsu_saishutsu_kubun "収支区分[会計]" string setsu_lookup "節コード(LOOKUP)[会計]" string setsu_code "節コード表示[会計]" string setsu_mei "節名[会計]" string saisetsu_lookup "細節コード(LOOKUP)[会計]" string saisetsu_code "細節コード表示[会計]" string saisetsu_mei "細節名[会計]" string network "ネットワーク[情シス]" drop_down joho_shisu_kubun "情シス区分[情シス]" drop_down kyuuka_kubun "休暇区分[休暇]" } FAQ_TAG_MASTER ||--o{ FAQ : "tag_h.tag_mei_h(LOOKUP)で参照"
備考
  • FAQTOIAWASEはいずれも、予算・決算企画(yosan-kessan)の「費目マスタ」(himoku-master, appId 484)のhimoku_keysetsu_lookup/saisetsu_lookupでLOOKUP参照する。この参照先は本企画の外(別企画)のアプリのため、上記ER図には関連線として表現していない(設計書10参照)。
  • TOIAWASEからFAQへは、kintoneの「アプリアクション」機能(手動設定、設計書9参照)でレコードを作成する導線があるが、これはLOOKUP等のデータ連携ではないため、上記ER図には関連線として表現していない。
  • FAQtag_hはサブテーブルであり、行ごとにFAQ_TAG_MASTERtag_meiをLOOKUP参照する(複数タグを付与可能)。TOIAWASEにはタグ項目はない(idea.mdの元案でも問い合わせアプリ側にタグは無い)。
姉妹サイト: GovAppsプラグイン kintone用プラグインを配布しています。無料広告なしオープンソース
GovAppsプラグインを見る