Assigns a lead to a specific team member. This endpoint enables lead distribution across your team, reassignment between members, and tracking of individual performance.Key Benefits:
Load balancing: Distribute leads evenly across team
Expertise matching: Assign leads based on team member specialization
Accountability: Track which team member is responsible for each lead
Performance metrics: Measure individual team member results
def get_member_workload(member_id): """Get current number of assigned leads""" response = requests.post( "https://server.smartlead.ai/api/v1/master-inbox/assigned-me", params={"api_key": API_KEY}, json={"filters": {"campaignTeamMemberId": member_id}} ) return response.json().get('total_count', 0)def assign_to_least_busy(lead_map_id, team_members): """Assign to team member with fewest current leads""" workloads = {m: get_member_workload(m) for m in team_members} least_busy = min(workloads, key=workloads.get) assign_lead_to_member(lead_map_id, least_busy)
def reassign_from_to(from_member_id, to_member_id, filters=None): """Reassign all leads from one member to another""" # Get all leads assigned to from_member payload = { "filters": { "campaignTeamMemberId": from_member_id }, "limit": 20 } if filters: payload["filters"].update(filters) response = requests.post( "https://server.smartlead.ai/api/v1/master-inbox/assigned-me", params={"api_key": API_KEY}, json=payload ) leads = response.json().get('messages', []) # Reassign each lead for lead in leads: assign_lead_to_member( lead['campaign_lead_map_id'], to_member_id ) return len(leads)# Transfer all of John's hot leads to Janecount = reassign_from_to( from_member_id=123, to_member_id=456, filters={"leadCategories": {"categoryIdsIn": [1]}} # Interested only)print(f"Reassigned {count} leads")
def setup_vacation_coverage(away_member_id, covering_member_id, start_date, end_date): """Temporarily reassign leads during vacation""" # Get active leads payload = { "filters": { "campaignTeamMemberId": away_member_id, "emailStatus": "Replied" # Only active conversations } } response = requests.post( "https://server.smartlead.ai/api/v1/master-inbox/assigned-me", params={"api_key": API_KEY}, json=payload ) active_leads = response.json().get('messages', []) # Reassign to covering member for lead in active_leads: assign_lead_to_member( lead['campaign_lead_map_id'], covering_member_id ) # Add note about temporary reassignment create_note( lead['campaign_lead_map_id'], f"Temporarily assigned to covering member during vacation from {start_date} to {end_date}" )