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 does this skill do, and when should you 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.
What are this skill's strengths and limitations?
- 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 do you install this skill?
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 do you use this skill?
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.