コンテンツにスキップ

設定

Object Team MemberコンポーネントはLightning App Builderで直接設定できます。以下のプロパティを使用できます:

プロパティタイプデフォルト説明
Card TitleStringTeam Membersコンポーネントカードに表示されるタイトル
Max Displayed MembersInteger5折りたたむ前に表示されるチームメンバーの最大数。すべて表示するには0に設定

チームメンバーの数が設定された制限を超えると、リストが折りたたまれ、**「Show all (X more)」ボタンが表示されます。これをクリックすると完全なリストが展開され、「Show less」**ボタンで再び折りたたむことができます。レコードオーナーは、表示制限に関係なく常にリストの最初に表示されます。

Collapsed team member list

Lightning App Builder — component properties

設定動作
Max Displayed Members = 5(デフォルト)最初の5人のメンバーを表示し、残りは「Show X more」で表示
Max Displayed Members = 0すべてのチームメンバーが表示され、折りたたみ/展開なし
Max Displayed Members = 3(カスタム)最初の3人のメンバーを表示し、残りは「Show X more」で表示

ユーザーをチームに追加する際、以下のいずれかのロールを割り当てます:

ロール説明機能
Ownerレコードオーナーレコード作成時に自動的に割り当てられます。手動で割り当てたり削除したりすることはできません。チームメンバーを管理する完全なアクセス権を持ちます。チーム内に他のユーザーがいない場合は自動的に削除されます。
Managerチーム管理者チームメンバーの追加、編集、削除が可能です。チーム構成を管理する必要があるユーザーにこのロールを使用します。
User標準チームメンバーチームメンバーのリストを表示できますが、変更はできません。レコードへのアクセスのみが必要なユーザーにこのロールを使用します。

Team Members component showing roles

レコードオーナーが変更されたとき(例:アカウントが別の営業担当者に再割り当てされた場合)、Ownerチームメンバーは自動的に更新されません。システムは最初のチームメンバーが追加されたときにOwnerレコードを作成しますが、親レコードの後続のオーナー変更は追跡しません。

チームOwnerをレコードオーナーと同期するには、Record-Triggered Flowを作成する必要があります。

Flowによるセットアップ(推奨)

Section titled “Flowによるセットアップ(推奨)”
  1. 設定 > Flowsに移動
  2. New Flow > Record-Triggered Flowをクリック
  3. オブジェクトを選択(例:Account)
  4. トリガーを設定:「A record is updated」
  5. Entry Conditionを追加:Formula > ISCHANGED({!$Record.OwnerId})trueと評価される
  6. **「When to Run the Flow」「After the record is saved」**に設定
  7. Action要素を追加
  8. **「Sync Team Member Owner」**を検索
  9. **「Record ID」**パラメータを{!$Record.Id}に設定
  10. **「Object API Name」**は空のままにする(Record IDから自動導出)
  11. 保存して有効化

Flow Builder - Owner Sync Flow Sync Team Member Owner action configuration

Apexトリガーによるセットアップ

Section titled “Apexトリガーによるセットアップ”
trigger AccountOwnerSync on Account(after update) {
List<tucariofts.SyncOwnerInvocable.SyncOwnerRequest> requests =
new List<tucariofts.SyncOwnerInvocable.SyncOwnerRequest>();
for (Account acc : Trigger.new) {
Account oldAcc = Trigger.oldMap.get(acc.Id);
if (acc.OwnerId != oldAcc.OwnerId) {
tucariofts.SyncOwnerInvocable.SyncOwnerRequest req =
new tucariofts.SyncOwnerInvocable.SyncOwnerRequest();
req.recordId = acc.Id;
requests.add(req);
}
}
if (!requests.isEmpty()) {
tucariofts.SyncOwnerInvocable.syncOwners(requests);
}
}

Apexコードから呼び出す(単一レコード)

Section titled “Apexコードから呼び出す(単一レコード)”
tucariofts.SyncOwnerInvocable.SyncOwnerRequest request =
new tucariofts.SyncOwnerInvocable.SyncOwnerRequest();
request.recordId = accountId;
List<tucariofts.SyncOwnerInvocable.SyncOwnerResult> results =
tucariofts.SyncOwnerInvocable.syncOwners(
new List<tucariofts.SyncOwnerInvocable.SyncOwnerRequest>{ request }
);
if (results[0].success) {
System.debug('Owner synced: ' + results[0].oldOwnerId +
'' + results[0].newOwnerId);
} else {
System.debug('Sync failed: ' + results[0].message);
}
フィールドタイプ説明
successBoolean同期が成功したかどうか
messageString結果メッセージまたはエラーの詳細
oldOwnerIdId以前のオーナーのUser ID
newOwnerIdId新しいオーナーのUser ID
シナリオ結果
レコードにチームメンバーがいないsuccess = false、「No Owner team member found」
オーナーが変更されていないsuccess = true、「Owner unchanged, no update needed」
Record IDがnullsuccess = false、「Record ID is required」
無効なレコードIDsuccess = false、エラーメッセージ

