Awesomate docs v0.27.0

Guides

Talk by voice

Let the people signed in to your app talk to one of your account's agents. It greets them by name and knows the recent records they can see, and nothing more.

A Talk button in your app opens a voice call with one of your account's agents. The agent greets the person by name, answers from your Knowledge, and, when the app's assistant is set up, knows the 10 most recent conversations the person can see in the app.

Voice needs Agents in your app on the account (Support Plus and above) and an app (Pro and above).

1. Set it up

  1. An agent. In the hub, Agents: make or pick one, switch on In your app, and make your changes live.
  2. List your app's address on the agent, under Where your app runs. The talk widget only appears on a listed address.
  3. Pick it for the app. On the app's page (Website, Apps, then the app), choose the agent under Talk by voice. Or ask Claude Code: awesomate_crm_apps, update with voice_agent_id.

2. Add the button

Load the hub's widget, then mount it with the agent the app names:

<script src="https://hub.awesomate.ai/widget/v1/agent-widget.js" defer></script>
<div id="talk"></div>
const agentId = await app.voiceAgent(); // null when the app has no voice agent
if (agentId) {
  await AwesomateAgent.mount({
    agentId,
    session: () => app.voiceSession(),
    target: '#talk',
    label: 'Talk to Bree',
  });
}

The page never chooses the agent. voiceSession() asks the hub for a call with the agent the app names, as the signed-in person, and the widget handles the microphone, the call and the captions.

What the agent knows

  • Who they are: their first name, from the contact linked to them.
  • Their recent records: the 10 newest records of the kind the app's assistant answers in that this person can read, and only the fields marked readable by AI. A customer gets their own jobs; staff get what their rule allows. With no assistant set up, the agent knows only their name.
  • Your Knowledge: the same answers as any of your agent's channels.

The brief is read when the call connects, as the person, and kept only for the call. If the app is switched to another agent before the call connects, the agent gets no brief.

Limits

One call up to 10 minutes
One person 30 minutes a day
Starting calls 20 per 10 minutes per person

When a call is refused

voiceSession() throws an AwesomateError. Its serverCode says why and its personMessage is a sentence for the person, which the widget shows for you:

serverCode Means
no_voice_agent The app has no voice agent picked.
plan_required The account's plan does not include Agents in your app.
consent_required The account's Knowledge is not allowed to use its content.
person_daily This person has used today's voice time.
agent_daily The agent has used today's voice time.