hooks faz algo em um momento da chamada, até 10 regras: on: "silence" (quem liga não disse nada por seconds, 3–600, desde que o agente terminou; uma vez até voltar a falar), on: "time_elapsed" (seconds depois do início da chamada, 10–3600) ou on: "call_ending". Cada regra faz (do) até 3 entre {type: "say", text}, {type: "transfer", destination?}, {type: "end_call", text?} e {type: "tool", name, args?}; uma regra para o fim da chamada só executa funções. Uma chamada encerrada por uma regra tem ended_reason rule_ended.
Nas chamadas telefônicas, as teclas que quem liga pressiona chegam ao agente como resposta: uma entrada termina com # ou com uma pausa de dois segundos. Nas chamadas de saída, o agente também pode pressionar teclas para atravessar o menu telefônico de uma empresa.
transfer_number é o número principal do agente para passar quem liga a uma pessoa, e o número chamado quando o workspace fica sem créditos. transfer_destinations acrescenta números com nome, cada um com uma observação sobre quando usá-lo («Financeiro: dúvidas sobre faturas e reembolsos»), e o agente escolhe. Com transfer_briefing ativado, o agente escreve um breve resumo ao transferir; quem atende o ouve, com uma voz da EvaSay e no idioma de resumo do agente, antes de quem liga ser completado. O ended_reason da chamada passa então a ser transferred.
Com handoffs, um agente pode passar uma chamada a outro agente publicado do seu workspace, por exemplo uma recepção que passa um agendamento a um agente de agendamentos. O agente escolhe conforme when. O outro agente assume a mesma chamada com tudo o que foi dito até então, e fala com suas próprias instruções, voz, conhecimento, ferramentas e transferências. A chamada continua listada, analisada e cobrada no primeiro agente; a transcrição registra cada passagem.
Numa chamada telefônica pela sua própria operadora, o agente pode enviar por SMS o que mostraria como cartões numa chamada web: até três itens (um título, uma linha, um link) num SMS, a partir do número da chamada. Ele pergunta antes a quem liga. Ative com sms em send_to_caller; os sites e os cartões prontos são os mesmos dos cartões. Sua operadora cobra pelos SMS.
"send_to_caller": {
"enabled": true,
"allowed_hosts": ["shop.example.com"],
"sms": { "enabled": true, "signature": "Acme Salon", "countries": ["CA"] }
}
signature abre cada SMS (o nome do agente se vazio). Os SMS vão para números do país do seu número e dos countries que você adicionar.call.message_sent (channel é sms, com seu status), e o que aconteceu com ele como call.message_status (delivered, failed com um reason, ou unconfirmed). GET /calls/{id} lista os texts da chamada.