> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usefini.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Fini on voice

> Run your Fini agent on inbound phone support, configured from Voice in the agent sidebar, sharing knowledge, rules, Inbox, and the AI Steps trace with chat and email.

Fini (usefini.com) runs as a voice agent on inbound phone support: customers call a phone number and reach the same AI agent that answers your chat and email, using the same knowledge, rules, and AI Steps trace. You configure it from **Voice** in the agent sidebar, test it in the browser, and coordinate phone-number provisioning and inbound-call routing with your Fini contact.

Voice runs in real time, with under 100 ms latency (as stated on [usefini.com](https://www.usefini.com/)). Calls are transcribed, the agent reasons over your knowledge and rules like on any other surface, and it escalates to your team when needed, as a live transfer to a phone queue or as a ticket. Voice conversations appear in [Inbox](/en/testing/inbox) alongside chat and email.

## How a call flows

```mermaid theme={null}
---
title: A voice conversation in Fini
---
flowchart LR
    CALLER["Caller"]
    NUMBER["Phone number<br/>(provisioned with your Fini contact)"]
    FINI(("Fini<br/>voice agent"))
    KNOW["Same knowledge,<br/>prompts, and Rulebook"]
    INBOX["Inbox<br/>AI Steps trace per turn"]
    HUMAN["Human queue or ticket<br/>(transcript handed over)"]

    CALLER --> NUMBER
    NUMBER -->|"call transcribed"| FINI
    KNOW --> FINI
    FINI -->|"spoken reply"| CALLER
    FINI --> INBOX
    FINI -.->|"escalate"| HUMAN

    classDef source fill:#F7F7F7,color:#131415,stroke:#E8E8E8
    classDef agent fill:#131415,color:#FFFFFF,stroke:#131415,stroke-width:3px
    classDef surface fill:#FFFFFF,color:#131415,stroke:#131415
    classDef human fill:#C3EE5E,color:#131415,stroke:#131415,stroke-width:2px

    class CALLER,KNOW source
    class FINI agent
    class NUMBER,INBOX surface
    class HUMAN human
```

Turn by turn, a call looks like this:

```mermaid theme={null}
sequenceDiagram
    actor C as Caller
    participant N as Phone number
    participant F as Fini voice agent
    participant I as Inbox
    participant Q as Human queue

    C->>N: Calls your support number
    N->>F: Inbound call routed to the agent
    F->>C: Speaks the Greeting
    loop Each turn
        C->>F: Speaks
        Note over F: Call transcribed, agent reasons over<br/>the same knowledge, prompts and Rulebook
        F->>I: AI Steps trace for the turn
        F->>C: Spoken reply
    end
    opt Agent cannot resolve, or the caller asks for a person
        F->>Q: Live transfer or ticket, with the transcript
    end
```

Voice is not a separate product with its own brain. It is one more deployment surface for an agent you've already built, which is why the work you put into knowledge and rules for chat and email carries straight over to the phone.

## What voice shares with your other channels

| Layer | On voice |
| - | - |
| **Knowledge** | The agent answers from the same [knowledge sources](/en/knowledge/sources) and [articles](/en/knowledge/articles) it uses everywhere else. Update an article once and every channel, voice included, reflects it. |
| **Behavior** | The agent reasons over your [Prompts](/en/configuration/prompts) and [Rulebook](/en/automations/rulebook) as on any other surface. The voice page adds its own **Greeting** and **Agent prompt** fields (see below). |
| **Inbox** | Voice conversations show up in [Inbox](/en/testing/inbox) alongside chat and email. |
| **AI Steps trace** | The same per-turn [AI Steps trace](/en/automations/rulebook#observability-the-ai-steps-trace) is available for every voice turn: planning, executed attributes and rules, and the generated answer. |
| **Analytics** | [Analytics](/en/analytics) filters by **Channel**, with voice listed alongside email and chat. |
| **Escalation** | When the agent can't resolve a call, it escalates as a live transfer to your phone queue or as a ticket, with the transcript handed over. |

## Before you start

You'll need:

* An **admin role** in the Fini workspace. Voice settings are managed by workspace admins.
* At least one **agent** already created and trained. If you haven't created one yet, do that first from [Agent home](/en/configuration/agent-home).
* A conversation with **your Fini contact** about the phone number and inbound-call routing. Configuring an agent or starting a browser test does not provision a phone number.

## Set up voice

Voice is managed from **Voice** in the agent sidebar, not from a Deploy integration card.

<Steps>
  <Step title="Open Voice for the agent">
    Select the agent, then open **Voice** in the agent sidebar.
  </Step>

  <Step title="Connect voice">
    If voice isn't configured for this agent yet, click **Connect voice**.
  </Step>

  <Step title="Turn on the voice agent">
    Enable the **Voice agent** toggle. The voice settings become editable.
  </Step>

  <Step title="Configure how the agent sounds and opens">
    Set **Voice**, **Speaking pace**, **Delivery**, **Greeting**, and **Agent prompt**. Use the preview button to hear the selected voice.
  </Step>

  <Step title="Save">
    Click **Save** to apply your changes.
  </Step>
</Steps>

<Note>
  The Voice page no longer has an **Agent sync** panel or a **Sync now** action. Saving is the only step needed to apply settings.
</Note>

### Voice settings

| Setting | What you set |
| - | - |
| **Voice** | The voice the agent speaks with. Use the preview button to hear it before saving. |
| **Speaking pace** | How fast the agent speaks. |
| **Delivery** | The delivery style for the selected voice. |
| **Greeting** | What the agent says when it picks up the call. |
| **Agent prompt** | Voice-specific instructions for the agent. |

Write the **Greeting** to be heard, not read: one short sentence that says who the caller has reached and invites them to describe the problem. Keep links, tables, and long lists out of voice instructions, since callers can't click or scan them.

## Test in the browser

When browser testing is available and the voice agent is enabled:

<Steps>
  <Step title="Save pending changes">
    Click **Save** so the test uses your current settings.
  </Step>

  <Step title="Click Start test">
    A **Voice test call** dialog opens with a live transcript and call status. Speak into your microphone and follow your messages and the agent's replies in the dialog. While the call is connecting, click **Cancel** to stop the attempt.
  </Step>

  <Step title="Mute or unmute as needed">
    Use **Mute microphone** or **Unmute microphone** during the call.
  </Step>

  <Step title="Click End call">
    Finish the call, then review the transcript before you close the dialog. Closing the dialog ends an active call and clears the displayed transcript.
  </Step>
</Steps>

If testing is unavailable, the page disables **Start test**. Contact your Fini team if setup or testing fails.

Test the same way you would on chat: ask a question the agent should answer from knowledge, run a workflow your Rulebook handles, then ask for a person to check the escalation path. Afterwards, open the conversation in [Inbox](/en/testing/inbox) and read the AI Steps trace for each turn.

## Phone numbers and call routing

Phone-number provisioning and inbound-call routing are coordinated with your Fini contact. They aren't self-serve in the dashboard today.

You have three ways to bring calls to the agent:

* **Port an existing number**, so customers keep calling the support number they already know.
* **Forward calls** from your current phone system to the agent.
* **Connect over SIP**, if your contact center platform routes calls that way.

## Escalation to a human

When the agent can't resolve a call, by policy, by confidence, or because the caller asked for a person, it escalates, the same way escalation works on every other surface. On a call, escalation can be a live transfer to your human phone queue or a ticket, and in both cases the transcript is handed over so the person who picks it up doesn't start from zero. The escalation topics you set in [Controlling when the agent escalates](/en/configuration/prompts#controlling-when-the-agent-escalates) are part of the agent's behavior on voice too.

## Reviewing calls

Voice conversations appear in [Inbox](/en/testing/inbox) alongside chat and email, with the AI Steps trace available for every turn. Use it the same way: find a call where the agent got it wrong, open AI Steps on the bad turn, fix the underlying prompt, knowledge, or rule, and, if the conversation is eligible, turn it into a [Test Suite](/en/testing/test-suite) test case with criteria for the expected behavior.

Calls are transcribed, and transcripts follow the retention period you set for your workspace; deleting data removes it. Don't ask callers for full card numbers, CVVs or health details the call doesn't need, and route card actions through your payment provider with [Actions](/en/api-reference/actions). See [Data handling](/en/security/data-handling).

## Languages, latency, and billing on voice

| Topic | On voice |
| - | - |
| **Latency** | Voice runs in real time, with under 100 ms latency (as stated on [usefini.com](https://www.usefini.com/)). |
| **Languages** | Voice supports multiple languages. Fini supports 130+ languages across its channels; see [Supported languages](/en/supported-languages). |
| **Escalation** | On escalation, the transcript is handed over with the call or ticket. |
| **Billing** | Voice rates are listed on the [pricing page](https://www.usefini.com/pricing). |

## Pause or disconnect voice

To pause voice without losing your configuration, turn off **Voice agent** and click **Save**.

To remove the voice connection entirely, click **Disconnect** in the **Disconnect voice** section, then confirm **Disconnect** in the dialog. Fini ends any active browser test and returns the page to the unconfigured state.

<Warning>
  Disconnecting removes the voice agent and its voice, greeting, and prompt settings. Reconnecting starts fresh. To pause voice without removing the configuration, turn off **Voice agent** and click **Save** instead.
</Warning>

The states of the Voice page, and the actions that move between them:

```mermaid theme={null}
stateDiagram-v2
    direction LR
    state "Not configured" as Unconfigured
    state "Configured" as Configured {
        state "Voice agent off" as Off
        state "Voice agent on" as On
        state "Browser test running" as Testing
        [*] --> Off
        Off --> On: Turn on Voice agent, Save
        On --> Off: Turn off Voice agent, Save
        On --> Testing: Start test
        Testing --> On: End call or close dialog
    }
    [*] --> Unconfigured
    Unconfigured --> Configured: Connect voice
    Configured --> Unconfigured: Disconnect, settings removed
```

Turning the toggle off keeps your settings. **Disconnect** ends any active browser test and removes them. None of these states provisions a phone number: that is coordinated with your Fini contact.

## Troubleshooting

<AccordionGroup>
  <Accordion title="The page says This bot is not available here" icon="circle-question">
    Select an agent in your workspace and check that you have an admin role.
  </Accordion>

  <Accordion title="The page says Voice settings unavailable" icon="triangle-exclamation">
    Click **Retry**. If it persists, contact your Fini team.
  </Accordion>

  <Accordion title="Start test is disabled" icon="microphone-slash">
    Browser testing is unavailable for this agent or workspace, or the voice agent isn't enabled. Turn on **Voice agent**, click **Save**, and try again. If **Start test** stays disabled, contact your Fini team.
  </Accordion>

  <Accordion title="The agent is configured but customers can't call it" icon="phone-slash">
    Configuring an agent or starting a browser test does not provision a phone number. Check with your Fini contact that a number is provisioned and inbound calls are routed to this agent.
  </Accordion>

  <Accordion title="Voice answers are wrong or outdated" icon="book-open">
    Voice uses the same knowledge as your other channels. Open the call in [Inbox](/en/testing/inbox), check the AI Steps trace for which sources were used, and fix the article or rule at the source.
  </Accordion>
</AccordionGroup>

## Related

<CardGroup cols={2}>
  <Card title="Channel overview" icon="cloud-arrow-up" href="/en/deploy/overview">
    Every surface Fini deploys to, voice included.
  </Card>

  <Card title="Inbox" icon="inbox" href="/en/testing/inbox">
    Review voice conversations and their AI Steps trace.
  </Card>

  <Card title="Prompts" icon="message" href="/en/configuration/prompts">
    Tone, guidelines, and escalation topics the voice agent shares.
  </Card>

  <Card title="Fini on top of your helpdesk" icon="layer-group" href="/en/deploy/on-top-of-your-helpdesk">
    How Fini runs inside your existing helpdesk for chat and email.
  </Card>
</CardGroup>


## Related topics

- [Fini FAQ](/en/faq.md)
- [What is Fini](/en/what-is-fini.md)
- [Migrating from a legacy chatbot or IVR to an AI agent](/en/playbooks/legacy-bot-migration.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.