# Create account connection Source: https://docs.fluents.ai/api-reference/account_connections/create-account-connection /openapi.yml post /v1/account_connections/create # Get account connection Source: https://docs.fluents.ai/api-reference/account_connections/get-account-connection /openapi.yml get /v1/account_connections # List account connections Source: https://docs.fluents.ai/api-reference/account_connections/list-account-connections /openapi.yml get /v1/account_connections/list # Update account connection Source: https://docs.fluents.ai/api-reference/account_connections/update-account-connection /openapi.yml post /v1/account_connections/update # Create action Source: https://docs.fluents.ai/api-reference/actions/create-action /openapi.yml post /v1/actions/create # Get action Source: https://docs.fluents.ai/api-reference/actions/get-action /openapi.yml get /v1/actions # List actions Source: https://docs.fluents.ai/api-reference/actions/list-actions /openapi.yml get /v1/actions/list # Update action Source: https://docs.fluents.ai/api-reference/actions/update-action /openapi.yml post /v1/actions/update # Create agent Source: https://docs.fluents.ai/api-reference/agents/create-agent /openapi.yml post /v1/agents/create # Get agent Source: https://docs.fluents.ai/api-reference/agents/get-agent /openapi.yml get /v1/agents # List agents Source: https://docs.fluents.ai/api-reference/agents/list-agents /openapi.yml get /v1/agents/list # Update agent Source: https://docs.fluents.ai/api-reference/agents/update-agent /openapi.yml post /v1/agents/update # Create call Source: https://docs.fluents.ai/api-reference/calls/create-call /openapi.yml post /v1/calls/create # End call Source: https://docs.fluents.ai/api-reference/calls/end-call /openapi.yml post /v1/calls/end # Create call feedback Source: https://docs.fluents.ai/api-reference/calls/feedbacks/create-call-feedback /openapi.yml post /v1/calls/{call_id}/feedbacks # Delete call feedback Source: https://docs.fluents.ai/api-reference/calls/feedbacks/delete-call-feedback /openapi.yml delete /v1/calls/{call_id}/feedbacks/{id} # Get call feedback Source: https://docs.fluents.ai/api-reference/calls/feedbacks/get-call-feedback /openapi.yml get /v1/calls/{call_id}/feedbacks/{id} # List call feedbacks Source: https://docs.fluents.ai/api-reference/calls/feedbacks/list-call-feedbacks /openapi.yml get /v1/calls/{call_id}/feedbacks # Update call feedback Source: https://docs.fluents.ai/api-reference/calls/feedbacks/update-call-feedback /openapi.yml patch /v1/calls/{call_id}/feedbacks/{id} # Get call Source: https://docs.fluents.ai/api-reference/calls/get-call /openapi.yml get /v1/calls # Get call recording Source: https://docs.fluents.ai/api-reference/calls/get-call-recording /openapi.yml get /v1/calls/{id}/recording_url # Get recording Source: https://docs.fluents.ai/api-reference/calls/get-recording /openapi.yml get /v1/calls/recording # List calls Source: https://docs.fluents.ai/api-reference/calls/list-calls /openapi.yml get /v1/calls/list # Add multiple phone numbers to DNC list Source: https://docs.fluents.ai/api-reference/dnc_numbers/bulk-add-dnc-numbers /openapi.yml post /v1/dnc_numbers/bulk Add multiple phone numbers to the Do Not Call list for a specific user in a single request. Maximum 1000 phone numbers per request. # Add a phone number to DNC list Source: https://docs.fluents.ai/api-reference/dnc_numbers/create-dnc-number /openapi.yml post /v1/dnc_numbers/create Add a phone number to the Do Not Call list for a specific user. # Remove a phone number from DNC list Source: https://docs.fluents.ai/api-reference/dnc_numbers/delete-dnc-number /openapi.yml delete /v1/dnc_numbers/{id} Remove a phone number from the Do Not Call list for a specific user. # Get DNC numbers Source: https://docs.fluents.ai/api-reference/dnc_numbers/list-dnc-numbers /openapi.yml get /v1/dnc_numbers/list Retrieve DNC numbers with filtering by type (global or user-specific) and pagination. # Create knowledge base Source: https://docs.fluents.ai/api-reference/knowledge_bases/create-knowledge-base /openapi.yml post /v1/knowledge_bases # Delete knowledge base Source: https://docs.fluents.ai/api-reference/knowledge_bases/delete-knowledge-base /openapi.yml delete /v1/knowledge_bases/{id} # Delete knowledge base file Source: https://docs.fluents.ai/api-reference/knowledge_bases/delete-knowledge-base-file /openapi.yml delete /v1/knowledge_bases/{kbId}/files/{fileId} # Get knowledge base Source: https://docs.fluents.ai/api-reference/knowledge_bases/get-knowledge-base /openapi.yml get /v1/knowledge_bases/{id} # Get knowledge base file Source: https://docs.fluents.ai/api-reference/knowledge_bases/get-knowledge-base-file /openapi.yml get /v1/knowledge_bases/{kbId}/files/{fileId} # List knowledge base files Source: https://docs.fluents.ai/api-reference/knowledge_bases/list-knowledge-base-files /openapi.yml get /v1/knowledge_bases/{kbId}/files # List knowledge bases Source: https://docs.fluents.ai/api-reference/knowledge_bases/list-knowledge-bases /openapi.yml get /v1/knowledge_bases # Upload knowledge base file Source: https://docs.fluents.ai/api-reference/knowledge_bases/upload-knowledge-base-file /openapi.yml post /v1/knowledge_bases/{kbId}/files # Create message Source: https://docs.fluents.ai/api-reference/messages/create-message /openapi.yml post /v1/messages # List messages Source: https://docs.fluents.ai/api-reference/messages/list-messages /openapi.yml get /v1/messages # Activate number Source: https://docs.fluents.ai/api-reference/numbers/activate-number /openapi.yml post /v1/numbers/activate # Buy number Source: https://docs.fluents.ai/api-reference/numbers/buy-number /openapi.yml post /v1/numbers/buy # Cancel number Source: https://docs.fluents.ai/api-reference/numbers/cancel-number /openapi.yml post /v1/numbers/cancel # Detach number Source: https://docs.fluents.ai/api-reference/numbers/detach-number /openapi.yml post /v1/numbers/detach # Get number Source: https://docs.fluents.ai/api-reference/numbers/get-number /openapi.yml get /v1/numbers # Get number tags Source: https://docs.fluents.ai/api-reference/numbers/get-number-tags /openapi.yml get /v1/numbers/tags # Link number Source: https://docs.fluents.ai/api-reference/numbers/link-number /openapi.yml post /v1/numbers/link # List available numbers Source: https://docs.fluents.ai/api-reference/numbers/list-available-numbers /openapi.yml get /v1/numbers/available # List numbers Source: https://docs.fluents.ai/api-reference/numbers/list-numbers /openapi.yml get /v1/numbers/list # Update number Source: https://docs.fluents.ai/api-reference/numbers/update-number /openapi.yml post /v1/numbers/update # Create prompt Source: https://docs.fluents.ai/api-reference/prompts/create-prompt /openapi.yml post /v1/prompts/create # Get prompt Source: https://docs.fluents.ai/api-reference/prompts/get-prompt /openapi.yml get /v1/prompts # List prompts Source: https://docs.fluents.ai/api-reference/prompts/list-prompts /openapi.yml get /v1/prompts/list # Update prompt Source: https://docs.fluents.ai/api-reference/prompts/update-prompt /openapi.yml post /v1/prompts/update # Run simulation Source: https://docs.fluents.ai/api-reference/simulation/run-simulation /openapi.yml post /v1/simulation/run # Create tag Source: https://docs.fluents.ai/api-reference/tags/create-tag /openapi.yml post /v1/tags # Delete tag Source: https://docs.fluents.ai/api-reference/tags/delete-tag /openapi.yml delete /v1/tags/{id} # Get tag Source: https://docs.fluents.ai/api-reference/tags/get-tag /openapi.yml get /v1/tags/{id} # List tags Source: https://docs.fluents.ai/api-reference/tags/list-tags /openapi.yml get /v1/tags # Update tag Source: https://docs.fluents.ai/api-reference/tags/update-tag /openapi.yml patch /v1/tags/{id} # Create transcriber Source: https://docs.fluents.ai/api-reference/transcribers/create-transcriber /openapi.yml post /v1/transcribers/create # Delete transcriber Source: https://docs.fluents.ai/api-reference/transcribers/delete-transcriber /openapi.yml delete /v1/transcribers/{id} # Get transcriber Source: https://docs.fluents.ai/api-reference/transcribers/get-transcriber /openapi.yml get /v1/transcribers # List transcribers Source: https://docs.fluents.ai/api-reference/transcribers/list-transcribers /openapi.yml get /v1/transcribers/list # Update transcriber Source: https://docs.fluents.ai/api-reference/transcribers/update-transcriber /openapi.yml post /v1/transcribers/update # Create voice Source: https://docs.fluents.ai/api-reference/voices/create-voice /openapi.yml post /v1/voices/create # Get voice Source: https://docs.fluents.ai/api-reference/voices/get-voice /openapi.yml get /v1/voices # List voices Source: https://docs.fluents.ai/api-reference/voices/list-voices /openapi.yml get /v1/voices/list # Update voice Source: https://docs.fluents.ai/api-reference/voices/update-voice /openapi.yml post /v1/voices/update # Create webhook Source: https://docs.fluents.ai/api-reference/webhooks/create-webhook /openapi.yml post /v1/webhooks/create # Get webhook Source: https://docs.fluents.ai/api-reference/webhooks/get-webhook /openapi.yml get /v1/webhooks # List webhooks Source: https://docs.fluents.ai/api-reference/webhooks/list-webhooks /openapi.yml get /v1/webhooks/list # Update webhook Source: https://docs.fluents.ai/api-reference/webhooks/update-webhook /openapi.yml post /v1/webhooks/update # Agents – Advanced Settings Source: https://docs.fluents.ai/product/concepts/agent/advanced Fine‑tune how your Fluents.ai agents sound, which AI models they use, how they handle silence, call duration, memory, and voicemail detection. Advanced settings let you **fine‑tune the behavior and quality** of your agents.\ You control which AI model is used, how fast the agent speaks, how it handles silence, whether it remembers context, and more. On this page: * [Voice, language, and audio](#voice-language-and-audio) * [AI model and provider](#ai-model-and-provider) * [Webhooks and actions](#webhooks-and-actions) * [Conversation tuning (temperature & speed)](#conversation-tuning-temperature--speed) * [Silence and idle behavior](#silence-and-idle-behavior) * [Call duration and recording](#call-duration-and-recording) * [Memory options](#memory-options) * [Voicemail detection (BETA)](#voicemail-detection-beta) * [Where to go next](#where-to-go-next) *** ## Voice, language, and audio ### Voice Select which **voice** this agent will use on calls (for example, “Heather Rey”). * Each option in the dropdown is a predefined voice in your Fluents.ai account. * Changing the selection changes how the agent sounds, but does not change its logic or skills. * You can switch voices at any time if you find one that fits your brand better. For more about browsing and testing voices, see **[Voices](../voices)**. ### Language Set the **language** your agent will speak and understand (e.g., English). * Make sure this matches the language of your customers. * It should also align with the voice you selected. ### Background sound If you choose a **background sound**, the call will include a subtle ambient noise (for example, light office sounds). * This can make calls feel more natural, as if the agent is in a real environment. * You currently have a small set of background options to choose from. * Leave this empty if you prefer a completely quiet background. *** ## AI model and provider These settings control **which AI engine** powers your agent’s responses. ### LLM Provider Choose the **LLM provider** (for example, OpenAI). * This is the company that provides the language model. * Different providers may offer different quality, speed, and pricing. ### Model Name Choose the specific **model** from that provider (for example, `GPT‑4.1 Mini`). * Larger models may be more capable but can be slower or more expensive. * Smaller models may be faster and cheaper for simple use cases. If you’re unsure, start with the **recommended default** in the dropdown. ### Speech to Text Select the **Speech‑to‑Text (STT)** provider (for example, Deepgram). * This controls how the caller’s voice is converted into text for the AI. * A good STT provider improves accuracy and reduces misunderstandings. *** ## Webhooks and actions ### Add Webhook **Webhooks** let your agent send an HTTP request to an **endpoint you control** during or after a call. * Fluents.ai calls **your URL** with call data (for example, caller number, outcome, transcript snippets, or custom fields). * Your server, automation tool, or integration then uses that data to update other systems. Typical uses (implemented on your side): * Receive call results and then update a CRM record. * Create a ticket in a helpdesk tool when certain conditions are met. * Trigger automations (for example, via Zapier, Make.com, or a custom backend). You configure the actual webhook endpoints in the **Webhooks** and **Actions** areas of the app, then select which ones this agent is allowed to call from Advanced Settings. ### Actions **Actions** are reusable behaviors your agent can perform, such as: * Ending the conversation under certain conditions * Triggering a callback * Updating external systems In Advanced Settings, you select which actions this agent is allowed to run. For a deeper dive, see **[Actions Feature Guide](../../features/actions)** and **[Webhook Feature Guide](../../features/webhook)**. *** ## Conversation tuning (temperature & speed) ### LLM Temperature **LLM Temperature** controls how **creative vs. strict** the agent is: * Lower values (toward 0): more predictable, consistent answers * Higher values: more varied, creative responses For most customer‑facing use cases, a **lower to medium** temperature is recommended so the agent stays on‑script and reliable. ### Conversation Speed **Conversation Speed** controls how fast the agent speaks and responds. * Slide left for **slower, more deliberate** speech. * Slide right for **faster, more energetic** speech. * If **Auto** is enabled, Fluents.ai may adjust speed automatically. You can adjust this to match your brand and audience: * Slower for support or sensitive topics * Faster for casual or sales‑oriented conversations *** ## Silence and idle behavior These settings determine how the agent handles **silence** from the caller. ### Idle Time (seconds) **Idle Time** is how long the agent will wait in silence before checking if the caller is still there. Example: * Idle Time = 7 seconds\ → After 7 seconds of no response, the agent asks something like\ “Are you still there?” ### Max Idle Check Count **Max Idle Check Count** is how many times the agent will make that check **before ending the call**. Example: * Idle Time = 7 seconds * Max Idle Check Count = 3 The agent might: 1. Wait 7 seconds → ask if the caller is still there 2. Wait another 7 seconds → ask again 3. Wait another 7 seconds → give a final message and end the call Use these controls to balance: * Being patient with callers * Avoiding very long, silent calls that go nowhere *** ## Call duration and recording ### Call Duration (seconds) and Extend Call **Call Duration** sets the **maximum length** of a call in seconds.\ For example, `600` seconds = 10 minutes. * When the limit is reached, the agent will end the call gracefully. * **Extend Call** lets the system extend the call in specific cases when needed (depending on how your account is configured). This is useful to: * Prevent runaway calls * Keep costs and call times under control ### Enable Recording Turn **Enable Recording** on if you want to **record calls** for later review. * Recordings can help with quality control, training, and compliance. * Make sure to follow any applicable laws or regulations about recording calls in your region. *** ## Memory options These settings control how much your agent **remembers** across calls. ### Outbound Context Memory **Outbound Context Memory** is used for **outbound campaigns that include context variables** for each contact. When this is enabled: * Fluents.ai remembers the **context variables** that were attached to the contact in the campaign\ (for example: `` `{first_name}` ``, `` `{last_name}` ``, `` `{email}` ``, or any other custom context fields you use). * If that person **calls back the same number**, the agent can access those same context variables again. This allows the agent to say things like: > “Hi `{first_name}`, I’m following up about the message we sent you earlier.” …because it can reuse the outbound campaign context (variables) tied to that contact, even though the new call is inbound. ### Conversation Memory (BETA) **Conversation Memory** (BETA) allows the agent to remember more details **within a single conversation** or across multiple turns in more advanced ways. * This can help with longer or more complex calls. * Because it’s in BETA, behavior and availability may evolve over time. If you’re unsure, you can start with this **off** and enable it later for advanced use cases. *** ## Voicemail detection (BETA) ### Dynamic Voicemail Detection (BETA) **Dynamic Voicemail Detection** helps the agent detect when it has reached a **voicemail greeting** instead of a live person (mainly for outbound calls). With this enabled, the system can: * Recognize voicemail greetings more reliably * Decide whether to leave a voicemail message at the right time or handle it differently This is useful when you: * Run outbound campaigns where many calls go to voicemail * Want to control how and when voicemails are left Because it’s a BETA feature, you may want to test it with a small list first and adjust based on results. *** ## Where to go next * Set up the agent’s basic identity and greetings in\ **[Agents – Basic Settings](./basic)** * Configure what happens after each call in\ **[Agents – Post‑Call Actions](./post-call)** * Learn how to connect webhooks and actions in detail in the\ **[Actions](../../features/actions)** and **[Webhooks](../../features/webhook)** feature guides * See how these settings play out in real workflows with\ **[Create Your First Inbound Agent](../../quickstart/first-inbound-agent)** and\ **[Set Up Your First Campaign](../../quickstart/first-campaign)** # Agents – Basic Settings Source: https://docs.fluents.ai/product/concepts/agent/basic Set up the core behavior of a Fluents.ai agent: voice type, greetings, skills, prompt, call context variables, and quick test calls. Basic settings define **who your agent is and how it talks** on each call.\ From here you choose the voice type, greetings, skills, main prompt, and the context fields the agent can use. On this page: * [What basic settings control](#what-basic-settings-control) * [Voice type](#voice-type) * [Initial and voicemail messages](#initial-and-voicemail-messages) * [Skills](#skills) * [Agent prompt](#agent-prompt) * [Call context fields](#call-context-fields) * [Test Call Agent](#test-call-agent) * [Suggested starting configurations](#suggested-starting-configurations) * [Where to go next](#where-to-go-next) *** ## What basic settings control Basic settings answer questions like: * How does this agent sound and introduce itself? * What can it do during a call (schedule, route, call back, search, etc.)? * What instructions and examples guide its behavior (the **prompt**)? * What information about the caller or business can it reference (**call context**)? These choices apply whether the agent is used: * On an **inbound number** (after‑hours, main line, support, etc.), or * In an **outbound campaign** (sales, reminders, follow‑ups). *** ## Voice type **Voice Type** lets you choose the general voice category for the agent, e.g.: * **Male** * **Female** This selection works together with the **voice** you pick elsewhere (in the agent or voices feature). Think of it as choosing the **type of speaker** your agent should be. Use cases: * Match your existing brand voice (e.g., “Our support line is always a calm female voice.”) * Differentiate agents (e.g., sales vs. support) with different voice types You can change this later without affecting any campaigns or numbers already using the agent. *** ## Initial and voicemail messages ### Initial message The **Initial Message** is what your agent says at the very start of a call. Examples: * Inbound support: > “Hi, this is the virtual assistant for `{your_company}`. How can I help you today?” * Outbound sales: > “Hi `{first_name}`, this is an automated assistant calling on behalf of `{your_company}`. Do you have a quick minute?” This message should: * Clearly say **who** is calling * Briefly explain **why** they’re calling * Invite the caller to respond You can use **variables** (like `` `{first_name}` ``) that come from **Call Context** or your CRM. ### Voicemail message If the agent reaches voicemail or needs to leave a recorded message, it uses the **Voicemail Message**. Example: > “Hi `{first_name}`, this is an automated assistant from `{your_company}`. I wanted to share a quick update. I’ll follow up shortly, or you can call us back whenever it’s convenient.” Keep this: * Short * Clear about **who called** and **what to do next** *** ## Skills **Choose Skills** defines what your agent is allowed to do during a call. In the UI you’ll see options such as: * **Appointment Scheduling** * **Call Routing** * **Call Back Later** * **Knowledge Search** * **Switch Communication** You can think of skills as **capabilities** you toggle on or off. Examples: * After‑hours agent: * Appointment Scheduling, Call Routing, Call Back Later * Outbound sales agent: * Call Back Later, Knowledge Search (for FAQs), maybe Appointment Scheduling If a skill is not enabled, the agent will avoid flows that depend on it. *** ## Agent prompt The **Agent Prompt** is the main set of instructions that shapes how your agent speaks and behaves. In the UI you have: * A **dropdown** to select from saved prompts (if you have any) * A **Generate Prompt** button to help build a prompt template * A **text area** where you can write or edit your prompt * An **Add variable** button to insert context variables like `` `{first_name}` `` A typical prompt might include: * The agent’s **role/persona** > “You are an AI outreach agent for `{your_company}`…” * Tone and style > “Be friendly, concise, and professional…” * What the agent should **do** > “Qualify the caller and, if appropriate, book an appointment or schedule a follow‑up…” * Guardrails > “If unsure, ask a clarifying question. Do not discuss topics outside of `{your_company}`’s services…” * How to handle transfers, callbacks, etc. (if relevant) The prompt and the **skills** work together: * Skills = what the system will allow the agent to do * Prompt = how and when the agent chooses to use those skills *** ## Call context fields **Call Context** fields are pieces of information about the caller or the situation that your agent can reference in conversation. You’ll see them in a panel on the right with fields like: * `first_name` * `test` (or any custom field you define) * Potentially others (e.g., `business_name`, `industry`, etc.) Each context field can be used as a **variable** inside: * Initial & voicemail messages * The agent prompt * Other message templates ### How variables work If you have a context field called `first_name`, you can use it like this: `Hi {first_name}, this is the virtual assistant from {your_company}.` At call time: * If `first_name` is available (from your CRM, campaign, or manual input), the agent will say “Hi Alex…”. * If it’s missing, the agent will typically fall back to a more generic phrasing, depending on your prompt and system defaults. Typical uses for context: * **Personalization:** `` `{first_name}` ``, `` `{business_name}` ``, `` `{appointment_date}` `` * **Segmentation:** `industry`, `plan_type`, etc., which you can reference in the prompt to change behavior. *** ## Test Call Agent **Test Call Agent** lets you try your agent in a real call **before** connecting it to campaigns or inbound numbers. When you click **Test Call Agent**, you’ll see a dialog with: * **Caller Number** – Which of your numbers will be shown as the caller ID. * **Receiver Number** – The phone number you want to call (often your own mobile). * **VM Detection** – How voicemail detection is handled (e.g., Off or enabled). * **Do not call detection** – Optional protection so you avoid calling numbers on a DNC list. * **HIPAA Compliant** – Optional setting for healthcare/compliance‑sensitive scenarios. Then: 1. Choose a **Caller Number** you own or have linked. 2. Enter your mobile or test number as the **Receiver Number**. 3. Adjust VM detection / compliance settings as needed. 4. Click **Make Call**. Use this to: * Hear your **Initial Message** and **Voicemail Message** in context. * Verify that your **skills** and **prompt** produce the behavior you expect. * Confirm that variables from Call Context (like `` `{first_name}` ``) are being read correctly when they’re available. *** ## Suggested starting configurations ### Inbound after‑hours agent * **Voice type:** Friendly, neutral (Male or Female) * **Initial message:**\ “Hi, this is the after‑hours assistant for `{your_company}`. How can I help you today?” * **Voicemail message:**\ “It looks like I missed you. I’ll pass your details to the team at `{your_company}` and they’ll follow up.” * **Skills:** Appointment Scheduling, Call Routing, Call Back Later * **Prompt:** Focus on capturing contact information, reason for calling, and preferred follow‑up. ### Outbound sales rep agent * **Voice type:** Energetic, confident * **Initial message:**\ “Hi `{first_name}`, this is an automated assistant calling on behalf of `{your_company}`. Do you have a quick minute?” * **Voicemail message:**\ Short, clear call‑back invitation using `` `{first_name}` `` and `` `{your_company}` ``. * **Skills:** Call Back Later, Knowledge Search (for FAQs), Appointment Scheduling (if you book meetings). * **Prompt:** Focus on qualifying interest, handling common objections, and booking next steps. *** ## Where to go next * Fine‑tune behavior and edge cases in\ **[Agents – Advanced settings](./advanced)** * Configure what happens after each call in\ **[Agents – Post‑Call Actions](./post-call)** * See a full UI walkthrough in the\ **[Agent Feature Guide](../../features/agent)** * Try these settings in real workflows with\ **[Create Your First Inbound Agent](../../quickstart/first-inbound-agent)** and\ **[Set Up Your First Campaign](../../quickstart/first-campaign)** # Agents Source: https://docs.fluents.ai/product/concepts/agent/intro Fluents.ai Agents handle your calls—automatically, consistently, and tailored to your business. Learn core concepts and settings before diving into specific features. # Agents: The Heart of Your AI Calling Experience Fluents.ai Agents are AI-powered assistants that answer or make calls on your behalf, following your business’s goals, script, and preferences. With an agent, you can ensure every customer gets a professional and consistent experience—24/7, without lifting a finger. *** ## 1. Basic Agent Settings These are the foundation of every agent you set up: * **Name & Role:** What do you want the agent to do (e.g., answer inbound calls, make outbound calls)? * **Assigned Number:** Every agent can be linked to one or more phone numbers. * **Voice:** Choose the synthetic voice and language that fits your brand. * **Activation:** Enable or disable your agent with a single click. [See how to set up a new agent in the Feature Guide →](../../features/agent) *** ## 2. Advanced Agent Settings Level up your agent with more control and automation. Advanced settings allow your agent to handle more complex scenarios, such as: * **Handling silence:** Set how the agent responds if the caller is silent. * **Transfer options:** Let the agent transfer calls to a human or another AI agent. * **Call interruptions:** Adjust how the agent manages interruptions or overlapping speech. * **Custom behaviors:** Fine-tune how your agent reacts during and after calls. [Explore advanced agent configuration in the Feature Guide →](../../features/agent) *** ## 3. After the Call (Post-Call Actions) Fluents.ai Agents don’t just complete calls—they also manage what happens next: * **Call summaries:** Automatically send outcomes or notes via email or to your CRM. * **Follow-ups:** Trigger follow-up messages or additional calls. * **Integration with your workflow:** Agents can log information, notify your team, or escalate unresolved issues. [See post-call flows and integrations in the Feature Guide →](../../features/agent) *** ## Where To Next? * For step-by-step setup, go to the [Agent Feature Guide](../../features/agent) * To see agents in action, Read the [Quickstart Guide](../../quickstart/index) * For advanced use cases and real-world workflows, explore our [Use Cases](../../quickstart/first-inbound-agent) If you need help, our support team is always here for you! *** # Agents – Post‑Call Actions Source: https://docs.fluents.ai/product/concepts/agent/post-call Control what happens after each call: analyze the conversation, write results to your tools, and optionally send SMS or email follow-ups based on clear conditions. Post‑call settings define what Fluents.ai does **after the call ends**. From here you can: 1. Run an AI **analysis** on the call transcript. 2. **Write the raw analysis result** to a connected tool (for example, a CRM). 3. Optionally **send SMS** and/or **email** follow‑ups, with conditions based on: 1. Whether the call went to **voicemail** or not. 2. What the **post‑call analysis** contains. *** ## Analyze Call The **Analyze Call** section tells Fluents.ai **how to summarize or interpret the call** once it’s finished. You write an **analysis prompt** describing what you want, for example: 1. Summaries (key points discussed) 2. Extracted data (names, emails, reasons for calling) 3. Follow‑up suggestions or classifications The agent runs this prompt against the **call transcript and metadata**. ### Insights are shared across agents Insights are **global within your environment**. If you create an insight in one agent, you can reuse that same insight in other agents by adding it from the existing insights list. This lets you standardize the questions you ask after every call (for example, “Summary” or “Did they schedule a meeting?”) across multiple agents. The output of this analysis: 1. Is stored as a single **raw text result** attached to the call in **Call History**. 2. Can be referenced in templates as `{post_call_results}` (for example, in an email body). 3. Is exactly what your analysis prompt generates; Fluents.ai does not reformat it. Tip: Keep your analysis prompt clear and structured so the result is easy to read or parse in your own systems. *** ## Write results to **Write results to** lets you send the **raw post‑call result** to a connected tool such as: 1. HubSpot 2. Salesforce 3. GoHighLevel 4. Lead Docket 5. Monday.com After each call: 1. Fluents.ai sends the **raw analysis text** (the output of your Analyze Call prompt) to the selected integration. 2. Your integration or connected app decides **how to store or use** that text (for example, saving it as a note, activity, or custom field). Fluents.ai does **not** automatically map individual fields into the CRM; it sends the analysis result, and you handle the mapping on the destination side. *** ## Send SMS You can configure an optional **SMS follow‑up** to be sent after a call. There are two parts: 1. Configure SMS content and provider. 2. Set **conditions** that decide when SMS should send. ### Configure SMS When you configure SMS, you choose: 1. **SMS Provider** – Which SMS provider connection to use. 2. **From Number** – The phone number the SMS will be sent from. 3. **To Number** – Usually the caller’s number or a variable that resolves to it. 4. **SMS Message** – The text you want to send. You can use **variables** inside the SMS message, for example `{first_name}` (personalization from Call Context or campaign) and other context variables you have defined. Example message: > Thank you for calling `{first_name}`! We will get back to you soon. If you have any questions, just reply to this message. You can always choose **Don’t Send an SMS** if you want SMS disabled for this agent. ### SMS conditions (when SMS should send) Under **Conditions**, you decide **when** an SMS is sent.\ All configured conditions must be satisfied for the SMS to go out. You can base conditions on call outcome and post‑call analysis. #### Call conditions Here you use whether the call went to **voicemail** or **not voicemail**. Common options: 1. Send SMS only if the call went to voicemail. 2. Send SMS only if the call was answered by a person. Examples: 1. “Send SMS if the call went to voicemail” can be helpful when someone couldn’t pick up. 2. “Send SMS only if the call was answered” can be useful for confirmations after a real conversation. #### Post‑call analysis conditions You can also base conditions on the **text of the post‑call analysis**, using: 1. **Contains text** (for example, send SMS if the analysis text contains “interested” or “call back later”) 2. **Matching field value** (if your analysis format includes labeled fields and values, you can test for a specific value) This lets you do things like: 1. Send a follow‑up SMS only when the analysis suggests the caller is interested. 2. Avoid sending SMS when the person clearly said they are not interested. *** ## Send Email Email follow‑ups work similarly to SMS: you configure **content** and **conditions**. You can use: 1. No follow‑up 2. SMS only 3. Email only 4. Both SMS and Email for the same agent ### Configure Email When you configure email, you choose: 1. **Email Provider** – The email provider connection to use. 2. **From Email** – The sender address, for example `from@your_company.com`. 3. **To Email** – Destination address(es); usually a team inbox or a variable‑based value. 4. **Subject Line** – For example, “Inbound call summary”. 5. **Email Body** – The content of the email. Within the body you can use variables such as `{from_number}`, `{to_number}`, `{post_call_results}`, and other call or context variables (for example, `{first_name}`). A simple structure might look like: From: `{from_number}`\ To: `{to_number}` Summary:\ `{post_call_results}` You can choose **Don’t Send an Email** if you want email disabled for this agent. ### Email conditions (when Email should send) Email conditions work the same way as SMS: 1. Call‑based (voicemail vs. not voicemail) 2. Post‑call analysis‑based (contains certain text or matches a field value) Examples: 1. Send an internal summary email only when the call was answered (not voicemail). 2. Send an email to a team queue when the analysis suggests an escalation or urgent follow‑up. *** ## Putting it all together A typical post‑call flow looks like this: 1. The call ends. 2. Analyze Call runs using your analysis prompt. 1. The result is stored with the call and exposed as `{post_call_results}`. 3. Write results to (optional) sends the raw analysis result to a CRM or other tool. 4. SMS and/or Email (optional) are evaluated. 1. First, check the call condition (voicemail vs. not voicemail). 2. Then, check any post‑call analysis conditions. 3. If all conditions are satisfied, the configured SMS and/or email are sent. *** ## Where to go next 1. Review how calls and analysis results are stored and searchable in\ [Call History](../call-history) 2. Learn how post‑call behavior fits with the rest of your agent configuration in\ [Agents – Basic Settings](./basic) and [Agents – Advanced Settings](./advanced) 3. See how to connect your CRM and other tools in the\ [Integrations](../../integrations/active-campaign) and [Webhooks](../../features/webhook) guides # Call History Source: https://docs.fluents.ai/product/concepts/call-history Call history is the central log of all calls made using your Fluents.ai agents. Learn how to review, filter, and export calls, and how scheduled callbacks fit in. Call history is where you **see everything your agents have done on the phone**. From here you can: 1. Review inbound and outbound calls for all agents 2. Listen to recordings 3. Filter by date, agent, status, outcome, campaign, or insights 4. Export call data to CSV for reporting or analysis 5. See and manage **scheduled callbacks** in a dedicated view This is your single source of truth for what actually happened on calls. On this page: 1. [Call history](#call-history) 2. [Scheduled calls](#scheduled-calls) 3. [Common ways teams use call history](#common-ways-teams-use-call-history) 4. [Where to go next](#where-to-go-next) *** ## Call history In the **Calls → History** tab, each row represents a single call your agents handled. Typical columns include: 1. **ID** – Internal identifier for the call (useful when working with support or the API) 2. **Agent** – The agent configuration used for the call 3. **Agent name** – A human friendly label (for example, an after hours or sales agent name) 4. **Recording** – A play button to listen to the call recording (when enabled) 5. **Created at** – When the call started 6. **Duration** – How long the call lasted 7. **From** – The caller’s number (for inbound), or your number (for outbound) 8. **To** – The number that was called 9. **Status** – How the call ended (for example, Ended, Ended (Voicemail), Completed, Canceled) At a glance, this lets you see which agents are active, how long calls run, and whether they’re ending the way you expect. *** ### Filtering calls Select **Filters** to open the filter panel and narrow down the list of calls. Common filters include: 1. **Period** – Date and time range for the calls you want to see 2. **Agents** – Only show calls handled by specific agents 3. **Statuses** – Filter by outcome, such as Ended, Voicemail, Completed, and more 4. **Call ID** – Jump directly to a known call by its ID 5. **Contact number** – Find all calls to or from a specific phone number 6. **Duration (seconds)** – Focus on short calls, long calls, or a specific range 7. **Successful actions** – Filter calls where certain agent actions completed successfully 8. **Transcript keyword** – Search for words or phrases that appear in the call transcript 9. **Campaign** – Filter to calls created by a specific campaign (this corresponds to the campaign identity used for outbound runs and reporting) 10. **Call Insights** – Filter calls based on one or more insight results captured after the call #### Filtering by Campaign Use the **Campaign** field to select a campaign and view only calls associated with it. This is useful for campaign level QA, debugging, and performance review. #### Filtering by Call Insights Use **Call Insights** when you want to filter calls based on what the AI extracted from the transcript. How it works: 1. Click **Add Row** 2. Choose the **Call Insight** you want to filter on 3. Choose an operator (examples include equals, contains, and other operators depending on the insight type) 4. Enter or select the value you want to match When you add multiple insight rows, only calls matching all insight filters are shown. Examples: 1. Show calls where an insight like Transfer is Yes 2. Show calls where a Summary insight contains a keyword 3. Show calls where a numeric insight is greater than or less than a threshold (when applicable) Other examples: 1. Review all after hours calls this week by selecting the after hours agent and this week’s period 2. Find all calls over 10 minutes to investigate complex or high effort cases 3. Search for calls mentioning cancel or upgrade using Transcript keyword *** ### Exporting calls to CSV Use **Export CSV** to download call data for reporting, analysis, or compliance. When exporting, you can: 1. Choose which columns to include (for example, ID, Agent, Agent Name, Start Time, End Time, Duration, Status, From, To, Post call result, Provider, SIDs, Campaign) 2. Reorder the columns to match how you want them to appear in your CSV Typical uses: 1. Build custom reports in a spreadsheet or BI tool 2. Share a filtered set of calls with another team 3. Keep offline records for auditing or quality review The export respects your current filters, so you can export only the calls you care about. *** ## Scheduled calls In the **Calls → Scheduled** tab, you see **future calls** that your agents will make (your agent must the callback skill enable), often as callbacks requested during previous conversations. You’ll typically see: 1. **ID** – Reference for the scheduled call 2. **Type** – For example, Callback 3. **Created at** – When the callback was scheduled 4. **Agent** – Which agent will handle the call 5. **From / To** – Numbers that will be used 6. **Scheduled time** – When the call is planned 7. **Status** – For example, Scheduled, Completed, Canceled (Contact Reached) 8. **Activity** – Recent events for that scheduled call (for example, last attempt time) Use this view to: 1. Confirm that important callbacks are queued 2. See which callbacks have already been completed or canceled 3. Reschedule or manage callbacks as needed (depending on your UI controls) *** ## Common ways teams use call history A few practical examples: 1. Quality review: filter by one agent, listen to recordings, and spot areas to improve prompts or settings 2. Campaign performance: filter by campaign or successful actions to understand how a sales or reminder campaign is performing 3. Support follow up: search transcripts for specific issues, then follow up with affected customers 4. Insight driven QA: filter by call insights (for example, meeting scheduled, transfer requested, qualified lead) to review the exact calls that match your criteria 5. Compliance and auditing: export detailed call logs with IDs, durations, and outcomes for record keeping *** ## Where to go next 1. Learn how agents control the behavior inside each call in\ [Agents – Basic](./agent/basic) 2. Understand how campaigns generate outbound calls in\ [Campaigns](./campaigns) 3. Configure what happens after each call in\ [Agents – Post‑Call Actions](./agent/post-call) # Campaigns Source: https://docs.fluents.ai/product/concepts/campaigns Campaigns coordinate outbound outreach to your contacts using Fluents.ai agents. Learn how agents, contacts, numbers, schedules, and exit criteria fit together. Campaigns let you run **automated outbound outreach** to a list of contacts. A campaign can: * Place phone calls using your **Fluents.ai agents** * Optionally include other outreach steps (such as email or SMS, depending on your setup) * Respect contact windows and timezones so you reach people at appropriate times * Automatically stop contacting people when clear **exit criteria** are met On this page: * [What is a campaign?](#what-is-a-campaign) * [Key building blocks](#key-building-blocks) * [How campaigns work with other parts of Fluents.ai](#how-campaigns-work-with-other-parts-of-fluentsai) * [When to use a campaign vs. an inbound agent](#when-to-use-a-campaign-vs-an-inbound-agent) * [Typical campaign patterns](#typical-campaign-patterns) * [Where to go next](#where-to-go-next) *** ## What is a campaign? A **campaign** is a structured plan for reaching a group of contacts over time. Conceptually, a campaign answers: * **Who** do we want to reach? → contacts from a CSV or CRM * **How** do we want to reach them? → phone calls (and optionally email/SMS steps) * **When** should we reach them? → contact window, timezone, and delays between steps * **When should we stop?** → exit criteria (for example, answered, opted out, unreachable) Once configured, the campaign runs automatically: * Contacts enter the campaign (for example, when uploaded or synced) * The campaign schedules outreach steps according to your rules * Each contact eventually **exits** the campaign when conditions are met *** ## Key building blocks Campaigns bring together several pieces of Fluents.ai. ### Contacts The **contacts** are the people you want to reach. They can come from: * A **CSV upload** (for example, a list of leads) * A **CRM integration** (for example, HubSpot, Salesforce, GoHighLevel, etc.) At minimum, each contact needs a **phone number** for phone steps.\ Additional fields (for example, `first_name`, `last_name`, `email`, custom fields) can be used as **context variables** in prompts and messages. ### Agent The **agent** is the AI voice that will handle phone calls for the campaign. * Each **phone call step** in the campaign uses an assigned agent. * The agent’s **prompt, skills, and settings** determine what happens in‑call. You can reuse the same agent across multiple campaigns or specialize agents for different flows (for example, sales vs renewals). ### Numbers **Numbers** are the caller IDs your contacts see when the campaign calls them. Campaigns can use: * Specific numbers, or * Sets of numbers chosen by **tag** (for example, `sales-us`) Numbers determine: * Which line calls come from * How local the caller ID appears to contacts See **[Numbers](./numbers)** for more on how numbers are added and tagged. ### Contact window & timezone The **campaign contact window** defines **when** contacts are allowed to be reached, for example: * Days of the week (Monday–Friday) * Times of day (for example, 9:00am–7:00pm) * Timezone behavior: * Use the contact’s local timezone if known * Fallback to a specific timezone if not This ensures calls and outreach happen only during acceptable hours. ### Outreach flow (steps and delays) The **outreach flow** is the sequence of steps the campaign will perform for each contact. Typical elements: * **Step type** – for example, Phone call (and, in some setups, Email or SMS) * **Agent** – which agent to use for phone steps * **Timing** – send “at the earliest eligible time” or “within a specific time window” * **Delays** between steps – for example, “1 day after phone call” This lets you build simple or multi‑step follow‑up flows. ### Exit criteria **Exit criteria** define when a contact automatically leaves the campaign. Examples include: * The contact answered a call from this campaign * The contact explicitly requested to stop receiving communication * The contact’s number is unreachable Once an exit condition is met, the campaign stops scheduling new steps for that contact. *** ## How campaigns work with other parts of Fluents.ai Campaigns do not exist in isolation—they use and feed other parts of the platform. * **Agents**\ Campaigns rely on your configured agents to handle phone calls.\ Agent settings (basic, advanced, post‑call) determine what calls look like. * **Numbers**\ Campaigns use numbers (often chosen by tag) as caller IDs.\ Managing numbers and tags well makes it easier to assign the right numbers per campaign. * **Call History**\ Every call placed by a campaign appears in **Call history** with its outcome and recording (if enabled).\ This is where you review what actually happened. * **Post‑Call Actions**\ The agent’s post‑call settings can trigger summaries, CRM updates, SMS or email follow‑ups after each call.\ Campaigns determine **who is called when**; post‑call behavior determines **what happens after** each call. *** ## When to use a campaign vs. an inbound agent You don’t always need a campaign. Use **only an inbound agent** when: * You want to **answer incoming calls** on a phone number * People call you (support line, after‑hours line, main business number) * You’re not driving proactive outreach to a list Use a **campaign** when: * You want to **proactively reach** a list of contacts * You’re running sales outreach, appointment reminders, payment reminders, or re‑engagement * You need consistent scheduling, retries, and tracking across many contacts A simple rule of thumb: > If your team would normally “work a call list” manually, you probably want a **campaign**. *** ## Typical campaign patterns Here are a few common campaign shapes. ### Simple outbound call campaign Goal: Reach a list of leads once with a single call. * Contacts: uploaded CSV or CRM list * Flow: one phone call step * Contact window: weekdays, business hours * Exit criteria: contact answered, opted out, or unreachable ### Multi‑step call campaign Goal: Try a contact more than once before giving up. * Flow: * Step 1: Phone call * Wait: for example, 1 day * Step 2: Phone call (same or different agent) * Contact window and timezone respected for each step * Exit criteria: answer, opt‑out, or unreachable ### Call plus follow‑up message Goal: Call the contact and, depending on outcome, send a follow‑up via another channel. * Flow: * Step 1: Phone call * Optional further steps (for example, SMS or email) depending on conditions * Agent’s **post‑call actions** and your messaging tools handle the follow‑up content. *** ## Where to go next * Understand how agents behave inside each campaign call in\ **[Agents – Basic](./agent/basic)** and **[Agents – Advanced](./agent/advanced)** * Learn how numbers and tags work when choosing caller IDs in\ **[Numbers](./numbers)** * See what actually happens once campaigns start calling in\ **[Call history](./call-history)** * Configure what happens after each call in\ **[Agents – Post‑Call Actions](./agent/post-call)** # Numbers Source: https://docs.fluents.ai/product/concepts/numbers Numbers are the phone lines your Fluents.ai agents use to send and receive calls. Learn how buying, linking, and tagging numbers fits into your overall setup. Numbers are the **phone lines** your Fluents.ai agents use to: * Receive inbound calls from your customers * Place outbound calls in campaigns * Control which caller ID your contacts see Depending on your setup, you can either: * **Buy new numbers directly in Fluents.ai**, or * **Link existing numbers** that you already own with a telephony provider. *** ## How numbers fit into Fluents.ai Numbers sit between your **customers** and your **agents**: * For **inbound calls**:\ Customers dial a number → Fluents.ai receives the call → your **inbound agent** answers. * For **outbound campaigns**:\ Your **campaign** uses one or more numbers to call a list of contacts → the caller ID they see is the number you chose. You can: * Own numbers fully inside Fluents.ai (when you buy numbers) * Reuse numbers you already have with external providers (when you link numbers) * Organize numbers with **tags** so you can easily assign the right ones to agents and campaigns *** ## Numbers list view In the **Numbers** section, you’ll see all phone numbers available for your account. Typical columns include: * **ID** – Internal identifier for the number. * **Number** – The phone number itself. * **Agent** – The inbound agent currently assigned to this number (if any). * **Telephony provider** – For example, Fluents, Telnyx, or Twilio. * **Account connection** – Which provider account the number belongs to (when applicable). * **Tags** – Any tags you’ve added to group this number (for example, `sales-us`, `after-hours`). At the top of the page you can: * **Search numbers** – Quickly find a specific number by searching its digits. * **Filter by tags** – Show only numbers that match one or more tags. This makes it easy to locate the right number when assigning agents or configuring campaigns. *** ## Buying vs. linking numbers Fluents.ai supports two main ways to add numbers to your account. ### 1. Buying numbers in Fluents.ai (US only) Use this when you **do not have your own telephony provider** and want Fluents.ai to handle the phone line for you. * Currently, you can buy **US phone numbers** directly in Fluents.ai. Typical flow: * Click **New** in the Numbers page. * Choose the **Fluents** provider (or built‑in option, depending on your UI). * Pick an available US number. * Add the number to your account. * Optionally assign an **inbound agent** and **tags** as part of the setup. Good for: * Setting up dedicated inbound lines (for example, Support, After‑hours, Sales). * Having clean caller IDs for outbound campaigns. * Getting started quickly without creating accounts at external providers. *** ### 2. Linking existing numbers you already own If you already have phone numbers with a telephony provider (for example, Telnyx or Twilio), you can **link** those numbers to Fluents.ai. Linking is simple: * In the **Numbers** page, use **Link Existing** (or the equivalent action). * Enter the **phone number** you want to link. * Fluents.ai validates and, if everything looks good, adds that number to your list. * Optionally assign an **inbound agent** and **tags** when you link it. You are not searching an inventory inside Fluents.ai here—you are telling Fluents “use this number I already own with my provider”. Good for: * Teams who already use Telnyx, Twilio, or another provider and don’t want to change numbers. * Preserving existing phone numbers that customers already know. * Gradually migrating from manual or legacy phone workflows to AI agents. *** ## Assigning numbers to agents (inbound) To **receive inbound calls**, a number must be linked to an **inbound agent**. Conceptually: * **Number** = the phone line customers dial. * **Agent** = what answers the phone and handles the conversation. Typical usage: * Main business line → reception or routing agent. * After‑hours line → after‑hours agent. * Support line → support triage agent. In the **New Number**, **Link Existing**, or **Edit** modal you can: * Set the **Inbound Agent** for that number. * Change the assignment later if your workflows change. You can assign: * One number to one inbound agent. * Multiple numbers to the same agent (for example, regional numbers that all route to the same agent). *** ## Using numbers in campaigns (outbound) For **outbound campaigns**, numbers are used as the **caller ID** your contacts see. You can: * Choose which specific number (or pool of numbers) a campaign should use. * Use different numbers for different regions, brands, or purposes. * Reuse the same number across multiple campaigns when appropriate. This is where **tags** become especially helpful. *** ## Organizing numbers with tags Tags let you **group and filter numbers** so you can easily assign the right ones to agents and campaigns. Examples of tags: * `inbound-support` * `after-hours` * `sales-us` * `sales-eu` * `clinic-a`, `clinic-b` (for multi‑location businesses) How tags help: * When creating a **campaign**, you can choose numbers by tag (for example, use all `sales-us` numbers). * In the **Numbers** page, you can filter by tag to see subsets of numbers (for example, all after‑hours lines). * When assigning numbers to **inbound agents**, tags can help you find the right set quickly. Tags are **free‑form**: you can create as many as you need directly in the number modal and reuse them across numbers. *** ## Typical number strategies Here are a few simple patterns that work well: ### Inbound after‑hours agent * Buy or link a dedicated **after‑hours number**. * Tag it `after-hours`. * Assign it to your **after‑hours inbound agent**. * Optionally use the same tag when filtering or reporting. ### Outbound sales campaign * Buy or link **several local numbers** for a region (for example, US East). * Tag them `sales-us`. * In your **outbound sales campaign**, choose numbers with the `sales-us` tag. * Your contacts see a familiar local caller ID, while the campaign manages pacing and retries. *** ## Where to go next * See how campaigns use numbers in\ **[Campaigns](./campaigns)** * Learn how to configure and manage numbers step‑by‑step in the\ **[Numbers Feature Guide](../features/numbers)** * Explore real workflows that combine numbers, agents, and campaigns in the\ **[Use Cases & Tutorials](../quickstart/index)** # Voices Source: https://docs.fluents.ai/product/concepts/voices Voices define how your Fluents.ai agents sound. Learn how to browse, filter, import, and test voices before assigning them to agents and campaigns. Voices control **how your AI agent sounds** on the phone: * The language and style of speech * How natural or synthetic the audio feels * The perceived “personality” of the agent You can: * Browse and **listen to available voices** * **Search** by name and **filter** by provider or source * **Import new voices** from supported providers (after adding an API key) * Assign voices to your **agents** so every call sounds consistent with your brand *** ## How voices fit into Fluents.ai Think of a **voice** as part of your agent’s identity: * **Agent** = what the agent says and how it behaves (prompt, rules, logic) * **Voice** = how the agent sounds when speaking You can reuse the same voice across multiple agents, or choose different voices for different roles. For example: * A friendly, neutral voice for after‑hours reception * A more energetic voice for outbound sales * A calm, reassuring voice for support or sensitive conversations There is **no separate tone slider** in Fluents.ai today—the tone and style come from the **specific voice** you choose. *** ## Browsing and filtering voices In the **Voices** section of Fluents.ai, you’ll see a list of all voices available in your account. Typical fields include: * **Name** – The display name of the voice. * **Provider** – Which voice provider or engine the voice comes from. * **Source / created by** – Whether the voice was added by **Fluents.ai** or imported/created by **your account**. You can: * **Search by name** to quickly find a specific voice. * **Filter by provider** to see only voices from a given provider. * **Filter by source** (for example, platform voices vs. voices you imported yourself). This makes it easy to: * Find platform voices that work well out of the box. * Focus on voices from a specific provider if you have a preference. * See only the voices your team has added. *** ## Importing new voices (via provider API key) If you use an external text‑to‑speech (TTS) provider, you can **import new voices** into Fluents.ai. There are two main steps: 1. **Connect your provider in the Providers tab** * Go to the **Providers** section. * Select the voice provider you want to use. * Add your **API key / credentials** for that provider. * Save the configuration. If no provider API key is configured, you **cannot import voices** from that provider. For a detailed walkthrough, see the\ **[Providers Feature Guide](../features/providers)** (for example: “How to connect a voice provider”). 2. **Import voices in the Voices tab** * Go to the **Voices** section. * Use the **Import voices** option (or the equivalent action in your UI). * Choose the provider you connected. * Select which voices you want to import. Once imported: * The new voices appear in your **Voices** list alongside platform voices. * You can select them when configuring an agent, just like built‑in voices. This is useful if: * You already have **custom voices** with a provider. * You want access to a larger or more specialized **catalog of voices** from your own provider account. *** ## Testing (previewing) voices Before assigning a voice to an agent, you can **play a short sample** of how it sounds. In the UI, you’ll typically see: * A **Play** or **Preview** button next to each voice. * Either a default sample sentence, or an input where you can type a short test phrase. You might use this to: * Compare several voices side‑by‑side. * Hear how different providers handle the same sentence. * Check pronunciation of names, product terms, or industry‑specific words. Tip: When possible, test a short sentence similar to what your agent will say on real calls (like your greeting or introduction line). *** ## Choosing the right voice for your use case Some practical guidelines: * **After‑hours / reception agents** * Choose a **clear, friendly** voice that is easy to understand. * Prioritize clarity over strong personality. * **Outbound sales agents** * Consider a voice that sounds **confident and engaging**. * Make sure it still feels natural when heard many times. * **Support or sensitive conversations** * Prefer a **calm, reassuring** voice. * Test that key terms are pronounced correctly. You can change an agent’s voice later if you find a better fit—no need to recreate the agent. *** ## Where to go next * Learn how voices are used inside agent setup in\ **[Agents – Basic](./agent/basic)** * Configure or change a voice for a specific agent in the\ **[Agent Feature Guide](../features/agent)** * Connect providers and credentials in the\ **[Providers Feature Guide](../features/providers)** * See all voice‑related options in the\ **[Voices Feature Guide](../features/voice)** # Get your API key Source: https://docs.fluents.ai/product/features/account/get-api-key Learn how to find and use your environment-specific API key when calling the Fluents.ai API. Each **environment** in Fluents.ai has its own **API key**. You’ll use this key when: * Calling the **Fluents.ai HTTP API** from your backend. * Connecting Fluents.ai to other tools that require direct API access. There is: * **One API key per environment.** * **No separate account‑wide key.** * No self‑service regeneration today (the key is fixed unless changed by Fluents.ai support). On this page: * [Where to find your API key](#where-to-find-your-api-key) * [Choosing the right environment](#choosing-the-right-environment) * [How to use the API key in requests](#how-to-use-the-api-key-in-requests) * [Security best practices](#security-best-practices) * [Where to go next](#where-to-go-next) *** ## Video: Get API Key