Getting started
From source
to first call.
Install on your infrastructure, connect your accounts and configure a phone agent. Start here; follow the release-specific guide included with your codebase.
01 / Before you start
Bring your infrastructure.
Use the compatible environment specified in your installation guide. Allow room for your database, recordings and backups.
Point DNS at your host and allow HTTPS. The installer configures certificates and serves the dashboard and API together.
Connect supported telephony, speech and reasoning services. Account requirements depend on your selected voice architecture.
Phone setup connects an existing number in your carrier account. It does not purchase or port a number.
02 / Install
Start with a clean release.
Use the installer packaged with your release. The included installation guide lists the exact environment requirements, setup commands and supported connections.
The installer prompts privately for the first administrator password. Sign in at your chosen domain, then remove bootstrap-owner.json from the private configuration directory after successful setup.
Keep the generated private configuration and provider vault key secure. The full guide at docs/self-hosting.md covers permissions, backups, restoration and upgrades.
03 / Configure
Make the first call yours.
- Create a business and agent.Add instructions and knowledge, choose a voice mode, then publish the agent.
- Open Phone setup.Connect your provider credentials and select processing regions appropriate to your accounts.
- Review your number.Select an owned number and the published agent. Review its current carrier assignment before activation.
- Activate and test.After the setup is ready, call the number from a telephone. Check answers, interruptions, handoff and the recorded outcomes.
Modular Voice
STT → LLM → TTS: speech recognition, shared reasoning and speech synthesis.
Native Voice
Real-time voice, connected to the same business knowledge and action core.
Provider failures do not silently switch voice modes. Check your account access, selected models and actual calls before using a route with clients.
04 / Integrate
A scoped REST API.
Create a key in Account → API keys. Each key belongs to one business and carries selected permissions. Use your deployment’s origin, with /api/v1 behind the supplied proxy.
curl -H "Authorization: Bearer $AVROSH_API_KEY" \
https://calls.example.com/api/v1/businessesThe example reads the key’s business. Keep the key on your server, outside browser code and version control.
| GET path after /api/v1 | Returns | Access |
|---|---|---|
/businesses | The key’s business | Valid key |
/businesses/:businessId/agents | Agents | agents:read |
/businesses/:businessId/phone/calls | Call history | phone:read |
/businesses/:businessId/phone/calls/:callId | Call detail and conversation | phone:read |
/businesses/:businessId/phone/analytics | Call analytics | phone:read |
/businesses/:businessId/requests | Saved caller requests | requests:read |
Keys cannot perform owner-only operations such as team, key, webhook or phone setup management. Revoke unused keys from Account. See docs/api-keys.md in your release for the full access rules.
05 / Receive events
Keep your systems in sync.
Owners configure HTTPS endpoints in Integrations → Webhooks. Subscribe to call.ended and request.created; send a webhook.test event to check your receiver.
Verify Avrosh-Signature against the raw request body and a recent timestamp. Deduplicate using Avrosh-Delivery: delivery is at least once and events may arrive out of order.
Delivery history shows attempts and outcomes. An unknown result needs reconciliation, not an assumption that nothing happened. The signing and retry reference is included in docs/webhooks.md.
06 / Operate
Plan the second deployment, too.
Back up the database and private configuration, including the original vault key. Rehearse restoration in a separate environment before relying on a backup.
Follow your release’s upgrade instructions and migration requirements. Drain calls before incompatible changes; a successful health check alone does not establish calling quality or capacity.
Looking for the old MCP tool reference? Those contracts belong to the retired Avrosh application. The current codebase uses the REST API described above; changing the hostname does not migrate an old integration.
Next step