kintone

kintoneアプリコード徹底解説|設定・変更から公式ヘルプにない「仕様の罠」まで

majinalife.com
あなた
あなた

アプリコードって何?どう設定するのが正解?

あなた
あなた

kintone認定アソシエイトやアプリデザインスペシャリストで問題が出るけど、kintone公式ヘルプの情報が少ない

kintoneの標準機能でありながら、意外と公式ドキュメントの解説がシンプルすぎて、運用で迷うことが多いのが「アプリコード」です。

私はkintone認定アプリデザインスペシャリストの試験勉強を通じ、この機能の奥深さに気づきました。アソシエイト試験でも問われる基本機能ですが、実務やスペシャリストレベルになると、公式ヘルプには載っていない「細かすぎる挙動」の理解が求められます。

本記事では、初心者の方が迷わないための基本設定から、中上級者・エンジニアが泣かされる「仕様の裏側」まで、動作検証の結果を交えて網羅的に解説します。認定試験対策として情報を探している方にも、実務で命名規則に悩んでいる方にも役立つ内容となっています。

kintoneのアプリコードとは?(基本概要)

アプリコードとは、kintoneの各アプリに設定できる「任意の英数字の識別子」のことです。

通常、レコード番号は「1」「2」「3」という単なる数値ですが、アプリコードを設定すると「CUSTOMER-1」「CUTOMER-2」のように、どのアプリのデータなのかが一目でわかるようになります。

kintone アプリコード設定前と設定後の比較画像

アプリコードを設定する3つのメリット

  1. 視認性の向上: CSV出力や通知メールで、どの業務のレコードか即座に判別できる。
  2. 自動リンク機能: コメント欄等に アプリコード-レコード番号 と書くだけで、該当レコードへ自動リンクが貼られる。
  3. 外部連携のキー: API連携や帳票出力時に、レコードを特定するためのセマンティックなIDとして活用できる。

特に複数のアプリをCSVで出力し、Excelで再度「VLOOKUP」する運用がある場合、アプリごとのレコードを意識しやすく便利な機能です。

【図解】アプリコードの設定方法と基本ルール

まずは基本的な設定手順と、ハマりやすい制約を確認しましょう。

設定の手順

アプリ右上の [歯車アイコン] > [設定] タブをクリック
アプリの設定ボタン
[その他の設定] > [高度な設定] をクリック
[アプリ管理]→[設定タブ]の画像
「アプリコード」 欄に任意の文字列を入力
[高度な設定]画面のアプリコード設定個所の画像
森田ユウゴ
森田ユウゴ

記事の後半でオススメのアプリコード検討方法もご紹介しています!

[保存] > [アプリを更新] で反映
[アプリを更新]ボタンの画像

試験対策で重要なのは「設定」→「高度な設定」に含まれる設定ということでしょうか。

覚えておくべき4つの基本ルール

  1. 文字種: 半角英数字(a-z, A-Z, 0-9)のみ。
  2. 先頭文字: 必ずアルファベットから始める(数字開始は不可)。
  3. 重複不可: 同一ドメイン内で他のアプリと重複させることはできない。
  4. 文字数: 1文字以上、64文字以下

kintoneの設定画面やヘルプには文字数制限の記載がありません。実際に検証したところ、65文字以上を入力すると「64文字以下である必要があります」とエラーが表示されました。

kintone アプリコードの文字数制限のエラー画面

アプリコードで大文字・小文字は区別される?

結論から言うと、「区別されます」。 同一ドメイン内で、大文字と小文字を変えれば同じ単語でも設定可能です。

  • アプリA:CUSTOMER(設定可能)
  • アプリB:customer(設定可能)

実際に、それぞれ「CUSTOMER-1」「customer-1」と記載した際、正しく別々のアプリ・レコードへリンクが貼られることを確認しました。

まず想定通りの仕様で、同じ名前を入力したら下記のように「アプリコードが他のアプリと重複しています。」と表示されます。

