# Voxio > Voxio runs voice agents. The voxioagent package (2.0.0) puts a flow (one agent) on a web page as a voice button, talking avatar or chat window, runs headless voice sessions over WebRTC, and manages flows, sessions and usage from a server. Browser code uses the flow key (`flowKey`). Server code uses the account key (`secretKey`) and must never run in a browser. Every page below is plain Markdown; the whole set is in one file at https://voxio.in/docs/llms-full.txt. ## Get started - [Introduction](https://voxio.in/docs/introduction.md): Put a Voxio voice agent on your website, in your app or on the phone, and manage it from your own code. - [Quickstart](https://voxio.in/docs/quickstart.md): Create a flow and put a working voice button on a web page in five minutes. - [Keys and authentication](https://voxio.in/docs/authentication.md): Learn what your account key and your flow keys can do, and where each one is safe to use. - [Servers and environments](https://voxio.in/docs/environments.md): Choose which Voxio servers your code talks to: the standard deployment or the GPU deployment. ## Build your agent - [Workflows](https://voxio.in/docs/workflows.md): A workflow is the script your agent follows on every call: the steps, the order they run in, and the values they pass along. - [How a call runs](https://voxio.in/docs/workflows-running.md): The rules the engine follows: where it starts, what runs next, what runs side by side, and how it waits for the caller. - [Values and state](https://voxio.in/docs/workflows-values.md): How steps share information during a call, which values do something on their own, and what reaches your webhook. - [Patterns](https://voxio.in/docs/workflows-patterns.md): Workflow shapes that work well in production, with the JSON for each. - [Import, export and code](https://voxio.in/docs/workflows-share.md): Copy or download a workflow as JSON, start a flow from one, or manage workflows from your own server. - [Steps](https://voxio.in/docs/steps.md): The building blocks of a workflow: what each kind of step does and when to use it. - [Say](https://voxio.in/docs/steps-say.md): Speaks a line you write: greetings, confirmations, goodbyes. Can also speak what an AI decision wrote. - [Listen](https://voxio.in/docs/steps-listen.md): Waits until the caller finishes talking, then saves their words for the next step. - [Filler](https://voxio.in/docs/steps-filler.md): Plays a short “one moment…” so the caller isn’t left in silence while a slow step works. - [AI reply](https://voxio.in/docs/steps-ai-reply.md): The AI answers out loud, word by word, so the caller hears it sooner. Best for normal chat. - [AI decision](https://voxio.in/docs/steps-ai-decision.md): The AI thinks first and fills in fields (a reply, “end the call”…). Silent: follow it with Say or Branch. - [Branch](https://voxio.in/docs/steps-branch.md): Sends the call down a different path based on a value, like an AI decision’s yes or no. - [Guide on website](https://voxio.in/docs/steps-guide-on-website.md): Talks the caller through your website while scrolling and clicking it for them. - [AI settings](https://voxio.in/docs/steps-ai-settings.md): Settings shared by the AI steps: instructions, prompt templates, models and failover, what it reads and decides, memory and emotion. - [Voice](https://voxio.in/docs/voice.md): How the agent hears the caller (speech-to-text) and how it sounds (text-to-speech). - [Listening](https://voxio.in/docs/voice-listening.md): Speech-to-text: the providers that turn the caller’s voice into words, and how to choose one. - [Deepgram](https://voxio.in/docs/voice-listening-deepgram.md): Fast, accurate English and Indian English. Every listening setting for Deepgram, and how to set it. - [Soniox](https://voxio.in/docs/voice-listening-soniox.md): Strong on Hindi–English mixing. Every listening setting for Soniox, and how to set it. - [Sarvam](https://voxio.in/docs/voice-listening-sarvam.md): Built for Indian languages. Every listening setting for Sarvam, and how to set it. - [Speaking](https://voxio.in/docs/voice-speaking.md): Text-to-speech: the voices your agent can speak with, and how to choose one. - [Deepgram Aura](https://voxio.in/docs/voice-speaking-deepgram.md): Low-latency conversational voices. Every speaking setting for Deepgram Aura, and how to set it. - [Sarvam](https://voxio.in/docs/voice-speaking-sarvam.md): Natural Indian voices. Every speaking setting for Sarvam, and how to set it. - [ElevenLabs](https://voxio.in/docs/voice-speaking-elevenlabs.md): Expressive, cloneable voices. Every speaking setting for ElevenLabs, and how to set it. - [Google](https://voxio.in/docs/voice-speaking-google.md): Chirp 3 HD voices in many languages. Every speaking setting for Google, and how to set it. - [Resemble](https://voxio.in/docs/voice-speaking-resembleai.md): Custom cloned voices. Every speaking setting for Resemble, and how to set it. - [Emotion](https://voxio.in/docs/voice-emotion.md): Let the agent laugh, whisper or sound excited where it fits, with ElevenLabs v3. - [Turn-taking](https://voxio.in/docs/turn-taking.md): When the agent decides the caller has finished, how quickly it answers, and how it handles being talked over. - [Interruptions](https://voxio.in/docs/turn-taking-interruptions.md): Choose, per speaking step, whether the caller can cut the agent off, and when. - [When the caller goes quiet](https://voxio.in/docs/turn-taking-quiet.md): Nudge the caller when they stop talking, and decide how often. - [Avatar setup](https://voxio.in/docs/avatar-setup.md): Give a flow a talking face: upload faces, choose expressions and transitions, and pick lip-sync settings. - [Faces and expressions](https://voxio.in/docs/avatar-setup-faces.md): Expressions, when the agent uses each, and transitions between them. - [Lip-sync](https://voxio.in/docs/avatar-setup-lipsync.md): The lip-sync model and quality used to animate the face. ## Add to your site - [Script tag](https://voxio.in/docs/script-tag.md): Add an agent to any web page with one script tag and no build step. - [Voice button](https://voxio.in/docs/voice-button.md): Add a floating or inline button that starts a voice call with your agent. - [Talking avatar](https://voxio.in/docs/avatar.md): Show your agent as a lip-synced face, in a ready-made panel or in your own layout. - [Chat](https://voxio.in/docs/chat.md): Add a chat window with the same agent, for visitors who would rather type. - [React](https://voxio.in/docs/react.md): Use the widgets as React components, or build your own interface with the useVoxioSession hook. - [Customising widgets](https://voxio.in/docs/customising.md): Change the colours, placement, language, consent and triggers of any widget, and style it from your page. ## Build your own - [Headless sessions](https://voxio.in/docs/sessions.md): Run a voice call with your agent and draw the interface yourself, from typed events. - [Web actions](https://voxio.in/docs/web-actions.md): Let the agent fill in forms, click buttons and scroll your page while it talks. - [Errors](https://voxio.in/docs/errors.md): Find out what each error means in a browser session and on your server, and what to tell the visitor. ## Server - [Server SDK](https://voxio.in/docs/server.md): Set up voxioagent/server to manage flows and read sessions from your own backend. - [Flows](https://voxio.in/docs/flows.md): Create, read, update and delete your flows from code, and rotate their keys. - [Sessions and usage](https://voxio.in/docs/sessions-usage.md): Read a conversation’s transcript, recording and timings, and a flow’s usage over time. - [Webhooks](https://voxio.in/docs/webhooks.md): Receive each conversation on your server as it happens. - [Phone calls](https://voxio.in/docs/phone-calls.md): Have your agent call a phone number now or at a set time, and answer calls to your numbers.