Azure Call Automation for Java
Build Java workflows for IVR, call routing, recording, and voice-driven interactions.
The skill offers DefaultAzureCredential, managed identity, and connection-string examples, showing some credential-choice guidance. It does not explain least privilege, webhook verification, sensitivity of call/recording/speech data, external call costs and user confirmation, rollback, or data-flow boundaries, so points are deducted.
SKILL.md and references/examples.md specify different dependency versions, 1.6.0 and 1.5.2, and show notable inconsistencies in client APIs, constructors, and event result types. Basic HTTP error handling exists, but there are no skill-specific tests or static reproducibility evidence; the score is therefore constrained by the static ceiling and further reduced.
The audience and trigger phrases are clear, covering IVR, DTMF, recording, transfer, and Java workflows. However, non-fit boundaries, input/output contracts, permission and infrastructure prerequisites are under-specified, with no Chinese examples or mainland-China reachability and regional availability discussion, so points are deducted.
The skill has a name, description, MIT license, author and version metadata, installation notes, layered examples, and an error-code table. It lacks dependency consistency, a changelog, explicit maintenance/update ownership, FAQs, known limitations, and security-configuration guidance, so points are deducted.
The examples cover the main Call Automation operations and could provide a useful starting point. API inconsistencies, missing complete webhook validation, and limited production deployment guidance mean substantial manual checking may be required; no execution evidence is supplied, so the score remains moderate.
The supplied files contain auditable code, dependency coordinates, and repository-level CI/test material. That CI and test material does not demonstrate this skill's key paths, and there are no skill-specific tests, third-party execution results, or corroborating sources; static evidence therefore supports only a limited score.
- Before adoption, align and verify the SDK version and all sample APIs, especially CreateCallOptions, PlayOptions, RecognizeCompleted result types, and recording download interfaces.
- For production use, add Entra/RBAC least-privilege guidance, webhook signature or origin validation, connection-string secrecy, recording/transcription consent and retention policies, and confirmation plus recovery for dialing, recording, and transfer side effects.
- Add skill-specific compile/integration tests and document mainland-China regional, network, and speech-service availability; this review did not execute code or perform network verification.
What it does & when to use it
This skill is for developers using the Azure Communication Services Call Automation Java SDK. It covers outbound calls, answering incoming calls, audio playback, text-to-speech, DTMF and speech recognition, recording, participant management, transfers, and webhook event handling. It includes the Maven dependency, authentication patterns, key classes, environment variables, and Java examples. It fits server-side Java applications that need programmable call flows, but it does not document deployment architecture, pricing, or skill-specific test results.
Shows how to add com.azure:azure-communication-callautomation:1.6.0, create a client with DefaultAzureCredential, managed identity, or a connection string, create and answer calls, play text or audio files, collect DTMF and speech input, start/pause/resume/stop and download recordings, add participants, transfer and hang up calls, parse webhook events, and handle HTTP 400 and 404 errors.
- A Java developer building a customer-service IVR can use the DTMF and text-to-speech examples for menu prompts and input collection.
- A backend team implementing automated inbound call handling can use the answer-call, speech-recognition, and webhook patterns.
- A communications application that needs PSTN outreach, participant addition, or blind transfer can adapt the call creation and transfer examples.
- An operations or compliance workflow that records calls can use the recording controls and post-event download example.
Pros & cons
- Covers the main call-automation operations, including IVR, DTMF, speech recognition, recording, and transfer.
- Shows both Entra ID credential patterns and connection-string authentication.
- Includes the Maven dependency, environment variables, key classes, and webhook event examples.
- The source provides no skill-specific test results or test-suite coverage evidence.
- The application requires an Azure Communication Services resource, callback URL, and authentication configuration; provisioning and deployment are out of scope.
- Pricing, detailed permission setup, and production security or compliance guidance are not provided.
How to install
Add the repository to a supported Agent Skills client with npx skills add microsoft/skills. Select the required skill in the wizard; the README says skills are installed in the selected agent's directory, such as .github/skills/ for GitHub Copilot. In the Java application, add Maven dependency com.azure:azure-communication-callautomation:1.6.0.
How to use
After installing the skill, prompt the coding agent with requests such as “Build an Azure Communication Services IVR in Java that plays a prompt and recognizes DTMF” or “Implement Java call recording and webhook event handling.” Use the provided client creation, call operation, event parsing, and error-handling examples as the implementation pattern. Azure resource provisioning and application deployment are not documented here.