kintone アプリコード重複エラー画面

そこで「大文字小文字を別にしたアプリコード」を設定してみます。

kintone アプリコードで大文字小文字を区別した例

このように問題なく使用できることが分かりました。

ここまでアプリコードの基本的な設定方法や仕様についてご紹介しました。

森田ユウゴ
森田ユウゴ

文字数制限の時点で、kintoneの基本のヘルプには記載がない!

このように設定をしてみようとしても、情報が少ないkintoneシステム管理者が多くいると思います。以降ではより詳細に仕様について実際に操作をして検証した結果をご紹介いたします。

【完全保存版】アプリコードの自動リンクが反映される画面の調査結果2025年12月

「コメント欄でリンクになる」ことは有名ですが、実は他にも多くの場所で自動リンクが機能します。デザインスペシャリスト試験でも問われかねない、細かい挙動を一覧表にまとめました。

まずは検証環境の構成は下記の通りです。

レコード詳細画面:どのフィールドがリンクになるのか?

アプリのレコードに入力できる値のうち、アプリコード(例:CUSTOMER-1)が自動的にリンク変換されるフィールドを網羅的に調査しました。

先に結論を表としてまとめます。

フィールド・箇所リンク反映検証意図・特記事項
ラベル説明文の中にコードを埋め込んでもリンク化される
文字列 (1行)手入力した値がそのままリンクになる
文字列 (1行) 自動計算計算式で結合された文字列(”ABC-” & 番号)もリンク化される
文字列 (複数行)改行を含む文章内でも検知される
リッチエディター装飾されたテキスト内でも機能する
ルックアップ取得した値にアプリコードが含まれていればリンクとしてコピーされる
関連レコード一覧参照先の表示値がアプリコードの場合
選択系 (ラジオ/チェック等)×選択肢の名称をアプリコードにしてもリンク化されない
各種選択 (ユーザー/組織等)×ユーザー等のプロフィール表示が優先される

まずアプリは下記のように文字を埋め込めるフィールドを全て入れてみました。

kintone アプリコード検証アプリの構成画面

そして、それぞれ詳細に入れてみた結果がこちらです。

kintone アプリコードのレコード詳細画面

個人的に最も意外だったのは「自動計算」です。”CUSTOMER” & “-” & “1”として、無理やり繋げた計算式で生成された結果でも、保存後にはしっかりと青いリンクに変わります。

検証の結果、「参照先アプリの閲覧権限がないユーザー」に対しても、アプリコードはリンク(青文字)として表示されることが分かりました。

ただし、クリックすると「権限がありません」というエラーになります。「リンクが表示されている=中身が見える」わけではないため、セキュリティ面での混乱を避けるために運用者に周知しておくべきポイントです。

アプリのUI・スペース・ポータルでの挙動

レコードの中身以外でも、アプリコードが「リンク」として機能する場所は多岐にわたります。

アプリの設定・一覧画面

  • アプリ名: ×(リンクになりません)
  • アプリの説明: (ホーム画面などの説明文内で機能します)
  • レコード一覧画面: (一覧に表示されている文字列内でも機能します)
kintone アプリコードアプリ表示画面の反映結果

スペース・ゲストスペース内のアプリ

「リンクが張られる」という自動的な挙動は、セキュリティ上の理由で制限したい場合もあるかもしれませんが、検証の結果は以下の通りです。

  • 非公開スペース: 反映される
  • ゲストスペース: 反映される(ゲストユーザーが閲覧してもリンク化される)
kintoneアプリコード 非公開スペースでの挙動
非公開スペース
kintoneアプリコード ゲストスペースでの挙動
ゲストスペース

ゲストスペース内であっても、アプリコードの形式で文字が入力されていれば自動的にリンク化されます。ただし、ゲストがアクセスできるのは「自分に権限がある同じスペース内のアプリ」のみです。

