Pular para o conteúdo
Skillpedia
Automações48 mil · #2295

azure-communication-callautomation-java

Ajuda seu agente a criar fluxos de automação de chamadas. Ele pode gerenciar sistemas de URA, roteamento e interações com IA.

O que ela faz

Esta ferramenta permite que você crie sistemas de atendimento telefônico automatizados. Você pode fazer chamadas, atender chamadas recebidas, reproduzir áudio, reconhecer o que as pessoas dizem ou digitam e gravar chamadas.

Quando usar

  • ✓Criar um sistema de URA (Unidade de Resposta Audível) para sua empresa.
  • ✓Automatizar o envio de notificações por voz para clientes.
  • ✓Gravar chamadas de atendimento ao cliente para controle de qualidade.

Exemplo do que pedir para a IA

“Crie um sistema de atendimento telefônico que cumprimenta o cliente, pergunta o motivo do contato e o transfere para o departamento correto.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/azure-communication-callautomation-java/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/azure-communication-callautomation-java/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Você escreve o código que usa esta ferramenta para definir o fluxo da chamada. A ferramenta cuida de fazer as chamadas, ouvir as respostas e executar as ações que você programou.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill azure-communication-callautomation-java

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/azure-communication-callautomation-java/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Automação de Chamadas do Azure Communication (Java)

Crie fluxos de trabalho de automação de chamadas no lado do servidor, incluindo sistemas de URA (Unidade de Resposta Audível), roteamento de chamadas, gravação e interações com inteligência artificial.

Instalação

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-communication-callautomation</artifactId>
    <version>1.6.0</version>
</dependency>

Criação do Cliente

import com.azure.communication.callautomation.CallAutomationClient;
import com.azure.communication.callautomation.CallAutomationClientBuilder;
import com.azure.identity.DefaultAzureCredentialBuilder;

// With DefaultAzureCredential
CallAutomationClient client = new CallAutomationClientBuilder()
    .endpoint("https://<resource>.communication.azure.com")
    .credential(new DefaultAzureCredentialBuilder().build())
    .buildClient();

// With connection string
CallAutomationClient client = new CallAutomationClientBuilder()
    .connectionString("<connection-string>")
    .buildClient();

Conceitos Chave

Classe Propósito
CallAutomationClient Fazer chamadas, atender/rejeitar chamadas recebidas, redirecionar chamadas
CallConnection Ações em chamadas estabelecidas (adicionar participantes, encerrar)
CallMedia Operações de mídia (reproduzir áudio, reconhecer DTMF/voz)
CallRecording Iniciar/parar/pausar gravação
CallAutomationEventParser Analisar eventos de webhook do ACS

Criar Chamada de Saída

import com.azure.communication.callautomation.models.*;
import com.azure.communication.common.CommunicationUserIdentifier;
import com.azure.communication.common.PhoneNumberIdentifier;

// Call to PSTN number
PhoneNumberIdentifier target = new PhoneNumberIdentifier("+14255551234");
PhoneNumberIdentifier caller = new PhoneNumberIdentifier("+14255550100");

CreateCallOptions options = new CreateCallOptions(
    new CommunicationUserIdentifier("<user-id>"),  // Source
    List.of(target))                                // Targets
    .setSourceCallerId(caller)
    .setCallbackUrl("https://your-app.com/api/callbacks");

CreateCallResult result = client.createCall(options);
String callConnectionId = result.getCallConnectionProperties().getCallConnectionId();

Atender Chamada Recebida

// From Event Grid webhook - IncomingCall event
String incomingCallContext = "<incoming-call-context-from-event>";

AnswerCallOptions options = new AnswerCallOptions(
    incomingCallContext,
    "https://your-app.com/api/callbacks");

AnswerCallResult result = client.answerCall(options);
CallConnection callConnection = result.getCallConnection();

Reproduzir Áudio (Texto para Voz)

CallConnection callConnection = client.getCallConnection(callConnectionId);
CallMedia callMedia = callConnection.getCallMedia();

// Play text-to-speech
TextSource textSource = new TextSource()
    .setText("Welcome to Contoso. Press 1 for sales, 2 for support.")
    .setVoiceName("en-US-JennyNeural");

PlayOptions playOptions = new PlayOptions(
    List.of(textSource),
    List.of(new CommunicationUserIdentifier("<target-user>")));

callMedia.play(playOptions);

// Play audio file
FileSource fileSource = new FileSource()
    .setUrl("https://storage.blob.core.windows.net/audio/greeting.wav");

callMedia.play(new PlayOptions(List.of(fileSource), List.of(target)));

Reconhecer Entrada DTMF

// Recognize DTMF tones
DtmfTone stopTones = DtmfTone.POUND;

CallMediaRecognizeDtmfOptions recognizeOptions = new CallMediaRecognizeDtmfOptions(
    new CommunicationUserIdentifier("<target-user>"),
    5)  // Max tones to collect
    .setInterToneTimeout(Duration.ofSeconds(5))
    .setStopTones(List.of(stopTones))
    .setInitialSilenceTimeout(Duration.ofSeconds(15))
    .setPlayPrompt(new TextSource().setText("Enter your account number followed by pound."));

callMedia.startRecognizing(recognizeOptions);

Reconhecer Voz

// Speech recognition with AI
CallMediaRecognizeSpeechOptions speechOptions = new CallMediaRecognizeSpeechOptions(
    new CommunicationUserIdentifier("<target-user>"))
    .setEndSilenceTimeout(Duration.ofSeconds(2))
    .setSpeechLanguage("en-US")
    .setPlayPrompt(new TextSource().setText("How can I help you today?"));

callMedia.startRecognizing(speechOptions);

Gravação de Chamada

CallRecording callRecording = client.getCallRecording();

// Iniciar gravação
StartRecordingOptions recordingOptions = new StartRecordingOptions(
    new ServerCallLocator("<server-call-id>"))

…
Perguntas frequentes

O que é URA?

URA significa Unidade de Resposta Audível. É um sistema que interage com humanos por meio de voz, tons de teclado ou ambos.

Como a IA é usada aqui?

A IA pode ser usada para entender o que as pessoas dizem durante uma chamada, permitindo interações mais naturais.

Preciso saber programar para usar isso?

Sim, esta ferramenta é para desenvolvedores que escrevem código para criar esses sistemas de automação de chamadas.

Detalhes

Descrição original do autor

Build server-side call automation workflows including IVR systems, call routing, recording, and AI-powered interactions.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#2295
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas