Team Sharing w Salesforce to model uprawnień, który rozszerza dostęp do rekordów poza własność rekordu i hierarchię ról (role hierarchy). Umożliwia współpracę międzydziałową: właściciel rekordu lub administrator może udostępnić konkretne rekordy zespołom, grupom publicznym lub pojedynczym użytkownikom — bez zmiany ustawień org-wide defaults i bez przebudowy hierarchii ról.

Jak w praktyce działa team sharing?
Team sharing opiera się na regułach współdzielenia (sharing rules), które przyznają dostęp do konkretnych rekordów na podstawie członkostwa w zespole, a nie miejsca w strukturze organizacyjnej. Gdy użytkownik dołącza do zespołu, automatycznie uzyskuje dostęp do rekordów udostępnionych temu zespołowi.
Najważniejsze mechanizmy to:
- Manual sharing — właściciel rekordu udostępnia pojedyncze rekordy ręcznie
- Sharing rules — administrator definiuje współdzielenie oparte na kryteriach
- Apex managed sharing — współdzielenie programistyczne dla złożonych scenariuszy
- Zespoły — Account Teams, Opportunity Teams, Case Teams
Uwaga wdrożeniowa: reguły współdzielenia zespołowego są ewaluowane w czasie rzeczywistym. Zmiany w składzie zespołu działają natychmiast, bez konieczności pełnego przeliczenia współdzielenia (sharing recalculation).
Czas przeliczania współdzielenia to metryka, która zaskakuje większość organizacji. Widziałam wdrożenia, w których dodanie jednej dodatkowej reguły opartej na kryteriach wydłużyło recalc z minut do godzin. Organizacje, które dobrze sobie z tym radzą, traktują sharing rules jak dług techniczny: regularnie je przeglądają, usuwają nieużywane i konsolidują nakładające się kryteria, zanim wydajność stanie się problemem.
Jakie problemy rozwiązuje team sharing?
Tradycyjna hierarchia ról działa pionowo: menedżer widzi to, co widzą jego podwładni. Ale współczesne organizacje nie działają wyłącznie w pionie.
Typowe wyzwania, które adresuje team sharing:
- Międzydziałowe zespoły dealowe — sprzedaż, dział prawny i finanse muszą wspólnie pracować na tej samej szansie sprzedaży, choć nie łączy ich żadna linia raportowania
- Specjaliści regionalni — ekspert produktowy potrzebuje wglądu w konta z wielu terytoriów
- Dostęp projektowy — czasowy dostęp na potrzeby konkretnej inicjatywy
- Współpraca z partnerami — zewnętrzni partnerzy potrzebują ograniczonego dostępu do wybranych rekordów
Scenariusz, z którym spotykam się najczęściej: zespoły muszą współpracować na obiektach niestandardowych (custom objects) — projektach, zleceniach, rekordach specyficznych dla klienta — a standardowe współdzielenie do tego nie pasuje. Dotychczas oznaczało to albo skomplikowany kod współdzielenia w Apex, którego nikt nie chce utrzymywać, albo rekordy współdzielenia zarządzane ręcznie przez administratora, które rozjeżdżają się ze stanem faktycznym w ciągu kilku tygodni. Organizacje, które przechodzą na współdzielenie zespołowe na obiektach niestandardowych, zwykle raportują dwie rzeczy: mniej pracy administracyjnej i mniej zgłoszeń typu „nie widzę tego rekordu“.
Kiedy wybrać współdzielenie zespołowe, a kiedy hierarchię ról?
Decyzja zależy od wzorca dostępu:
| Scenariusz | Rekomendowane podejście |
|---|---|
| Menedżer potrzebuje wglądu w rekordy swojego zespołu | Hierarchia ról |
| Współpraca międzydziałowa na wybranych rekordach | Team sharing |
| Dashboardy zarządu obejmujące całą organizację | Hierarchia ról |
| Czasowy dostęp projektowy | Team sharing |
| Ograniczenia dostępu wynikające z compliance | Sharing rules + zespoły |
Kwestia wydajności: nadmiar reguł współdzielenia może pogorszyć wydajność zapytań przy dużej skali. Testuj na wolumenach danych zbliżonych do produkcyjnych, zanim wdrożysz zmiany.
Jak wdrożyć team sharing w swojej organizacji?
Krok 1: zdefiniuj model współdzielenia
Zacznij od zmapowania wzorców współpracy:
- Kto musi udostępniać rekordy komu?
- Czy wzorzec dostępu jest czasowy, czy stały?
- Jaki poziom dostępu jest potrzebny (Read, Edit)?
Krok 2: skonfiguruj zespoły i grupy
Dla standardowego współdzielenia zespołowego w Salesforce:
Setup → Users → Public Groups → New Group
Setup → Accounts → Account Teams → Enable
Jeśli potrzebujesz elastycznych struktur zespołowych, rozważ Flexible Team Share, który rozszerza natywną funkcjonalność zespołów na dowolny obiekt.
Krok 3: utwórz reguły współdzielenia
Przejdź do Setup → Sharing Settings i utwórz reguły współdzielenia oparte na kryteriach lub na właścicielu, odwołujące się do Twoich zespołów.
Krok 4: przetestuj i zweryfikuj
Użyj przycisku Sharing Hierarchy na rekordzie, aby sprawdzić, czy przyznane dostępy działają zgodnie z oczekiwaniami.
Każdy model współdzielenia, który wdrażałam, przechodzi ten sam test: tworzę użytkowników dla każdej kombinacji roli i profilu, a następnie systematycznie sprawdzam, do czego mają dostęp, a do czego nie. Czy widzą rekord? Czy mogą go edytować? Czy widzą rekordy powiązane? To żmudne, ale pominięcie tego kroku to najprostsza droga, by błędy współdzielenia trafiły na produkcję. A błędy są zawsze te same: ktoś założył, że dostęp będzie kaskadował, albo permission set przyznaje więcej, niż się spodziewano. Testy wyłapują to, zanim zrobią to użytkownicy.
Jakie są najczęstsze pułapki team sharingu?