ゲストユーザーがアプリコードのリンク先に権限がない場合のエラー画面は「CB_NO02」で、これは通常の運用と同じく閲覧権限がない場合に出る内容と同じです。

kintone アプリコードのリンク先に権限がない場合のエラー画面(CB_NO02)

ポータル・お知らせ掲示板

ポータルや掲示板などでアプリコードが参照できるかテストした結果、驚きの仕様が見つかりました。

設定項目リンク反映
ポータル(お知らせ掲示板)
スペース / ゲストスペース(お知らせ掲示板)
スレッド(スペース / ゲストスペース)
2枚目以降のポータル(リッチテキストウィジェット)×
2枚目以降のポータル(レコード一覧ウィジェット)

ライトコースでは使えない2枚目以降のポータル機能に「リッチテキスト」という名称のウィジェットがありますが、アプリコードはリンクに変換されません。

処理ロジックの違いは、試験対策としても覚えておいて損はないでしょう。

下記がお知らせ掲示板に反映されている画面です。

kintoneアプリコードでお知らせ掲示板に記載した場合の動作画面

下記が2枚目以降のポータルのリッチテキストウィジェットで、リンクが反映されていません。

kintoneアプリコードでリッチテキストウィジェットに記載した場合の動作画面

次にスペースのお知らせ掲示板です。ゲストスペース、通常のスペースとともにリンクに変換されました。

kintone アプリコード スペースのお知らせ掲示板の動作画面

スレッドもゲストスペース問わずリンクに変換されています。

kintone アプリコード スレッド内の変換動作画面

【運用編】アプリコードの命名規則と「変更」の罠

ここまではkintoneアプリコードの挙動を詳しく見てきました。ここからは、実際の運用で「どのように設定するのが正解か」について、実務に即した検討ポイントをまとめます。

アプリコードは「変更可能」になった(2024年5月~)

実は、ベテランのkintoneユーザーほど「アプリコードは一度決めたら変えられない」と思い込んでいる場合があります。しかし、2024年5月のアップデートにより、現在は変更が可能になっています。

2024年5月版 主なアップデート | kintone ヘルプ – https://jp.kintone.help/k/ja/update/main/2024-05#point2

ただし、変更には仕様の罠)があることを理解しておかなければなりません。

⚠️ アプリコード変更時の「参照事故」に注意!

アプリコードを変更すると、それ以前にコメント欄などに貼られていた「古いアプリコード形式のリンク」は解除されます。

ここで恐ろしいのは、「古いアプリコードを、別のアプリに再割り当てした時」です。過去のコメントに残っていたリンクが、意図せず「新しくコードを割り当てた別アプリ」へのリンクに自動で切り替わってしまいます。

  • : 顧客管理のコードを CUST から CUSTOMER に変更。その後、別の「問い合わせ管理」に CUST を設定。
  • 結果: 過去の顧客管理に関するコメントをクリックすると、なぜか「問い合わせ管理」のレコードが開くようになり、運用の混乱を招きます。

アプリの削除で自動でアプリコードが解除される

アプリコードはアプリテンプレートや再利用では引き継ぐことが出来ない仕様です。

もう1点注意したいのが、アプリを削除した時点でアプリコードは設定が消えます。

cybozu.com共通管理者は、削除したアプリを14日以内であれば復旧が出来ますが、アプリコードは復旧できません。

森田ユウゴ
森田ユウゴ

ここは認定試験とかで問われそうです!
ひっかけ選択肢で「アプリの復旧で全ての設定項目やレコードを戻すことが出来ない」→「戻せない項目って何だろう…アプリコードのことか!」みたいな感じ。

大規模運用でも迷わない「命名規約」の作り方

kintoneはスタンダードコースで最大1,000アプリまで作成可能です。アプリが増えてから後悔しないよう、あらかじめルールを決めておきましょう。

