カスタムメタデータ型は、「カスタムオブジェクト」に似ていると説明されることが多いです。
実際に定義、設定する画面もClassicのカスタムオブジェクトの設定画面と似ていますし、レコードも作成できます。
このgilde tech内の記事でもたびたび「カスタム表示ラベル」の登場がありますが、同じようにカスタムメタデータ型は変数値の格納先として使えます。
今回は実際の使用例で、どのようにカスタムメタデータ型が使えるのかシステム管理者の目線で紹介いたします。
ご参考:カスタム表示ラベルが登場する記事
・
カスタム表示ラベルでテンプレートのURLを管理する・
フローの設定を触らずに「Chatter」投稿メッセージを編集する。・
改行のあるデフォルト値の設定・
保留にしている承認者へリマインダーメールを送信したい・
担当レコードへのChatter投稿はメンションされなくても通知を受け取りたい・
SalesforceフローでSlackへメンションしてメッセージを送るシステム管理者が気になる特徴
カスタムメタデータ型のSalesforceヘルプページは
こちら1.レコードも変更セットでリリース可能 冒頭でも触れましたレコードの作成ですが、作成したレコードを変更セットでリリースすることができます。
マスタデータ用にカスタムオブジェクトを作成して機能を実装された方もいらっしゃるかと思いますが、カスタムオブジェクトの場合はレコードを変更セットでリリースできないので、環境ごとにデータローダ等でインポートされていたかと思います。カスタムメタデータ型の場合はレコードも変更セットに含めることができるので便利です。
2.カスタムオブジェクトの使用数としてカウントされないカスタムメタデータ型とよく比較される「カスタム設定」はカスタムオブジェクトの使用数としてカウントされますが、カスタムメタデータ型はカウントされません。
マスタデータ管理でカスタムオブジェクトの使用と比較する際に、カウントされるかどうかはひとつの判断材料になると思います。
3.数式で参照可能数式項目、入力規則、デフォルト値の数式エディタでカスタムメタデータ型の項目値を使用することができます。
ただし、通常のレコードと同様にカスタムメタデータ型のロングテキストエリア項目は参照できません。
カスタムメタデータ型の使用例
<サンプルの要件>
カスタム住所項目があるカスタムオブジェクト「物件」に、都道府県コードを含まない外部システムからエクスポートした物件情報のデータをデータローダでインポート(Insert)する。
カスタム住所項目があるオブジェクトに他の外部システムからインポートする場合は、カスタム住所項目の(国/テリトリー)と(都道府県)はコードでインポートする必要があります。
画像のような「州/国/テリトリー選択リスト」を設定している場合は、北海道を登録する場合は、CountryCode__sに「JP」、StateCode__sに「01」とインポートしないとエラーになります。

インポート前にデータを変換できれば良いのですが、変換が難しい場合の対応方法として、今回は
カスタムメタデータ型と
フローを使う方法を使用例として紹介いたします。
カスタム住所項目については以下のページでご確認ください。
・Salesforceヘルプ「
カスタム住所項目」
・過去記事「
Winter'23 カスタム住所項目が作成可能に」
カスタムメタデータ型の設定方法
1.[設定]のクイック検索で「カスタムメタデータ型」と入力して、「カスタムメタデータ型」をクリックし、[新規カスタムメタデータ型]をクリックします。

2.カスタムメタデータ型情報を入力し[保存]をクリックします。

3.カスタム項目の[新規]をクリックして、必要な項目を作成します。

作成できるデータ型は、カスタムオブジェクトより少ないです。

作成手順は、オブジェクトマネージャから項目作成する手順と同じです。
サンプルの「州コード」の項目は、データ型をテキストで作成しています。

4.[Manege null]または[レコードの管理]をクリックし、[新規]をクリックしてレコードを登録します。


サンプルでは、「州/国/テリトリー選択リスト」で設定した、都道府県名と州コードを入力していきます。

47都道府県分のレコードを登録しました。
見やすいようリストビューも作成しました。

フローの設定
今回のサンプル要件の場合は、インポート時にエラーとならないように、外部システムの都道府県の値を格納する項目をカスタムオブジェクト「物件」に作成しておきます。

