Voice bot · Telephony

Callbot

Voice bot platform for outbound calling: campaigns, contacts, telephony integration, and per-minute billing.

2025·Full-stack
Spring BootMongoDBSpring SecurityTelephonyNext.js

Context

A call center needed a platform where a manager could assemble a calling run themselves: upload contacts, pick a script, launch a campaign, and see the results in the dashboard — without middleware or third-party SaaS.

Solution

The dashboard holds campaigns, contacts, calling scripts, and a call log. When a campaign launches, the system dispatches calls to the telephony provider, processes inbound callbacks via VoiceHookController, and records duration, status, and outcome. Billing counts minutes against the project's rate and updates an internal invoice. There are separate dashboards for campaigns and billing.

Stack and architecture

  • Backend: Spring Boot, Spring Security, Spring Data MongoDB.
  • Controllers: CallController, CampaignController, ContactController, IncomingCallController, TelephonyController, VoiceHookController, BillingController, InternalInvoiceController, ProjectManagementController, UserController.
  • Frontend: Next.js, with dashboard / campaigns / calls / contacts / billing / settings / profile sections.
  • Deployment: Docker.

Role and outcome

We built the domain model for campaigns and calls, the voice-hook callback, per-minute billing, and the manager dashboard. A manager launches a campaign in a couple of minutes and sees the results without exporting anything.

Similar project?

Discuss a similar task

Describe the task — we'll share relevant experience and estimate the implementation.