個人的には、プログラミングの変数やデータベースの命名規則を参考に、「3〜8文字程度」のプレフィックスを組み合わせる構成が理想的だと考えています。

  • 部署・プロジェクト(2〜3文字): HR (人事), SL (営業), PJ (プロジェクト)
  • 機能・用途(2文字程度): IV (請求), AP (申請), MT (マスター)
  • 年度・世代(2文字程度): 24 (2024年度)
設定例
命名パターン具体例推奨されるケース
年度分割型SLIV24請求書など、年次でアプリを分ける業務
機能特化型HRREC採用(REC)、評価(EVL)など部署内で細分化する場合
ゲストスペース型GPROJ外部共有用。通常アプリと衝突しないよう「G」を接頭辞に
システム共通型MSTCUST全社で参照する顧客マスター(MST)など

この意図ですが「共通アプリは短く、個別アプリは詳しく」という基準で、全社マスターは MCUST、特定部署のアンケートは HRSURV のように、プレフィックスを重ねて重複を回避します。

ここまでのアプリコードの設定を、kintoneアプリとして「アプリコード管理台帳」のように管理できると理想的です。

しかし運用を続けてきてアプリIDが1,500近く…今更アプリコードを調べるのは大変…という管理者向けに次の章で取得スクリプトをご紹介します。

【管理者必見】ドメイン全体のアプリコードを取得するPowerShellスクリプト

「今のドメインでどのアプリにコードが設定されているか、すべて把握したい」という管理者向けに、全アプリの情報を一括取得するPowerShellスクリプトを作成しました。

  • アプリごとにAPIリクエストを1つずつ消費します。
  • foreach による同期処理(順番に実行)を行っているため、常に1接続しか消費しません。同時接続制限を気にする必要がなく、安全に実行可能です。
  • パスワード認証にすることでアプリごとにAPIトークンを発行する必要がない仕様です。
# --- 設定項目 ---
$domain = "domainname"     # ドメイン名
$user = "loginname"        # ログイン名
$pass = "password"         # パスワード

# --- ループ範囲の設定 ---
$startId = 1                    # 開始ID
$endId   = 500                  # 終了ID

$outputPath = "kintone_apps.csv" # 出力ファイル名

# 認証情報の作成(Base64エンコード)
$authPair = "${user}:${pass}"
$encodedAuth = [Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($authPair))

$headers = @{
    "X-Cybozu-Authorization" = $encodedAuth
}

# 結果を格納する配列
$results = @()

Write-Host "調査を開始します (ID: $startId ~ $endId)..." -ForegroundColor Cyan

# --- 指定された範囲でループ ---
foreach ($appId in $startId..$endId) {
    $url = "https://$($domain).cybozu.com/k/v1/app.json?id=$appId"
    
    try {
        # APIリクエスト実行
        $response = Invoke-RestMethod -Uri $url -Method Get -Headers $headers
        
        # アプリが存在する場合
        $appCode = if ($response.code) { $response.code } else { "(設定なし)" }
        
        $results += [PSCustomObject]@{
            "AppID"    = $appId
            "Status"   = "OK"
            "AppName"  = $response.name
            "AppCode"  = $appCode
        }
        Write-Host "ID: $appId - 取得成功 ($($response.name))" -ForegroundColor Green
        
    } catch {
        # アプリが存在しない(404)、または権限がない場合
        $results += [PSCustomObject]@{
            "AppID"    = $appId
            "Status"   = "Error/NotFound"
            "AppName"  = "N/A"
            "AppCode"  = "N/A"
        }
        Write-Host "ID: $appId - 取得失敗(存在しないかアクセス権がありません)" -ForegroundColor Yellow
    }
}

# --- CSV出力 ---
# Excelで開くためにUTF8(BOM付き)で出力します
$results | Export-Csv -Path $outputPath -NoTypeInformation -Encoding utf8
Write-Host "`n完了しました。結果は $outputPath に保存されました。" -ForegroundColor Cyan

