Contents
Salesforce カスタムオブジェクト 作成 やり方|初心者向けステップバイステップガイド
Salesforceでカスタムオブジェクトを作成する際、多くのシステム担当者が「本当に必要なのか」「どうやって設計すればいいのか」と悩むことがあります。本記事では、Salesforce カスタムオブジェクト 作成 やり方をステップバイステップで解説し、実務での導入に役立つ知識を提供します。初学者でも理解しやすいように、具体的な手順と設計のポイントを網羅しています。
Salesforceでカスタムオブジェクトを作成する意義と基本概念
カスタムオブジェクトは、Salesforce標準機能ではカバーできない業務ニーズに応じて新たに作成するデータモデルです。例えば、社内独自のマーケティング活動や顧客サポートフローを管理するために使用されます。
カスタムオブジェクトとは何か
カスタムオブジェクトは、Salesforceのデータベース内で自由に設計可能な「テーブル」であり、レコードとして情報を保管します。標準オブジェクト(例:アカウント、コンタクト)と同様に、リレーションシップやフィールドを設定可能です。
注意: SalesforceのUIパスはバージョンごとに変更される可能性があるため、最新情報との整合性確認が必要です。Setup画面の検索機能を使用して正確な位置を特定してください。
導入の必要性と活用シーン
- 既存オブジェクトで表現できない独自データ構造が必要な場合
- ビジネスプロセスの自動化やレポート作成を効率化したいとき
- 外部システムとの連携を強化するため
管理画面でのカスタムオブジェクト作成手順
Salesforceでカスタムオブジェクトを作成するには、管理画面の「設定」から操作します。以下に具体的な手順を解説します。
設定画面へのアクセス方法
- Salesforceの左上隅にある 「アドミニストレータ(Administrator)」 ボタンをクリックし、「設定(Setup)」画面へ移動します。
- 左ナビゲーションバーから 「オブジェクトとフィールド(Objects and Fields)」>「カスタムオブジェクト(Custom Objects)」 を選択し、右上の 「新規オブジェクトの作成(New Custom Object)」 ボタンをクリックします。
注意: Salesforceのバージョンにより、「アドミニストレータ」ボタンの位置やラベルが変更される可能性があります。最新版では「Setup」というキーワードで検索してアクセスしてください。
新規オブジェクトの基本情報入力
- ラベル名:ユーザーが見やすい名称を入力(例:「プロジェクト管理」)。
- API名:システムで使用する名称(英語、アンダースコア使用可)。
- 説明:オブジェクトの目的を簡潔に記述。
保存後の確認手順
作成後は、左ナビゲーションバーの「カスタムオブジェクト」から新規作成した項目が表示されるか確認します。また、レコードを作成・編集して動作テストも行いましょう。
フィールド設定の最適な設計方法
カスタムオブジェクトに必要な情報を収めるには、フィールドの種類と関係性を正しく設計することが重要です。以下に設計チェックリストを示します。
データ型選定のチェックリスト
| 項目 | 値 | 補足 |
|---|---|---|
| テキスト(Text) | 255文字以内 | 名前、タイトルなど短い情報に適す |
| 数値(Number) | 小数点可・不可選択 | 売上金額、件数などの計測値に最適 |
| 日時(Date/Time) | 時間帯設定必須 | 統一された日時の管理を保証 |
| チェックボックス(Checkbox) | 0 or 1 | フラグや状態管理に最適 |
リレーションシップフィールドの作成手順
リレーションシップフィールドは、他のオブジェクトと関連付けを設定します。
- 定義: カスタムオブジェクト間または標準オブジェクトとのデータのつながりを作るフィールドです(例:プロジェクトに所属するアカウント)。
- 「カスタムオブジェクト」画面から「フィールドとレイアウト」を開く。
- 「新規フィールドの作成」 をクリックし、「リレーションシップ」を選択。
- 繋ぎたいオブジェクト(例:アカウント)を指定し、保存します。
必須項目とデフォルト値の設定
- 必須項目: 顧客情報など、入力漏れが許容できないデータにはチェックをつける。
- デフォルト値: よく使う値(例:「未着手」)を自動でセットして作業効率化。
権限設定とデータベース構造のベストプラクティス
カスタムオブジェクトを作成した後は、アクセス権やデータベース設計の最適化が不可欠です。以下に設計のポイントを解説します。
プロファイル・ロールベースのアクセス制御
- プロファイル: システム管理者と一般ユーザーで閲覧権限を分ける(例:管理者は編集可能、一般ユーザーは閲覧のみ)。
- ロール階層: 部門ごとにアクセス範囲を制限する(例:営業部は自部署のデータのみ参照可能)。
典型的な失敗事例:
- 「過剰なフィールド設計」:不要なフィールドが増えることで、入力ミスや管理コストが増加。
- 「権限設定ミス」:意図せぬユーザーのデータ操作が許可され、セキュリティリスクが発生。
共有ルールの設定タイミング
共有ルールは、デフォルトでは「所有者」に限定されますが、以下のケースで設定が必要です。
- 複数部署が同一データを扱う場合
- 外部パートナーとの連携が必要なとき
複数オブジェクト間の関連性設計
カスタムオブジェクト同士や標準オブジェクトとリンクする際は、以下を意識してください。
- 1対多(例:プロジェクト : メンバー): 「ルックアップ」フィールドを使用。
- 多対多関係: 「リレーションシップオブジェクト」で中継テーブルを作成。
API連携時の注意点と対処法
カスタムオブジェクトを外部システム(ERP、CSVなど)と連携する際には、以下の技術的課題に気を付けましょう。
REST/Apex APIでのカスタムオブジェクト扱い
- REST API: JSON形式でデータ送信し、
/services/data/vXX.X/sobjects/[オブジェクト名]にリクエストを送る。 - Apex API: カスタムクラスを作成し、
Database.insert()などで操作(開発者向け)。
フィールドマッピングの落とし穴
| 項目 | 誤り例 | 対処法 |
|---|---|---|
| フィールド名の不一致 | 「プロジェクトID」と「Project_ID」でエラー | API側とSalesforce側の命名を統一する |
| データ型不一致 | 数値フィールドに文字列を送信してエラー | バリデーションルールでチェックを追加 |
変更時のお知らせ設定
- ChangeEvent: カスタムオブジェクトの変更時に外部システムへ通知する(Salesforce Platform Eventsを使用)。
- Webhook: 外部APIから変更を検知する仕組みも併用可能。
実践的な導入準備と専門家の活用タイミング
カスタムオブジェクトの導入は、設計ミスや連携エラーにより業務に影響が出ることがあります。以下のチェックリストでリスクを最小限に抑えましょう。
テスト環境での検証チェックリスト
- フィールドデータが正しく保存されるか確認
- 権限設定で意図したアクセス制御ができているかテスト
- API連携時の送受信エラーをシミュレーション
本番移行前の確認項目
- テスト環境と本番環境の構成が一致しているか
- 業務フローに支障が出ないかの最終確認
カスタムオブジェクトの設計は、一度実装してしまうと変更コストが高くなるため、事前検証と専門家のアドバイスを活用することが重要です。分からない場合は、Salesforce認定エンジニアやコンサルタントに相談することも忘れないでください。