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
AutodialClientfor programmatic orchestration. - Webhook Callbacks: Automatic POST notification to
callback_urlupon 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 ifmessageis omitted.callback_url(str): Endpoint for final transcript/status.
Server Commands
# Start the server
autodial
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5fd45168fb32f7a326dcd98d194ddedbdda8fbe0872cb51539fe50a6d63c0211
|
|
| MD5 |
24aba3fd251f14e2e84a8eb918deb743
|
|
| BLAKE2b-256 |
ed24da2c0f8e8854a8419ed6d10f5ca8f622906dec2801bbdbf26b562e32958c
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fee501b0020ff2d542be7dd05057c3b8bbf3cc0228fa09443af5f3bcc39a1741
|
|
| MD5 |
494c18e10b0ab4bf812e3136d682a18a
|
|
| BLAKE2b-256 |
8171fe640b7873b25d8956545f67ae4e524cae3fd01add4fdd646c3f338d88aa
|