Skip to main content

A self-hosted automated outbound dialer phone bot

Project description

Autodial PhoneBot

A self-hosted automated outbound dialer phone bot capable of using speech recognition and LLM to navigate IVRs and DTMFs, understand calls intelligently, process multiple calls concurrently, and broadcast messages.

Key Advanced Capabilities

  • Python Client Engine: Includes a native AutodialClient for programmatic orchestration.
  • Webhook Callbacks: Automatic POST notification to callback_url upon call completion with full session transcript.
  • Dynamic Context Injection: Override bot personality, goals, and keyword focus per-call.
  • Broadcast Execution: Automated message delivery with instant terminal disconnect.

Installation

pip install autodial

Programmatic Usage Example (Python Client)

The library now includes a high-level client for easy integration into your own workflows.

from autodial import AutodialClient

# Initialize client pointing to your local or hosted Autodial server
client = AutodialClient("http://localhost:8000")

# 1. Trigger an interactive call with custom instructions
client.dial(
    target_number="+1234567890",
    context="Outbound appointment confirmation",
    goals="Confirm availability for Friday at 3 PM",
    keywords="Appointment, Friday, Confirmed",
    callback_url="https://your-webhook.com/api/v1/call-log"
)

# 2. Trigger a mass broadcast message
client.broadcast(
    numbers=["+123...", "+145..."],
    message="This is an automated system alert. Please check your dashboard.",
    callback_url="https://your-webhook.com/api/v1/broadcast-log"
)

API Endpoint Reference

POST /dial

Trigger a single interactive AI session.

  • Body:
    • to_number (str, Required)
    • context (str): Optional background information for the bot.
    • goals (str): Specific results sought from the call.
    • keywords (str): Key phrases for the AI to prioritize.
    • callback_url (str): Endpoint to notify after call ends.

POST /broadcast

Deliver a static message to many recipients.

  • Body:
    • numbers (List[str], Required)
    • message (str): If provided, the call will play this message and hang up immediately.
    • context/goals/keywords: Applied if message is omitted.
    • callback_url (str): Endpoint for final transcript/status.

Server Commands

# Start the server
autodial

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

autodial-0.2.0.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

autodial-0.2.0-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

Details for the file autodial-0.2.0.tar.gz.

File metadata

  • Download URL: autodial-0.2.0.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for autodial-0.2.0.tar.gz
Algorithm Hash digest
SHA256 5fd45168fb32f7a326dcd98d194ddedbdda8fbe0872cb51539fe50a6d63c0211
MD5 24aba3fd251f14e2e84a8eb918deb743
BLAKE2b-256 ed24da2c0f8e8854a8419ed6d10f5ca8f622906dec2801bbdbf26b562e32958c

See more details on using hashes here.

File details

Details for the file autodial-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: autodial-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 11.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for autodial-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fee501b0020ff2d542be7dd05057c3b8bbf3cc0228fa09443af5f3bcc39a1741
MD5 494c18e10b0ab4bf812e3136d682a18a
BLAKE2b-256 8171fe640b7873b25d8956545f67ae4e524cae3fd01add4fdd646c3f338d88aa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page