Master every button, feature, and workflow • Achieve certified agent status • Maximize your earnings
Company mission, your role as Appointment Setter, pay structure, performance metrics
Every button, panel, data field — header, call bar, contact strip, action rail, intelligence panels
Login → Load Next → Call Loaded → Live Call → Disposition → Notes → Repeat
Live Transfer, Maps/Solar, Scripts, Callbacks, Update Contact, CRM buttons
Disposition hierarchy, scoring rubric, daily metrics, talk time definition
Sandbox practice with test leads — full workflows
25 MC + 5 scenarios + observed live call — ≥85% to pass
Magnetic Energy helps homeowners switch to residential solar — lowering bills, increasing home value, and building energy independence.
You are the bridge between a homeowner's interest and a Solar Specialist's expertise. Your job: motivate the homeowner to say YES to a live transfer or a firm appointment.
Example: 5 hrs talk = $50 + 2 appts = $40 → $90/week ($18/hr effective)
| Metric | Minimum | Consequence |
|---|---|---|
| Talk Time | 5 hrs/week (300 min) | Marked inactive → remediation/offboarding |
| Conversion Rate | 2% of answered calls | Performance review triggered |
| Avg Min/Converted Call | Tracked (threshold TBD) | Efficiency required |
| Avg Min/Non-Converting | Tracked (threshold TBD) | Long dead calls waste paid time |
The /agc-next workspace is an isolated iframe overlay that sits on top of native ViciDial, communicating via secure MessageChannel. It adds intelligence without replacing telephony.
v3.9-r3934-gender-logout-fix-20260721Real-time call status with color-coded pulse indicator:
Live duration counter (MM:SS) — starts on CALL LOADED, runs through disposition. This is your paid talk time.
Shows lead's local time + timezone (e.g., "2:47:15 PM — Eastern Time"). Critical for TCPA compliance and rapport.
| Button | Action | When Enabled | Key Behavior |
|---|---|---|---|
| PAUSE/RESUME | Toggle auto-dialing | Always | Text toggles PAUSE ↔ RESUME; ARIA pressed state |
| LOAD NEXT | Request next READY lead | Not on live call | Fetches from hopper; shows "Lead loaded" when ready |
| LOAD LAST | Return to previous lead | After disposition | Disabled until a lead has been disposed |
| CALL LOADED | Confirm lead, start call | Lead loaded, not live | CRITICAL: Click AFTER "Lead loaded" appears, BEFORE call connects |
| MANUAL CALL | Open native manual dial | Paused, not live | Opens ViciDial NewManualDiaLBox modal (themed) |
| RECORD | Start/Stop recording | Live call | Text: START RECORDING / STOP RECORDING / AUTO RECORD ON |
| PARK | Park current call | Live call | Native ViciDial park — use per campaign policy |
| TRANSFER | Live Transfer to Closer | Live call + closer available | Creates Google Meet, sends SMS/email to closer, JOIN link to lead |
| HANG UP | End call | Live call | Danger style; triggers disposition workflow |
| LOG OUT | Clean session end | Any time | Hangs up if live → waits for disposition → beacon POST → closes |
You MUST click CALL LOADED after the contact strip populates ("Lead loaded") but BEFORE the call connects. This tells ViciDial the workspace is ready and starts the timer. Missing this = missed metrics, broken flow.
| Column | Field | Source | Notes |
|---|---|---|---|
| 1 | Name + Comments below | vicidial_list.first_name + last_name | Avatar shows first initial; Comments = vicidial_list.comments (agent-editable) |
| 2 | Address | address1, city, state, postal_code | Full formatted address + location line |
| 3 | Phone | phone_code + phone_number | Formatted (XXX) XXX-XXXX |
| 4 | Critical for Live Transfer Meet invites |
| Column | Field | Source | Notes |
|---|---|---|---|
| 1 | Gender | gender (M/F/U) | From lead data |
| 2 | Age | Calculated from date_of_birth | Auto-calculated; shows "—" if invalid |
| 3 | DOB | date_of_birth | YYYY-MM-DD format |
| 4 | (Empty) | Reserved | Future expansion |
In Action Rail: NOT HOT or HOT LEAD — driven by list_id = 9002 (configurable via HOT_LIST_IDS).
Opens GHL form web_form_address (campaign 11: IPS Discovery Call)
Opens GHL form web_form_address_three (team assignment)
team_name=user_groupShows due callbacks (status ACTIVE/LIVE, time ≤ NOW)
Real-time badge: Standard vs HOT (list 9002)
Modal editor for ALL lead fields + Comments
Auto-loaded from vicidial_campaigns.campaign_script → joins vicidial_scripts for text.
--A--field--B-- → live lead dataALL active vicidial_scripts (max 100, ordered by name)
| Token | Replaced With |
|---|---|
--A--first_name--B-- | Lead first name |
--A--last_name--B-- | Lead last name |
--A--lead_id--B-- | ViciDial lead ID |
--A--vendor_lead_code--B-- | Vendor lead code |
--A--phone_number--B-- | Formatted phone |
--A--email--B-- | Lead email |
--A--address1--B-- | Street address |
--A--city--B-- | City |
--A--state--B-- | State |
--A--postal_code--B-- | ZIP code |
--A--user--B-- | Agent username |
--A--user_group--B-- | Agent group |
Below script: "GHL lookup is live. Existing contacts open directly; no-match routes open the owned prefilled form without auto-submission." Updates dynamically based on CRM readiness.
vicidial_call_notes with vicidial_id='WORKSPACE_CONTACT'[Callback comments YYYY-MM-DD HH:MM] prefixOn lead load, the most recent WORKSPACE_CONTEXT note loads into the textarea. Older entries are in the database (notesid ordered).
aerial-view.htmlReal-time API data displayed as metrics:
| Metric | Display | Use in Call |
|---|---|---|
| Suitability Score | 0-100 + rank (EXCELLENT/GOOD/FAIR/POOR) | "Your roof scores 87/100 — excellent for solar" |
| Max Panels | Integer count | "Space for 24 panels on your roof" |
| Array Capacity | kW (e.g., 9.6 kW) | "That's a 9.6 kW system — covers 100%+ of usage" |
| Annual Generation | kWh (formatted) | "Produces ~13,500 kWh/year" |
| Usable Roof Area | sq ft (formatted) | "840 sq ft of prime south-facing roof" |
| Annual Sunshine | Hours | "2,100 sun hours/year — top quartile" |
| Primary Roof Pitch | Degrees + azimuth | "18° pitch at 195° — optimal" |
| Imagery Quality | HIGH/MEDIUM/LOW + date | Confidence indicator |
"I'm looking at your roof right now via satellite — it's south-facing, no trees, 87% suitability score. That's one of the best roofs I've seen this month. A 9.6 kW system would zero out your $280 bill. Can I get you transferred to a specialist who can show you the exact design and financing?"
checkedIn = available right nowLead's email used for Meet invite + laptop delivery workflow. Always verify email in contact strip before transfer.
Appears in Action Rail when:
vicidial_callbacks.status IN ('ACTIVE','LIVE')callback_time <= NOW()recipient='ANYONE' OR (recipient='USERONLY' AND user=you)Shows: Name, due time, lead ID. Click → loads that lead instantly.
When no specific time needed:
CallBackDatETimE = '', CallBackrecipient = 'ANYONE'CallBackLeadStatus = 'CBDAIL'CBDAILAppended to Call Notes with timestamp:
| Field | Type | Validation |
|---|---|---|
| First Name | text | Required |
| Last Name | text | Required |
| Phone Number | text | 10 digits |
| Alt Phone | text | 10 digits |
| Valid format | ||
| Address | text | Street |
| City | text | City |
| State | text | 2-letter code |
| Zip | text | 5 digits |
| Gender | select | M / F / U |
| DOB | date | YYYY-MM-DD |
| Comments | textarea | Free text |
After save, pendingPublishAfterMetadata flag triggers immediate contact strip refresh — no manual reload needed.
Comments (vicidial_list.comments) = occupation, language preference, general notes.
Call Notes (vicidial_call_notes) = timestamped call history.
Never the twain shall meet. Update Contact saves to Comments only.
workspace-update-contact.phpvicidial_list row| Priority | Disposition | Type | When to Use | Counts As |
|---|---|---|---|---|
| 1 — BEST | LTXFER | Live Transfer | Homeowner qualified + engaged + closer available | Global sale + CALLS |
| 2 | APPT | Appointment | Same-day or next-day firm appointment booked | Global sale + CALLS |
| 3 | APPT | Appointment | Appointment within 7 days (specific date/time) | Global sale + CALLS |
| 4 | CALLBK | Callback | Specific callback to TRANSFER or SET APPOINTMENT | CALLS only |
| 5 | CBDAIL | Daily Rotation | "Whenever" — lead returns to next day's hopper | CALLS only |
| — | Other (DROP, NANS, etc.) | Non-sale | Document reason in Call Notes | Varies |
CALLS = Final dispositions where selectable=Y AND human_answered=Y in native global/campaign status metadata. Includes: genuine conversations, voicemail, dead air, busy, disconnected, unanswered. Excludes: auto/system/queue drops, unselectable statuses. Resets at ViciDial server midnight.
Separate from Appointment Quality scoring. This evaluates YOUR execution on every call where a human answers.
| Dimension | Weight | 16-20 (Excellent) | 11-15 (Good) | 6-10 (Fair) | 0-5 (Poor) |
|---|---|---|---|---|---|
| Intro/Permission | 20% | Strong opening, clear purpose, consent obtained naturally | Good opening, gets permission | Rushed, mechanical, permission unclear | No intro, no permission, pushes |
| Language Fluency | 20% | Native English/Spanish matching lead, zero accent bias | Fluent, matches lead language | Understandable but accent/grammar issues | Unintelligible, wrong language |
| Energy/Engagement | 20% | Enthusiastic, present, builds rapport naturally | Good energy, engaged | Flat, robotic, reading script | Disengaged, monotone, distracted |
| Objection Handling | 20% | Addresses concerns, pivots to value, never argues | Handles well, stays calm | Struggles, gets defensive | Ignores, argues, gives up |
| Closing/Resolution | 20% | Reaches BEST available outcome (LTXFER→APPT→CB) | Gets appointment or callback | Weak close, misses opportunity | No close, wastes lead |
Key Rule: Do NOT penalize failed live transfer if no closer was available. Final disposition alone ≠ call performance.
Automated via n8n pipeline:
| Metric | Definition | Source |
|---|---|---|
| CALLS | Final dispositions: selectable=Y + human_answered=Y | ViciDial status metadata |
| APPT | Appointment dispositions (global sale) | ViciDial disposition |
| LTXFER | Live Transfer dispositions (global sale) | ViciDial disposition |
Authoritative definition: All ViciDial waiting time + all call-bridge (talk_sec) time.
Conversion % = (APPT + LTXFER) / CALLS × 100
Target: ≥2% (1 in 50 answered calls = qualified appointment/transfer)
URL: https://vicidial-staging.workwithmagnetic.com/agc-next/vicidial.php
Credentials:
| Field | Value |
|---|---|
| Phone Login | 1999 |
| Phone Password | 1999 |
| User Login | test_agent1 |
| User Password | test123 |
| Campaign | 11 |
| Lead ID | Name | List | Gender |
|---|---|---|---|
| 1406581 | Avery Bennett | 199 | U |
| 1406582 | Morgan Carter | 199 | M |
| 1406583 | Riley Donovan | 199 | U |
| 1406584 | Cameron Ellis | 199 | U |
| 1406585 | Jordan Foster | 199 | U |
| 1406586 | Jordan Demo | 9002 (HOT) | U |
30 questions total: 25 multiple choice + 5 scenario-based. Pass: ≥85% (25/30). Plus 5-min observed live call on sandbox.
30 questions
≥85% (25/30) to pass
5-minute observed call
on sandbox environment
Badge issued
Quarterly recertification
#mag-call-center — alerts, questions, peer helpCall Center Alerts — automated notifications (appointments, scores, system)Support Email: support@workwithmagnetic.com (Magnetic Energy Support Team)
HR/Onboarding: Adriana (EA) + Ramon (Sales)
Now is the time for any questions about:
Every call is a chance to help a homeowner go solar.
Every button you master puts money in your pocket.
Every appointment you set grows Magnetic Energy.