Team Management
Configure team branding, member MLS IDs, and team listing imports
Team Management
For agents who belong to a named team within their brokerage (e.g., "The Jills Zeder Group" within Coldwell Banker Realty), the team management feature adds team branding and team listing imports.
Overview
The team feature follows a "one team per workspace" model. It's optional and collapsible — if no team data is configured, the UI section stays collapsed.
Visual hierarchy: Team logo is displayed as PRIMARY (100% opacity), brokerage logo as SECONDARY (75-80% opacity).
Setting Up Team Branding
Team Name & Logo
- Go to Dashboard → Settings → Team
- Enter your Team Name
- Upload a Team Logo (light mode)
- Optionally upload a Dark Mode Logo (falls back to light mode if not set)
- Select a Logo Size preset (
sm,md,lg,xl) - Click Save
Where Team Info Appears
Team branding displays on:
- About page — Team name and logo above brokerage info
- Contact page — Team branding in the header
- Listing detail pages — Team attribution
- Landing pages — Team logo in the header
- Footer — Team logo with brokerage below
Adding Team Members
Team members are identified by their MLS IDs. This enables importing their listings as a group.
Adding Member MLS IDs
- Go to Dashboard → Settings → Team
- Find the Team Members section
- Enter each team member's MLS ID
- Click Look Up to resolve the agent name from the MLS
Agent Name Resolution
The system can look up agent names from MLS IDs:
- API:
GET /api/dashboard/agents/lookup?mlsId=12345 - Queries Bridge API to resolve the agent's display name
- Resolved names are stored in
team.memberNames(aRecord<string, string>mapping MLS ID to name) - Names persist so the lookup doesn't need to be repeated
Team Import Tasks
Once team member MLS IDs are configured, you can create a team import task:
- Go to Dashboard → Import Data
- Click Create Team Import (or use quick-create)
- The system creates an import task with:
category: 'team'filter_config: { agentMlsIds: [...], includeCoListings: true }- Syncs listings where any team member is the listing or co-listing agent
Quick Create
Use POST /api/dashboard/imports with { quickCreate: 'team' } to auto-create a team import from configured member MLS IDs.
Task Priority
Import categories are prioritized (highest to lowest):
personal— Agent's own listingsoffice— Brokerage listingsteam— Team member listingssearch— Service area importssold— Sold listingsdemo— Demo data (lowest)
Listing Visibility Controls
Control how team and office listings appear on the public site:
// workspace.settings.listingVisibility
{
showOfficeListingsPublic: false, // Show office listings publicly
showTeamListingsPublic: false, // Show team listings publicly
showListingAgent: true // Show "Listed by" agent name on cards
}Configuration
- Go to Dashboard → Settings → Listings
- Toggle Show Team Listings to make team listings visible on the public site
- Toggle Show Listing Agent to display the listing agent's name on property cards
- Click Save
When showTeamListingsPublic is enabled, team listings appear in the main listings page alongside the agent's personal listings.
Team Logo Upload
Upload team logos via the dashboard or API:
- API:
POST /api/dashboard/team-logo(FormData withfilefield) - Stores in Supabase Storage
- Updates
workspace.settings.team.logoUrl
Data Model
interface TeamInfo {
name?: string; // Team display name
logoUrl?: string; // Light mode logo URL
logoUrlDark?: string; // Dark mode logo URL (optional)
logoSize?: LogoSize; // Display size: 'sm' | 'md' | 'lg' | 'xl'
memberMlsIds?: string[]; // Curated list of team member MLS IDs
memberNames?: Record<string, string>; // MLS ID -> agent name mapping
}Stored at workspace.settings.team (JSON field, no DB migration needed).
Related Documentation
- Branding — Brand palette and color roles
- Import Tasks — Import task configuration
- Feature Toggles — Workspace feature flags