1 OAK MLS
Guides

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

  1. Go to Dashboard → Settings → Team
  2. Enter your Team Name
  3. Upload a Team Logo (light mode)
  4. Optionally upload a Dark Mode Logo (falls back to light mode if not set)
  5. Select a Logo Size preset (sm, md, lg, xl)
  6. 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

  1. Go to Dashboard → Settings → Team
  2. Find the Team Members section
  3. Enter each team member's MLS ID
  4. 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 (a Record<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:

  1. Go to Dashboard → Import Data
  2. Click Create Team Import (or use quick-create)
  3. 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):

  1. personal — Agent's own listings
  2. office — Brokerage listings
  3. team — Team member listings
  4. search — Service area imports
  5. sold — Sold listings
  6. demo — 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

  1. Go to Dashboard → Settings → Listings
  2. Toggle Show Team Listings to make team listings visible on the public site
  3. Toggle Show Listing Agent to display the listing agent's name on property cards
  4. 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 with file field)
  • 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).

On this page