1.[設定] から、[クイック検索] で「フロー」を検索し、[フロー]をクリックし[新規フロー]ボタンをクリック、または、設定ホームの[作成▼]の「フロー」をクリックします。

2.「レコードトリガフロー」を選択し、以下のように開始を設定します。
・
オブジェクト:物件
・
フローをトリガする条件:レコードが作成された
・
エントリ条件を設定:
[条件の要件] すべての条件に一致(AND)
項目 | 演算子 | 値 |
State_Import__c(都道府県_インポート用) | null | False |
・
フローを最適化:高速項目更新

3.[開始]の下の⊕から[レコードを取得]を追加し、以下のように設定します。
・
オブジェクト:カスタム住所State変換(登録したカスタムメタデータ型)
・
レコードを絞り込み:[条件の要件] すべての条件に一致(AND)
項目 | 演算子 | 値 |
MasterLabel(表示ラベル) | 次の文字列と一致する | $Record > 都道府県_インポート用 |
・
レコードを並び替え:[並び替え順] 並び替えなし
・
保存するレコード数:最初のレコードのみ
・
レコードデータの保存方法:すべてのデータを自動的に保存

4.[レコードを取得]の下の⊕から[割り当て]要素を追加し、以下のように設定します。
・変数値を設定変数 | 演算子 | 値 |
$Record > 所在地 (国/テリトリー) | 次の文字列と一致する | JP |
$Record > 所在地 (都道府県) | 次の文字列と一致する | get_State_convert カスタム住所State変換 > 州コード (3.で取得したカレコードの項目) |
5.最後にフローを[保存]しデバッグで確認後、 [有効化]にします。

送信変更セットへの追加方法
1.「変更セットコンポーネント」の[追加]ボタンをクリックします。

2.コンポーネントの種類で「カスタムメタデータ型」を選択し、追加するカスタムメタデータ型にチェックを入れて[変更セットに追加]をクリックします。

3.変更セットコンポーネントの[連動関係を参照/追加]をクリックします。

4.変更セットに追加するコンポーネントにチェックを入れ、[変更セットに追加]をクリックします。
サンプルでは「リストビュー」と「カスタム項目」を作成しましたので、こちらを変更セットに追加します。

5. 次はレコードを変更セットに追加するため、再度「変更セットコンポーネント」の[追加]ボタンをクリックします。

6. コンポーネントの種類で、カスタムメタデータ型で設定した「表示ラベル」を選択します。
サンプルでは「カスタム住所State変換」ですので、こちらを選択します。

7.カスタムメタデータ型のレコードの「カスタムメタデータレコード名」が表示されますので、追加するレコードにチェックを入れて[変更セットに追加]をクリックします。

カスタムメタデータ型の変更セットの追加は以上です。
【結果確認】
テストデータジェネレータでこのようなサンプルデータを用意しましたので、データローダでInsertを実施してみます。

データローダのマッピングで「都道府県」のみインポート用項目にマッピングし、住所のそのほかの項目はカスタム住所項目のそれぞれの項目にマッピングします。

インポートができました。

Salesforceの画面を確認してみます。
リストビュー画面です。
インポート用の都道府県の値とカスタム住所項目の都道府県の値が同じになっていることが確認できます。

レコード画面です。

さいごに
今回のカスタムメタデータ型の使用例は、カスタムオブジェクトでも同様の方法で可能ですが、カスタムメタデータ型の特徴であげたように、「
レコードも変更セットでリリース可能」「
カスタムオブジェクトの使用数としてカウントされない」があるので、カスタムオブジェクトを使った方法よりカスタムメタデータ型を使ったほうがおすすめです。
ただ、一般ユーザが変数値を定期的に変更する場合や、変数値がレコードIDなどの場合は、オブジェクトのリレーション項目を作成できるカスタムオブジェクトのほうがおすすめです。
レコードIDで入力する必要がないので、入力しやすく入力間違いも少なくなります。
また、「アプリケーションのカスタマイズ」権限を付与する必要もありません。
導入後の運用のしやすさも考えて設定してみてください。