キューオーナーはサポートされていません — Flexible Team Shareはキューをチームオーナーとしてサポートしていません。レコードがキューに所有されている場合:

  • システムは現在のユーザー(最初にチームメンバーを追加した人)をチームのOwnerとして使用します
  • 後でレコードオーナーをキューからユーザーに変更した場合は、Sync Ownerアクションを実行してチームを更新してください
  • オーナーをユーザーからキューに変更した場合、チームOwnerは以前のユーザーのままになります

Flowはオブジェクトごとに作成する必要があります — オーナー同期が必要な各オブジェクトタイプに対して、個別のFlowを作成する必要があります。Invocable Actionはどのオブジェクトでも機能しますが、SalesforceではオブジェクトごとにRecord-Triggered Flowを個別に作成する必要があります。

終了日による一時的なアクセス

Section titled “終了日による一時的なアクセス”

チームメンバーを追加する際、オプションで終了日を設定して、レコードへの一時的なアクセスを付与できます。これは以下の場合に便利です:

  • 期限が定められたプロジェクトベースのコラボレーション
  • 一時的なコンサルタントまたは請負業者
  • 休暇カバーまたは委任された責任
  • 監査またはレビュー期間
  1. チームメンバーを追加または編集する際、終了日フィールドをアクセス権を持つ最後の日に設定
  2. チームメンバーはその日の終わりまで完全なアクセス権を保持
  3. 終了日が経過した後、スケジュールされたクリーンアップジョブが自動的にチームメンバーを削除し、アクセス権を取り消す

Team member with End Date

  • スケジュールされたバッチジョブが毎日実行され(デフォルトでは午前2:00)、期限切れのチームメンバーを削除します
  • チームメンバーが削除されると、共有レコードも削除され、レコードへのアクセス権が取り消されます
  • クリーンアップジョブはConfiguration Wizardから管理できます

Scheduled job management

Flexible Team Shareには、期限切れのチームメンバーを削除する自動クリーンアップジョブが含まれています。このジョブはパッケージのインストール時に自動的にスケジュールされます。

  1. 設定 > Scheduled Jobsに移動
  2. Flexible Team Share - Expired Member Cleanupを探す
  3. ジョブが毎日実行されるようにスケジュールされていることを確認

Scheduled Jobs in Setup

管理者はConfiguration Wizardからクリーンアップジョブを管理できます:

  • Schedule Job — 実行されていない場合に手動でスケジュール
  • Unschedule Job — 自動クリーンアップを停止
  • Run Now — 即座にクリーンアップを実行

「設定が見つかりません」警告

Section titled “「設定が見つかりません」警告”

症状: このオブジェクトの設定が存在しないという警告モーダルが表示されます。

原因: Configuration Wizardでオブジェクトを設定する前に、チームメンバーコンポーネントがレコードページに追加されました。

解決策:

  1. Configuration Wizard(Flexible Team Shareアプリ > Configuration)に移動
  2. このオブジェクトの設定を追加してデプロイ
  3. レコードページに戻る — コンポーネントが正しく機能するはずです

Configuration Not Found warning

症状: コンポーネントにチームメンバーの代わりに「アクセスなし」メッセージとロックアイコンが表示されます。

原因: 現在のユーザーに必要なPermission Set Groupが割り当てられていません。

解決策:

  1. 設定 > Permission Set Groupsに移動
  2. 影響を受けるユーザーにAdminまたはUser Permission Set Groupを割り当て
  3. ユーザーは変更を有効にするためにログアウトして再ログインする必要がある場合があります

No Access error

症状: 「Add Team Member」ボタンが無効になり、制限に到達したことを示すメッセージが表示されます。

原因: 許可されているチームメンバーの最大数に到達しました。

解決策: 非アクティブまたは不要なチームメンバーを削除してスロットを空けます。

制限内のチームメンバー制限を超えたチームメンバー
Within limitBeyond limit

Limit reached warning detail

症状: チームメンバーが正常に追加されたが、レコードにアクセスできません。

原因: オブジェクトの組織の共有設定(OWD)がPublic Read/Writeに設定されています。

解決策:

  1. 設定 > 共有設定に移動
  2. オブジェクトのOWDをPrivateまたはPublic Read Onlyに変更
  3. 注意:OWD設定の変更は他のユーザーのアクセスに影響を与える可能性があります — Salesforce管理者に相談してください

質問や問題については、support@tucario.comまでお問い合わせください。