設定
コンポーネント設定
Section titled “コンポーネント設定”Object Team MemberコンポーネントはLightning App Builderで直接設定できます。以下のプロパティを使用できます:
| プロパティ | タイプ | デフォルト | 説明 |
|---|---|---|---|
| Card Title | String | Team Members | コンポーネントカードに表示されるタイトル |
| Max Displayed Members | Integer | 5 | 折りたたむ前に表示されるチームメンバーの最大数。すべて表示するには0に設定 |
チームメンバーの数が設定された制限を超えると、リストが折りたたまれ、**「Show all (X more)」ボタンが表示されます。これをクリックすると完全なリストが展開され、「Show less」**ボタンで再び折りたたむことができます。レコードオーナーは、表示制限に関係なく常にリストの最初に表示されます。


表示制限の動作
Section titled “表示制限の動作”| 設定 | 動作 |
|---|---|
| Max Displayed Members = 5(デフォルト) | 最初の5人のメンバーを表示し、残りは「Show X more」で表示 |
| Max Displayed Members = 0 | すべてのチームメンバーが表示され、折りたたみ/展開なし |
| Max Displayed Members = 3(カスタム) | 最初の3人のメンバーを表示し、残りは「Show X more」で表示 |
チームメンバーのロール
Section titled “チームメンバーのロール”ユーザーをチームに追加する際、以下のいずれかのロールを割り当てます:
| ロール | 説明 | 機能 |
|---|---|---|
| Owner | レコードオーナー | レコード作成時に自動的に割り当てられます。手動で割り当てたり削除したりすることはできません。チームメンバーを管理する完全なアクセス権を持ちます。チーム内に他のユーザーがいない場合は自動的に削除されます。 |
| Manager | チーム管理者 | チームメンバーの追加、編集、削除が可能です。チーム構成を管理する必要があるユーザーにこのロールを使用します。 |
| User | 標準チームメンバー | チームメンバーのリストを表示できますが、変更はできません。レコードへのアクセスのみが必要なユーザーにこのロールを使用します。 |

オーナー変更の同期
Section titled “オーナー変更の同期”レコードオーナーが変更されたとき(例:アカウントが別の営業担当者に再割り当てされた場合)、Ownerチームメンバーは自動的に更新されません。システムは最初のチームメンバーが追加されたときにOwnerレコードを作成しますが、親レコードの後続のオーナー変更は追跡しません。
チームOwnerをレコードオーナーと同期するには、Record-Triggered Flowを作成する必要があります。
Flowによるセットアップ(推奨)
Section titled “Flowによるセットアップ(推奨)”- 設定 > Flowsに移動
- New Flow > Record-Triggered Flowをクリック
- オブジェクトを選択(例:Account)
- トリガーを設定:「A record is updated」
- Entry Conditionを追加:Formula >
ISCHANGED({!$Record.OwnerId})がtrueと評価される - **「When to Run the Flow」を「After the record is saved」**に設定
- Action要素を追加
- **「Sync Team Member Owner」**を検索
- **「Record ID」**パラメータを
{!$Record.Id}に設定 - **「Object API Name」**は空のままにする(Record IDから自動導出)
- 保存して有効化

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);}結果オブジェクト
Section titled “結果オブジェクト”| フィールド | タイプ | 説明 |
|---|---|---|
success | Boolean | 同期が成功したかどうか |
message | String | 結果メッセージまたはエラーの詳細 |
oldOwnerId | Id | 以前のオーナーのUser ID |
newOwnerId | Id | 新しいオーナーのUser ID |
エラーシナリオ
Section titled “エラーシナリオ”| シナリオ | 結果 |
|---|---|
| レコードにチームメンバーがいない | success = false、「No Owner team member found」 |
| オーナーが変更されていない | success = true、「Owner unchanged, no update needed」 |
| Record IDがnull | success = false、「Record ID is required」 |
| 無効なレコードID | success = false、エラーメッセージ |
重要な制限事項
Section titled “重要な制限事項”キューオーナーはサポートされていません — Flexible Team Shareはキューをチームオーナーとしてサポートしていません。レコードがキューに所有されている場合:
- システムは現在のユーザー(最初にチームメンバーを追加した人)をチームのOwnerとして使用します
- 後でレコードオーナーをキューからユーザーに変更した場合は、Sync Ownerアクションを実行してチームを更新してください
- オーナーをユーザーからキューに変更した場合、チームOwnerは以前のユーザーのままになります
Flowはオブジェクトごとに作成する必要があります — オーナー同期が必要な各オブジェクトタイプに対して、個別のFlowを作成する必要があります。Invocable Actionはどのオブジェクトでも機能しますが、SalesforceではオブジェクトごとにRecord-Triggered Flowを個別に作成する必要があります。
終了日による一時的なアクセス
Section titled “終了日による一時的なアクセス”チームメンバーを追加する際、オプションで終了日を設定して、レコードへの一時的なアクセスを付与できます。これは以下の場合に便利です:
- 期限が定められたプロジェクトベースのコラボレーション
- 一時的なコンサルタントまたは請負業者
- 休暇カバーまたは委任された責任
- 監査またはレビュー期間
動作の仕組み
Section titled “動作の仕組み”- チームメンバーを追加または編集する際、終了日フィールドをアクセス権を持つ最後の日に設定
- チームメンバーはその日の終わりまで完全なアクセス権を保持
- 終了日が経過した後、スケジュールされたクリーンアップジョブが自動的にチームメンバーを削除し、アクセス権を取り消す

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

