V
VAConnect Operations
βŒ•
OP
{{ sessionEmail }}
Job Cards {{ cardCount }} total
{{ dataError }} Retry
Sort
{{ card.refLabel }} {{ card._statusDot }} {{ card.statusLabel }}
{{ card.client }}leadfrom JD
{{ card.role }}
VA {{ card.vaLabel }}
{{ card._stepLabel }} Β· {{ card._pct }}
Created {{ card.dateCreated }}
No job cards match your search.
{{ sel.refLabel }} {{ sel.client }} lead from JD {{ sel._statusDot }} {{ sel.statusLabel }}
{{ sel.refLabel }} Β· {{ sel.packageCode }}lead β€” prospecttitle from JD
{{ sel.f.client.value }}✎
{{ sel.f.role.value }}✎
No client linked yet β€” or
{{ sel.f.cName.value }}✎
βœ‰ {{ sel.f.cEmail.value }}✎
☎ {{ sel.f.cPhone.value }}✎
Hours
{{ sel.f.hours.value }}✎
Rate
{{ sel.f.rate.value }}✎
ZAR / mo
{{ sel.zarLabel }}
{{ sel.zarAtLabel }}
Created
{{ sel.dateCreated }}
βŒ„ Onboarding Checklist {{ sel._mainDone }} of {{ sel._taskTotal }} done
{{ sel._pct }}
No checklist yet for this placement.
{{ step._check }}
{{ step._num }} {{ step.name }} {{ step.owner }} due {{ step.due }} Current
Completed {{ step.doneAt }}
β€œ{{ step.notes }}”
βŒ„ Contacts
Client Contacts
{{ ct.name.value }}✎
βœ‰ {{ ct.email.value }}✎
☎ {{ ct.phone.value }}✎
Edits write to the client record.
VA Contacts
{{ ct.name.value }}✎
βœ‰ {{ ct.email.value }}✎
☎ {{ ct.phone.value }}✎
No VA matched to this placement yet.
Edits write to the VA record.
βŒ„ Job Description {{ sel.jdStatus }}
{{ sel.jdTitle.value }}✎
{{ sel._jdMeta }}
Edits save automatically to job_descriptions.
No JD linked to this placement.
Unlinked JDs β€” link manually (never auto-matched)
{{ oj.title }}
{{ oj.preview }}
created {{ oj.created }}
No unlinked JDs available.
βŒ„ Activity Timeline
{{ act.text }}
{{ act._meta }}
πŸ—‚οΈ
Select a job card to view its details
Tip: use ↑ ↓ to move between cards, Esc to close
Virtual Assistants
{{ vaCount }} total
{{ dataError }} Retry
Sort
{{ v.name }}{{ v._statusDot }} {{ v.statusLabel }}
{{ v._roles }}
{{ v._skillsCount }} skills
{{ v._selfLabel }}{{ v._scoreLabel }}
{{ va.name }}{{ va._statusDot }} {{ va.statusLabel }}
{{ va.f.name.value }}✎
{{ t.label }}Γ—
βœ‰{{ va.f.email.value }}✎
☎{{ va.f.phone.value }}✎
Left
{{ va.f.leftDate.value }}✎
Added
{{ va.dateAdded }}
βŒ„Profile
Experience
{{ va.f.experience.value }} yrs✎
Hourly rate
{{ va.f.hourlyRate.value }}✎
English
{{ va.f.englishScore.value }}/10✎
Timezone
{{ va.f.timezone.value }}✎
Skills
{{ t.label }}Γ—
Tools
{{ t.label }}Γ—
Culture tags
{{ t.label }}Γ—
Industries
{{ t.label }}Γ—
CV
Open CV β†—πŸ“Ž {{ va.f.cvLink._label }}
Notes
βŒ„VAPINESS Scorecard
{{ va._scoreLabel }}
{{ va.overall }}
client rating
out of 5.0
{{ va.selfOverall }}
self assessment
out of 5.0
β–  Clientβ–  Self
{{ b.label }}
{{ b.cScore }}{{ b.sScore }}
Recent client scores
From
Date
Score
Note
{{ fb.from }}
{{ fb.date }}
{{ fb.score }}
{{ fb.note }}
No VAPINESS score yet β€” this VA hasn't been scored on a completed placement.
βŒ„Placement History
Client
Role
Placed
Status
{{ p.client }} β†—
{{ p.role }}
{{ p.date }}
{{ p.status }}
No placements yet.
βŒ„Activity Timeline
{{ act.text }}
{{ act._meta }}
πŸ‘€
Select a VA to view their profile
Clients
{{ clientCount }} total
{{ dataError }} Retry
Sort
{{ c.company }}{{ c._statusDot }} {{ c.statusLabel }}
{{ c._contactName }}
{{ c._placementsLabel }}{{ c.dateAdded }}
{{ cl.company }}{{ cl._statusDot }} {{ cl.statusLabel }}
{{ cl.f.company.value }}✎
{{ cl.f.cName.value }}✎
βœ‰{{ cl.f.cEmail.value }}✎
☎{{ cl.f.cPhone.value }}✎
Added
{{ cl.dateAdded }}
βŒ„Company Info
Website
{{ cl.f.website.value }}✎
Mobile
{{ cl.f.mobile.value }}✎
Birth date
{{ cl.f.birthDate.value }}✎
Secondary emails
{{ cl.f.secondaryEmails.value }}✎
Notes
βŒ„Placements
managed on Job Cards
VA
Package
Role
Hours
Value / mo
ZAR / mo
Status
{{ p.vaName }}
{{ p.packageCode }}
{{ p.role }}
{{ p.hours }}
{{ p.value }}
{{ p._zarLabel }}
{{ p.status }}
No placements yet.
βŒ„Activity Timeline
{{ act.text }}
{{ act._meta }}
🏒
Select a client to view details
Job Descriptions{{ jdCount }} total
{{ dataError }} Retry
{{ j.title }}{{ j._statusDot }} {{ j.statusLabel }}
{{ j.placementLabel }}
{{ j.preview }}
Created {{ j.created }}
{{ jd.title.value }}{{ jd._statusDot }} {{ jd.statusLabel }}
{{ jd.title.value }}✎
Created {{ jd.created }} Β· {{ jd._linkMeta }}
Placement{{ jd.placementLabel }} β†—
Link to a placement
Human-confirmed only β€” pick the job card this JD belongs to. Only cards without a JD are listed.
{{ lk.label }}
{{ lk.sub }}
Every job card already has a JD.
Full text
Edits save automatically to job_descriptions.
πŸ“„
Select a JD to view and edit it
Leads ({{ leadVisibleCount }})
{{ dataError }} Retry
First name
Last name
Email β€” required (GHL match key)
{{ col.label }}{{ col._arrow }}
Actions
{{ ld.name }}
{{ ld._company }}
{{ ld.source }}
{{ ld._scoreLabel }}
{{ ld.statusLabel }}
{{ ld.date }}
Lead Details
{{ viewLead.f.firstName.value }}✎ {{ viewLead.f.lastName.value }}✎
Email{{ viewLead.f.email.value }}✎
Phone{{ viewLead.f.phone.value }}✎
Company{{ viewLead.f.company.value }}✎
Source{{ viewLead.f.source.value }}✎
Score{{ viewLead._scoreLabel }}
Date{{ viewLead.date }}
Notes
Placement Pipeline {{ pipeCount }} placements
read-only β€” stages are driven by the placement lifecycle; refresh to update
βŒ•
{{ dataError }} Retry
{{ col.name }} {{ col.count }}
{{ op.client }}leadfrom JD
{{ op.va }}
{{ op._multiLabel }}
{{ op.role }} {{ op.packageCode }}
{{ op.entered }}
No placements
Issues & Ideas ({{ issueVisibleCount }})
The issues table doesn't exist yet β€” run issues-setup.sql once in the Supabase SQL editor.
Title β€” required
Type
Priority
Title
Type
Priority
Status
By
Date
{{ is.title }}
{{ is._catLabel }}
{{ is.createdBy }}
{{ is.date }}
Nothing here yet β€” add the first issue or idea.
{{ viewIssue._catLabel }}
{{ viewIssue.title.value }}✎
Details
Raised by {{ viewIssue.createdBy }} Β· {{ viewIssue.date }}
🧾 Invoicing {{ repWeekLabel }}
changes save automatically to this week's report
Viewing a saved week β€” read-only. Switch to "This week β€” live" on the report to edit.
No active billable placements this week.
Client
Package Β· Role
Value / mo
ZAR
Status
Notes
{{ ti.client }} β†—
{{ ti.pkg }}
{{ ti.value }}
set on job card
{{ ti.zar }}
{{ ti.payNote }}
Weekly Report{{ repWeekLabel }}
Generated {{ repGeneratedAt }} Β· replaces the WF-10 Monday Morning Dashboard
The weekly_reports table doesn't exist yet β€” run weekly_reports-setup.sql once in the Supabase SQL editor. The live snapshot below still works; saving needs the table.
New leads this week
{{ repNewLeadsCount }}
{{ repNewLeadNames }}
Pipeline by stage
{{ st.label }} {{ st.count }}
Bench availability (active VAs)
{{ b.label }} {{ b.count }}
Revenue (active, converted to ZAR)
{{ repZarTotal }}
{{ repConvertedCount }} placements converted Β· not converted:
Β· {{ nc.label }}
🚩 VAs needing help (VAPINESS < 2.5 of 4)
No ratings yet β€” flags appear once VAPINESS scores exist.
None β€” all rated VAs are above threshold.
{{ nh.label }}
🧾 To invoice open β†’
No active billable placements.
{{ ti.client }} {{ ti.pkg }} {{ ti.payLabel }}{{ ti.value }}
+ {{ repToInvoiceMore }} more β€” open the invoicing page β†’
⏰ Overdue onboarding tasks
Nothing overdue.
{{ ov.label }}
{{ ov.meta }}
🧩 Unmatched ratings
{{ repUnmatched }} VAPINESS score rows don't match a bench VA.
Client RAG + notes (entered by the team)
Viewing a saved week β€” switch to "This week β€” live" to edit.
{{ rg.name }}
{{ repNotes }}
Notifications {{ notifUnread }} unread
The notifications table doesn't exist yet β€” run notifications-setup.sql once in the Supabase SQL editor.
No notifications.
{{ nt.subject }}
{{ nt.body }}
{{ nt.meta }}
{{ appToastMsg }}
V
VAConnect Operations
Operations team sign-in
Email
Password
{{ authError }}
Accounts are created by an admin in Supabase β†’ Authentication β†’ Users. Data access requires login (RLS).