Self-hosted sales automation

Voxyrn

Voxyrn is a self-hosted AI auto dialer and carrier CRM for outbound Google Voice campaigns. It dials in the browser, talks with a voice agent, detects voicemail, records the call, and files the lead.

Voxyrn dashboard with call totals, recent logs, and links to preflight and the live run
The operator dashboard: recent calls and the path into a live run.

What is Voxyrn?

Voxyrn is a self-hosted AI auto dialer and carrier CRM. Selenium places outbound calls through the operator's own Google Voice account. On Linux the browser is Chromium. On Windows it is Google Chrome. A voice agent listens and answers on the connected call. The same run can write the call log, the recording, the transcript, the lead, and the carrier profile. Speech can stay on the machine with Piper or Kokoro, faster-whisper, and a local GGUF model, or it can use Groq when an API key is configured.

What the console actually does

Google Voice outbound dialer

Selenium drives voice.google.com in a persistent browser profile. Linux servers use Chromium. Windows keeps Google Chrome.

Call-state gate

Ringing, connected, ended, failed, and voicemail only move after minimum ring time and repeated checks of the Google Voice page.

Voice agent on the call

The live loop uses voice activity detection, faster-whisper (CPU int8) or Groq speech-to-text, a local GGUF model or Groq for the reply, and Kokoro, Piper, or Edge text-to-speech.

Voicemail detection

A beep, mailbox wording, or a saved greeting fingerprint can mark an answering machine. A prepared voicemail can be played. A short human hello is not treated as a mailbox by itself.

Logs, transcripts, and recordings

Each attempt can write a call log, a connected-call row, a transcript, and a WAV recording of both sides.

Leads

The lead row stores interest, callback time, and follow-up status. The list exports to CSV.

Carrier CRM

Carrier profiles keep company, phone, MC, DOT, truck type, lanes, notes, follow-up, and the assigned dispatcher, with CSV and JSON export.

Contacts and preflight

Contacts import from a workbook or CSV (MC, legal name, states, address, phone, email). Preflight checks the environment before a live run.

Operator accounts

The console requires a signed-in user. An admin creates operator accounts. Passwords are hashed. Sessions use a signed cookie and a CSRF token.

Use cases

Freight dispatch and carrier outreach

A dispatcher loads carriers, and the agent qualifies equipment and lanes on the connected call. The CRM keeps MC, DOT, truck type, lanes, notes, and the next follow-up.

Sales teams

A team runs an outbound list from one Google Voice number, reviews call logs and recordings, and works the leads that asked for a callback.

Agencies

An agency can host the console for a campaign, give each operator a login, and keep the speech models on the server when Groq is left off.

How to launch an outbound campaign

An administrator creates the operator login. The steps below are the live-run path in the console.

  1. Sign in. Open the console and sign in with the account an administrator created.
  2. Import contacts. Upload the contact workbook or CSV on the Contacts page.
  3. Run preflight. Open Preflight and confirm the voice models, audio route, and callback number.
  4. Confirm Google Voice. The Google Voice profile must already be signed in. On a Linux server that sign-in is a one-time headed Chromium session or a copied browser profile.
  5. Start the live run. Open Live Run, choose the contact file and limit, and start the run.

Operator screens

These are screenshots of the Voxyrn console: preflight, the live run, contacts, leads, recordings, and the carrier CRM.

Voxyrn carrier profile with notes, follow-up, and call history
A carrier profile with notes, follow-up, and call history.
Workflow from contacts through dialing, voicemail detection, the voice agent, and CRM follow-up
Console walkthrough (animated GIF) Animated walkthrough of the Voxyrn operator tabs
CRM walkthrough (animated GIF) Animated walkthrough of the Voxyrn carrier CRM and a profile

Questions

What is Voxyrn?

Voxyrn is a self-hosted AI auto dialer and carrier CRM for outbound Google Voice campaigns. It dials from Chromium or Chrome, talks with a voice agent, detects voicemail, records the call, and files the lead.

Does Voxyrn use Twilio, Asterisk, or FreeSWITCH?

No. The phone line is the operator's Google Voice account in the browser. Twilio, Asterisk, and FreeSWITCH are not part of the dial path.

Can speech stay on the server?

Yes. Piper or Kokoro speaks, faster-whisper transcribes on CPU with int8, and a local GGUF model can write the reply. Groq is used only when a key is set and the speech or answer backend is switched to Groq.

How does call audio work on a Linux server?

Voxyrn creates two PulseAudio or PipeWire null sinks. Text-to-speech plays into the sink Chromium uses as its microphone, and speech-to-text records the sink Chromium uses as its speaker. A headless server has no room speakers; listen in the Recordings tab. The virtual route can fail if Chromium does not attach to those devices, so the audio test in the console should be run before a live campaign.

Can Google Voice sign in by itself on the server?

No. The first sign-in is manual. Use the localhost noVNC session or copy a Chromium profile that is already signed in. A cookie file is only a best-effort import and Google often rejects it. Headless Chromium cannot finish a Google challenge or two-factor prompt.

Does Voxyrn answer inbound return calls?

On a connected outbound call, the agent listens and answers. It does not run a separate inbound queue. Callback times are stored on the lead and the carrier profile.

Who hosts the public console?

INDUS Web Agency hosts this installation at voxyrn.induswebagency.com. Operator accounts are created by an admin. There is no public self-serve signup.

Get started

If you already have an operator account, log in. An administrator creates users from the console. To host Voxyrn for a campaign, contact INDUS Web Agency.