Scheduled Job
Section titled “Scheduled Job”Flexible Team Shareには、期限切れのチームメンバーを削除する自動クリーンアップジョブが含まれています。このジョブはパッケージのインストール時に自動的にスケジュールされます。
ジョブの確認
Section titled “ジョブの確認”- 設定 > Scheduled Jobsに移動
- Flexible Team Share - Expired Member Cleanupを探す
- ジョブが毎日実行されるようにスケジュールされていることを確認

手動ジョブ管理
Section titled “手動ジョブ管理”管理者はConfiguration Wizardからクリーンアップジョブを管理できます:
- Schedule Job — 実行されていない場合に手動でスケジュール
- Unschedule Job — 自動クリーンアップを停止
- Run Now — 即座にクリーンアップを実行
トラブルシューティング
Section titled “トラブルシューティング”「設定が見つかりません」警告
Section titled “「設定が見つかりません」警告”症状: このオブジェクトの設定が存在しないという警告モーダルが表示されます。
原因: Configuration Wizardでオブジェクトを設定する前に、チームメンバーコンポーネントがレコードページに追加されました。
解決策:
- Configuration Wizard(Flexible Team Shareアプリ > Configuration)に移動
- このオブジェクトの設定を追加してデプロイ
- レコードページに戻る — コンポーネントが正しく機能するはずです

「アクセスなし」エラー
Section titled “「アクセスなし」エラー”症状: コンポーネントにチームメンバーの代わりに「アクセスなし」メッセージとロックアイコンが表示されます。
原因: 現在のユーザーに必要なPermission Set Groupが割り当てられていません。
解決策:
- 設定 > Permission Set Groupsに移動
- 影響を受けるユーザーにAdminまたはUser Permission Set Groupを割り当て
- ユーザーは変更を有効にするためにログアウトして再ログインする必要がある場合があります

「制限に到達しました」警告
Section titled “「制限に到達しました」警告”症状: 「Add Team Member」ボタンが無効になり、制限に到達したことを示すメッセージが表示されます。
原因: 許可されているチームメンバーの最大数に到達しました。
解決策: 非アクティブまたは不要なチームメンバーを削除してスロットを空けます。
| 制限内のチームメンバー | 制限を超えたチームメンバー |
|---|---|
![]() | ![]() |

共有が機能しない
Section titled “共有が機能しない”症状: チームメンバーが正常に追加されたが、レコードにアクセスできません。
原因: オブジェクトの組織の共有設定(OWD)がPublic Read/Writeに設定されています。
解決策:
- 設定 > 共有設定に移動
- オブジェクトのOWDをPrivateまたはPublic Read Onlyに変更
- 注意:OWD設定の変更は他のユーザーのアクセスに影響を与える可能性があります — Salesforce管理者に相談してください
質問や問題については、support@tucario.comまでお問い合わせください。

