> For the complete documentation index, see [llms.txt](https://docs.conva.ai/slang/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.conva.ai/slang/assistant-components.md).

# Voice Assistant Components

The Slang Voice Assistant has the following components built into it.

## UI Components

### Trigger (the microphone button)

The microphone button that users of the app can use to start the Voice Assistant

### Onboarding (language selection and microphone permission) &#x20;

The UI components that get the app's end-users onboarded with the Voice Assistant.&#x20;

* A customizable coachmark to bring attention to the Trigger
* An onboarding wizard that does the following -&#x20;
  * Educate the user about what they will get out of the Assistant. Customers can completely customize this step with their own image
  * Select the language they want to use to interact with the Assistant
  * Ask the user to grant microphone permission

### Surface (the primary interactive component)

The visual component that overlays on top of the app and is what the users will be interacting with every time the Assistant gets triggered (either programmatically by the app or by the end-user themselves by clicking on the trigger). The surface consists of the following sub-components -&#x20;

* **The feedback section** - The area where the user's spoken text is shown as well as what the Assistant wants to ask
* **State and Progress indicators** - The bottom part of the surface is used to visually indicate what state the Assistant is in at any point. It could be speaking, listening, or processing your request.&#x20;
* **Hints** - The section of the screen which helps the end-users know what to speak at any point in time
* **Mute Button** - By default, the Assistant will speak out things to the user. It could be a greeting or a question (what we call a prompt) or a statement to inform the user about something.&#x20;
* **Language selection** - The end-user can change the Assistant language at any time by clicking on the language selection button

### Help

This section is used to train the user about what they can do with the Assistant. This gets shown automatically when the end-user repeatedly fails to speak a valid command with the Assistant or when the "?" icon is clicked inside the surface.&#x20;

## Backend components&#x20;

The Slang Assistant implicitly bundles the below technology components as part of its backend.&#x20;

* ASR
* NLP
* TTS
* Translation

As a developer, one does not need to think in terms of these deep tech components, as Slang will abstract it out for you in the most natural way.&#x20;

But where required, the Slang platform will expose knobs and configuration options to help improve the quality of the overall Voice Assistant experience specific to your app.&#x20;


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.conva.ai/slang/assistant-components.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