実行すると、下記のようにCSVが作成されます。

森田ユウゴ自作 アプリコード取得PowerShellスクリプトの実行結果画面(CSV)
森田ユウゴ
森田ユウゴ

この内容をもとに、アプリコードの棚卸をしたり、命名規約の再検討などを行うことが出来ると思います!

開発者と相談したいアプリコードやAPI連携の注意点

エンジニアは自分でアプリコードを利用する際の仕様を調査すると思うので、ここではkintoneシステム管理者向けに、カスタマイズへの影響をご紹介します。

エンジニアがカスタマイズ(JavaScript)を行っている場合、アプリコードの設定は慎重に行う必要があります。最大の注意点は、レコード番号のデータ型が「数値」から「文字列」に変わることです。

  • アプリコード未設定の場合: record['レコード番号'].value"10" という文字列ですが、Number() 関数で数値の 10 に変換可能です。
  • アプリコード設定済みの場合: 値は "SALES-10" となります。これを Number() にかけると NaN(数値ではない) となり、計算ロジックが確実に壊れます。

もしカスタマイズ内でレコード番号を使って計算や比較を行っている場合、アプリコードを有効にした瞬間にプログラムが動作しなくなります。

導入前には必ずエンジニアと連携し、String.prototype.split('-') を使って数値部分だけを抽出するなどのパース処理を依頼しましょう。

まとめ:アプリコードは「最初の設計」が肝心

アプリコードに関するよくある質問(FAQ)

Q:アプリコードを設定すると、既存のレコード番号は変わりますか?
A:いいえ、数値部分は変わりません。単に「1」だった表示が「SALES-1」のようにプレフィックスが付くだけです。

Q:アプリコードを途中で削除することはできますか?
A:はい、可能です。削除すると、それまで貼られていた「CUSTOMER-1」形式のリンクはすべて解除され、通常のテキストに戻ります。

Q:APIでレコードを取得する際、IDの指定はどうなりますか?
A:API(app.json等)での指定は引き続き「アプリID(数値)」と「レコードID(数値)」を使用します。アプリコードはあくまで画面上の表示や自動リンクのための識別子です。

さいごに

本記事では、kintoneの「アプリコード」について、基本からディープな仕様まで徹底検証してきました。最後に、デザインスペシャリスト視点での重要な気づきをまとめます。

  1. 「自動リンク」の適用範囲は驚くほど広い 自動計算フィールドの結果や一覧画面、さらには権限のないユーザーやゲストスペースに対してもリンク変換が走ります。利便性が高い一方で、意図しない場所で「業務の断片」が可視化されるリスクも理解しておきましょう。
  2. 大規模運用では「一意性」の管理が命 ドメイン全体で一意であるという制約は、思わぬところで競合を生みます。運用開始後に混乱しないよう、本記事で紹介した命名規則や「アプリコード管理台帳」の導入を強くおすすめします。
  3. 開発者との事前調整が必須 エンジニアにとって、レコード番号は唯一無二のキーです。これが「単なる数字」から「文字列」に変わる影響は甚大です。設定変更の前には、必ずカスタマイズへの影響を確認してください。

森田ユウゴ

ここまでご覧いただきありがとうございました!

各種お仕事のご依頼や、案件のご相談は下記をご覧ください!

ABOUT ME
森田ユウゴ(Yugo Morita)
森田ユウゴ(Yugo Morita)
面倒解決エンジニア
専門学校卒業後、新卒で大手ITベンダーに入社して約10年勤務、働きながら通信制大学も卒業。その後1年ほどXR/メタバース関連企業で挑戦後、現在は台湾のIT企業でソフトウェアエンジニアとして勤務。プライベートでは「面倒をなくしたい」想いでAI駆動の便利ツール(Chrome拡張/kintone等)開発に熱中しています。尽きない好奇心とインフラ経験、AIであなたの「不便」を解決へ導きます。
記事URLをコピーしました