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.3.0.tar.gz (10.5 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.3.0-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for autodial-0.3.0.tar.gz
Algorithm Hash digest
SHA256 831d6e66016584e84b9250fdbec6df9d04869c749c7708955546212b9adb5595
MD5 70867b2a7c16d9dd4314925ffdde0db9
BLAKE2b-256 d0d0dd1947773a548c481114cb31bc308778952e0f63210a24551e882c5777ba

See more details on using hashes here.

File details

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

File metadata

  • Download URL: autodial-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 11.7 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 277fdbb220a174ad946cc63ed1919af1c181a15e479a139480df672bbd0a86ab
MD5 fc3c116214df502e0d44b3aab12f6b58
BLAKE2b-256 6cb56a4ae018395a2f44c16b599c6962f16b6515bc6aabb2d1827db3e734697b

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