mirror of
https://dev.azure.com/globalhealthx/EMR/_git/helix-engage-server
synced 2026-05-18 20:08:19 +00:00
Replaces the untrusted platform function path (SDK's lead-auto-assign
was written but never deployed to either workspace — all leads created
after seeding are orphan).
Polls every 60s:
1. Fetch up to 100 unassigned leads (assignedAgent empty or null)
2. Fetch platform Agents whose live SupervisorService state is
ready/calling/in-call/acw (skip offline/break/training/unknown)
3. Build open-lead count per agent (single paginated query)
4. Assign each unassigned lead to the least-loaded active agent —
writes agent.name into lead.assignedAgent to match the worklist
filter (assignedAgent: { eq: agentName })
Catches every lead-creation path: CSV import, enquiry form,
missed-call webhook, widget, livekit. No platform changes needed.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
12 lines
438 B
TypeScript
12 lines
438 B
TypeScript
import { Module, forwardRef } from '@nestjs/common';
|
|
import { PlatformModule } from '../platform/platform.module';
|
|
import { SupervisorModule } from '../supervisor/supervisor.module';
|
|
import { LeadAutoAssignService } from './lead-auto-assign.service';
|
|
|
|
@Module({
|
|
imports: [PlatformModule, forwardRef(() => SupervisorModule)],
|
|
providers: [LeadAutoAssignService],
|
|
exports: [LeadAutoAssignService],
|
|
})
|
|
export class LeadsModule {}
|