Teleperson
Features

Admin Companies

Browse and edit the shared company catalog from the web or the extension; the extension's pen icon opens a full editor that covers identity, location, size, support details, and call-handling config in one place.

The shared company catalog can now be browsed and edited from the web — no browser-extension sideload required. The bulk-import flow also accepts a new optional Secondary Industry column so each company can carry both a primary vertical and a sub-vertical.

Bulk import

  1. Sign in as an admin and go to /AdminImportCompanies.

  2. Paste a CSV (or drop a file). The expected header row is:

    Name, Industry, Secondary Industry, Support phone, Domain

    Headers are optional. Any of secondary industry, sub industry, subcategory, or industry 2 are accepted as synonyms for the secondary column. Empty cells are fine.

  3. The preview table shows every parsed row with a status badge. Rows with missing or invalid domains are flagged as skipped.

  4. Click Dry run to verify counts without writing to the database.

  5. Click Import N companies to commit. The report card shows how many companies were added vs. updated.

  6. After a successful commit, click View imported companies → to jump straight to /AdminCompanies filtered to the rows from this batch.

Browse and edit

The /AdminCompanies page lists every company in the shared catalog with server-side pagination and search. From here you can:

  • Search by name, primary industry, or secondary industry.
  • Click the pencil icon to open an edit dialog for name, industry, secondary_industry, support_phone, and notes.
  • Save — every change is recorded to audit_log.

The "Just imported" banner only appears when you arrive via the deep-link from the import report card. Click Clear filter to drop back to the full catalog.

Edit a company from the extension

Open the side panel, switch to Admin → Companies, and click the pen icon next to any company row. The full-screen editor opens with every editable field for that company already populated, organised into cards:

  • Company identity — name, tagline, logo, primary and secondary industry, support phone, friction and match scores, verified / profile matched flags.
  • Domains — the list of hostnames this company activates on.
  • Web presence — website, LinkedIn URL, public description.
  • Location — street address, city, state, country, ZIP, and HQ region.
  • Company size — free-text size, employee range (1-101000+), revenue range (0-1M250M+).
  • Support details — support URL, support hours, main phone, and internal admin notes.
  • What's possible — channel chips (phone, chat, email, etc.).
  • Top intents, Escalation & outcomes — the call-handling metadata used by the Overview and Call Tree tabs.

Companies that have a Supabase row (anything matched, claimed, or imported) save to both local extension storage and the shared database. Saves are recorded in audit_log and stamp reviewed_at / reviewed_by so future admins can see who last touched the row. Local-only companies (added manually with no Supabase counterpart) keep the same editor but the Supabase-backed sections are read-only with an inline explanation.

The editor refuses to write any of the protected columns — claim_status, owner_id, is_active, plan, Stripe IDs, Vapi phone ID, enrichment_data, perplexity_data, reviewed_at / reviewed_by, slug, canonical name, source, confidence score. Those remain managed by the platform.

Why secondary industry

Some source spreadsheets describe a company with both a top-level industry (retail) and a sub-vertical (big-box, wholesale-club). Both are useful for routing and filtering, so we store them as separate columns instead of collapsing them into one. The CSV importer never overwrites a populated field; if a row already has industry = retail and the new upload lacks a secondary industry, the existing primary is preserved.

On this page