azure-communication-callautomation
Microsoft Azure Communication Call Automation Client Library for Python
What it is and what it does
This package is the official Python SDK for Azure Communication Call Automation, a service that lets you programmatically initiate, manage, and record voice calls over PSTN and Azure Communication Services channels. It exposes two main interfaces: CallAutomationClient for starting calls and managing recordings, and CallConnectionClient for controlling an active call (e.g., transferring, playing media). The SDK relies on callback events sent to a URL you provide to track call state and respond to incoming calls; you handle these events in your own server-side logic.
The package targets developers building intelligent call workflows—IVR systems, call centers, or voice bots—where the call logic runs on your servers rather than in a client application. It integrates with Azure's identity and core libraries, so you authenticate using standard Azure credentials and work with Azure Communication identifiers for participants.
Use it for:
- Build an IVR system that answers calls, plays prompts, and routes based on user input.
- Record and archive voice calls for compliance or quality assurance in a call center.
- Automate outbound call campaigns that dial a list of numbers and play a message.
- Transfer incoming calls between agents or departments programmatically.
- Play media (audio files) to all participants in an active call.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides a Python SDK to build server-based call workflows, handle voice and PSTN calls, and manage call recording through Azure Communication Services.
Yes, if you need to build call automation workflows on Azure. The package is actively maintained, has no known vulnerabilities, uses a permissive MIT license, and has low install friction. It is production-stable and suitable for commercial use. Install only if you have an Azure subscription and a deployed Communication Services resource; the SDK alone is not useful without that infrastructure.
Install
azure-communication-callautomation on PyPI
pip
pip install azure-communication-callautomationuv
uv add azure-communication-callautomationpoetry
poetry add azure-communication-callautomationInstalling azure-communication-callautomation
Before you install
Low friction install with three lightweight runtime dependencies (isodate, azure-core, typing-extensions). Actively maintained with a recent release 51 days ago; repository shows ongoing development with no archival.
License in practice
MIT License permits commercial and private use with minimal restrictions; you may use, modify, and distribute the package provided you include the license notice.
Quickstart
pip install azure-communication-callautomation
from azure.identity import DefaultAzureCredential
from azure.communication.callautomation import CallAutomationClient
endpoint_url = 'your-endpoint'
credential = DefaultAzureCredential()
client = CallAutomationClient(endpoint_url, credential)
Requires Python 3.9 or later; you must have an Azure subscription and a deployed Communication Services resource with a valid endpoint URL.
Verify before relying
- Whether the package supports real-time bidirectional communication or is callback-only for events.
- Specific latency or throughput limits for call operations and recording.
- Cost model and pricing tier implications for production use.
Package facts
| License | MIT License (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — isodate, azure-core, typing-extensions |
| Maintenance | actively maintained — 51 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 213,684/month — #9,431 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: azure_communication_callautomation-1.6.0-py3-none-any.whl
Keywords: azure, azure sdk
Tags
More Internet packages
Botocore provides low-level, data-driven access…
permissive · top 100 on PyPI
aiobotocoreProvides an async client for AWS services using…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
filelockProvides a platform-independent file locking…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
googleapis-common-protosProvides common Protocol Buffer message…
permissive · top 100 on PyPI
azure-communication-roomsManages Azure Communication Services rooms for…
permissive · top 15,000 on PyPI
azure-communication-chatPython SDK for Azure Communication Services…
permissive · top 15,000 on PyPI
azure-communication-phonenumbersManages Azure Communication Services phone…
permissive · top 15,000 on PyPI
azure-communication-identityCreates and manages user identities and access…
permissive · top 15,000 on PyPI
bandwidth-sdkPython client library for Bandwidth's…
unclear · top 15,000 on PyPI
azure-mgmt-signalrManages Azure SignalR resources—creation,…
permissive · top 5,000 on PyPI
azure-mgmt-trafficmanagerProvides a Python client library to manage…
permissive · top 5,000 on PyPI
azure-mgmt-commerceProvides a Python client library for managing…
unclear · top 5,000 on PyPI
azure-mgmt-schedulerProvides Python bindings to manage Azure…
permissive · top 5,000 on PyPI
azure-communication-smsSends SMS messages through Azure Communication…
permissive · top 15,000 on PyPI