Each tenant dials up to its max concurrent cap. Watch all 10 hold ~10 active calls each = up to 100 concurrent.
No clients yet — go to the Clients tab and seed 10 demo tenants.
Tenants (clients)
Provision the tenants the platform will dial for. For the 10×10 test, seed 10 with a cap of 10 each.
One click below creates client-01 … client-10 (alternating female/male voice, max_concurrent = 10, default SIP trunk). Re-running is safe — existing ids are skipped.
Add a client manually
Existing clients
client_id
name
voice
trunk
cap
status
Not loaded.
Launch calls
Creating a campaign starts dialing immediately (status → in_progress). The dispatcher paces it to the tenant's cap.
To actually place calls you need: agent workers running (registered as the platform's agent_name), a valid LiveKit config, and real phone numbers. 10×10 = 100 real outbound calls. Fake numbers fail fast (no_answer/failed) and won't hold concurrency.
Leads (shared by all clients)
0 leads
Campaign details
Run
0 selected
Call history
Per-lead outcomes: received, declined, user busy, temporarily not available, no answer.
#
name
number
status
dur
interest
call_id
Pick a client + campaign and load.
Usage
Raw call + minute counts, per campaign / day / month. This is what the Bigship site (Laravel) consumes to bill — this API prices nothing.
Auth mode mirrors the two real paths: X-Service-Key + X-Client-Id (server-to-server, used elsewhere in this console) or a 24h Bearer token — enter the platform API key, click "Get 24h token" to mint one exactly the way Laravel will, then this tab drives usage with Authorization: Bearer + X-Client-Id.
Campaign
Calls (connected)
Attempts
Minutes
Load usage to see counts.
Transcript analysis
How customers responded to the offer, per campaign — classified by AI from each call's transcript at hang-up.
Pick a client + campaign and click Analyze.
Response breakdown
Agent prompts & test call
Draft a calling-agent prompt with AI, edit it, save it, and dial ONE number with it. Test calls skip the tenant's concurrency cap, Call History and usage.
1 · Generate with AI (optional)
Voice comes from the dropdown in step 2. It sets the Hindi verb forms in the draft.
2 · Prompt
3 · Test call
Places a real phone call. Needs at least one agent worker (agent_final_v4.py) connected to LiveKit, and only one test call per tenant can be in flight at a time.
Analyzer prompts & analysis jobs
Generate an analyzer from a saved agent prompt, try it on one stored transcript, then run it over a whole campaign to fill in leads.interest.
1 · Generate from an agent prompt
2 · Analyzer prompt
3 · Test on one call (read-only)
4 · Launch analysis over a campaign
Call tools
Inspect one call, cancel a campaign, preview a CSV, and fake agent callbacks so you can test the platform without placing real calls.
Call inspector
Campaign control
Stops leads that haven't been dialled yet. Calls already in progress run to the end.
CSV preview (nothing is created)
Simulate agent callbacks (no phone needed)
Sends the same POST /v1/internal/call-status the agent sends, signed with X-Worker-Secret. Pick an active lead below (dispatched, ringing or received) to walk it through answered → completed with a fake transcript. The dispatcher picks up the freed slot on its next cycle.
Heads up: with no agent worker connected, real dispatched leads stay in dispatched until the reconciler marks them failed, about 60–90s after dispatch. Simulate before then.