1. Nadmierne udostępnianie
Zbyt szerokie otwarcie dostępu przeczy sensowi całego modelu bezpieczeństwa. Zacznij restrykcyjnie i rozszerzaj dostęp dopiero wtedy, gdy potrzeba zostanie faktycznie wykazana.
2. Osierocone rekordy współdzielenia
Gdy użytkownicy opuszczają zespoły, rekordy manual sharing mogą pozostać w systemie. Wdróż procedury regularnego czyszczenia.
3. Wydajność przy dużej skali
Duża liczba reguł współdzielenia wymaga przemyślanego indeksowania i optymalizacji zapytań. Monitoruj wydajność zapytań SOQL.
4. Brak spójnych wzorców
Gdy różne zespoły implementują współdzielenie każdy po swojemu, powstaje chaos. Udokumentuj i ustandaryzuj swoje podejście.
Architecture Decision Record: dokumentuj decyzje dotyczące modelu współdzielenia w ADR-ach. Przyszli administratorzy będą Ci wdzięczni.
Najważniejsze wnioski
- Team sharing uzupełnia hierarchię ról, a nie ją zastępuje — używaj go do poziomych wzorców współpracy
- Zacznij od jasnych wymagań, zanim cokolwiek wdrożysz. Zmapuj, kto potrzebuje dostępu do czego
- Testuj na dużej skali, na wolumenach danych zbliżonych do produkcyjnych, przed wdrożeniem
- Dokumentuj decyzje w architecture decision records — z myślą o utrzymaniu
- Rozważ pakiety zarządzane (managed packages) takie jak Flexible Team Share przy złożonych strukturach zespołowych
Powiązane artykuły

Agnieszka Bajdek
Konsultantka Salesforce, Tucario
Konsultantka Salesforce w Tucario — firmie konsultingowo-produktowej Salesforce. Pracuje z enterprise’owymi orgami nad modelem współdzielenia i dostępów, konfiguracją orgów i rozwiązaniami, które da się utrzymać na co dzień.
