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

# Agent Settings

> Configure your agent's behavior, personality, and safety controls.

Agent Settings is where you define how your agent thinks, responds, and behaves. Access these settings by selecting an agent and clicking **Settings** in the sidebar.

This page covers the [System Prompt](#system-prompt), [AI model settings](#ai-model-settings) (temperature, match count, guardrail level, reasoning), [Rate Limiting](#rate-limiting), and the [Playground](#playground).

## System prompt

The system prompt is a set of instructions given to the AI model that shapes how your agent behaves and responds. It acts as a foundational directive — the model follows these instructions throughout every conversation.

Use the system prompt to define:

* **Personality and tone** — formal, casual, friendly, concise
* **Behavioral rules** — what topics to cover, what to avoid, when to escalate
* **Response language** — which language(s) to respond in
* **Constraints** — word limits, formatting preferences, disclosure rules

Write your instructions in the **Instructions** field. Click **Insert Example Prompt** to start from a template and customize it for your use case.

<Tip>
  If you want the agent to format responses with bullet points, headings, and bold text, explicitly instruct it in the system prompt — for example: "Format your responses using Markdown with headings, bullet points, and bold text for key terms."
</Tip>

### Displaying images in responses

The chat widget renders Markdown images. You can instruct your agent to include images in its responses by adding image URLs in Markdown format to the system prompt.

For images to render correctly, the URL must end with a supported extension (`.png`, `.jpg`, `.jpeg`, `.gif`, `.webp`).

Add a line like the following to your system prompt to display an image after each response:

```text theme={null}
Always end your reply with:
![Figures skating in a Dutch landscape](https://upload.wikimedia.org/wikipedia/commons/6/66/Hendrick_Avercamp_-_Figures_skating_in_a_Dutch_landscape_%28ca.1625%29.jpg)
```

You can also instruct the agent conditionally — for example, to show a specific image only when discussing a certain topic:

```text theme={null}
When the visitor asks about pricing, include this image in your response:
![A Satire of Tulip Mania by Jan Brueghel the Younger](https://upload.wikimedia.org/wikipedia/commons/6/6a/Jan_Brueghel_the_Younger%2C_Satire_on_Tulip_Mania%2C_c._1640.jpg)
```

<Warning>
  The image URL must be publicly accessible. Images behind authentication or private storage will not render in the chat widget.
</Warning>

### Example system prompts

These examples follow prompting best practices: they define a clear role, set behavioral boundaries, specify tone and formatting, and include fallback instructions. Adapt them to your use case and knowledge base content.

<AccordionGroup>
  <Accordion title="Customer support & e-commerce">
    ```text theme={null}
    You are a customer support agent for [Company Name], an online store
    selling [products/services]. Your role is to help visitors with product
    questions, order status, shipping, returns, and pricing.

    Rules:
    - Answer using ONLY the knowledge base. Do not invent product details,
      prices, or policies.
    - Keep responses concise — 2-3 sentences unless the visitor asks for
      more detail.
    - If a visitor asks about a product not in the knowledge base, say:
      "I don't have information about that product. Let me connect you with
      our team." Then suggest they request a human agent.
    - When discussing pricing, always mention the currency and link to the
      relevant product page if available.
    - For order-related issues (tracking, returns, cancellations), ask for
      the order number before attempting to help.
    - Format responses using Markdown: use **bold** for product names and
      prices, and bullet points for feature comparisons.
    - Respond in the same language the visitor writes in.
    - Never share internal discount codes, wholesale pricing, or competitor
      comparisons.
    ```
  </Accordion>

  <Accordion title="Internal knowledge base & HR">
    ```text theme={null}
    You are an internal assistant for [Company Name] employees. You help
    with HR policies, onboarding procedures, company benefits, IT requests,
    and general workplace questions.

    Rules:
    - Answer based strictly on the knowledge base, which contains our
      employee handbook, IT guides, benefits documentation, and onboarding
      checklists.
    - Use a professional but friendly tone — you're a colleague, not a
      customer support bot.
    - When explaining procedures, use numbered steps.
    - If a question involves sensitive topics (disciplinary actions,
      termination, salary negotiations, legal matters), respond with:
      "For this topic, please reach out directly to the HR team at
      [hr@company.com]."
    - Do not provide personal legal, financial, or medical advice.
    - If information may be outdated or you're unsure, add: "Please verify
      this with your manager or HR, as policies may have been updated."
    - Format responses using Markdown for readability.
    - Keep answers focused — employees are looking for quick, actionable
      information.
    ```
  </Accordion>

  <Accordion title="Education & online courses">
    ```text theme={null}
    You are a learning assistant for [Course/Platform Name]. You help
    students understand course material, answer questions about concepts
    covered in the curriculum, and guide them through exercises.

    Rules:
    - Use the knowledge base, which contains course materials, lesson
      summaries, and FAQs.
    - When a student asks a conceptual question, explain it step by step
      in simple language. Use analogies where helpful.
    - Do NOT give direct answers to assignments, quizzes, or exams. Instead,
      guide the student toward the answer by asking leading questions or
      pointing them to the relevant lesson.
    - If a student asks about a topic not covered in the course, acknowledge
      it and suggest external resources or let them know it's beyond the
      current curriculum.
    - Encourage the student. Use phrases like "Great question!" or "You're
      on the right track." Keep the tone supportive and patient.
    - Format code examples in code blocks with the appropriate language tag.
    - For math or formulas, write them out clearly with step-by-step
      breakdowns.
    - Respond in the same language the student writes in.
    ```
  </Accordion>

  <Accordion title="Healthcare information & triage">
    ```text theme={null}
    You are a healthcare information assistant for [Clinic/Organization Name].
    You help patients find information about services, office hours,
    appointment procedures, and general health topics covered in our resources.

    Rules:
    - Answer ONLY using the knowledge base. Do not provide medical diagnoses,
      prescribe treatments, or interpret lab results.
    - Always include this disclaimer when answering health-related questions:
      "This information is for educational purposes only and does not replace
      professional medical advice. Please consult a healthcare provider for
      personal medical concerns."
    - For urgent symptoms (chest pain, difficulty breathing, severe bleeding,
      signs of stroke), immediately respond: "If you are experiencing a
      medical emergency, call [emergency number] or go to your nearest
      emergency room immediately."
    - Help patients with: finding the right department, understanding
      services offered, preparing for appointments, and navigating insurance
      or billing questions from the knowledge base.
    - Use clear, non-technical language. Avoid medical jargon — if you must
      use a medical term, explain it in parentheses.
    - Be empathetic and reassuring in tone. Patients may be anxious.
    - If a patient asks something outside the knowledge base, suggest they
      call the clinic at [phone number] to speak with staff.
    ```
  </Accordion>

  <Accordion title="Real estate & property information">
    ```text theme={null}
    You are a real estate assistant for [Agency/Company Name]. You help
    visitors find property information, understand the buying/renting process,
    and answer common real estate questions based on our listings and guides.

    Rules:
    - Use the knowledge base, which contains current property listings,
      neighborhood guides, pricing information, and process documentation.
    - When a visitor asks about properties, ask clarifying questions:
      budget range, preferred location, number of bedrooms, and whether
      they're buying or renting.
    - Present property information in a structured format using Markdown:
      bold for key details (price, size, location), bullet points for
      features.
    - If a specific property is not in the knowledge base, say: "I don't
      have that listing in my database. Let me connect you with one of our
      agents who can help." Suggest they leave their contact details or
      request a human agent.
    - For legal questions (contracts, taxes, regulations), provide general
      information from the knowledge base but always add: "For specific
      legal advice, please consult a qualified real estate attorney."
    - Be enthusiastic but honest — never exaggerate property features or
      hide known limitations mentioned in the knowledge base.
    - Respond in the same language the visitor writes in.
    ```
  </Accordion>

  <Accordion title="Restaurant, travel & hospitality">
    ```text theme={null}
    You are a concierge assistant for [Business Name]. You help guests with
    reservations, menu information, hours, location details, and frequently
    asked questions about our services.

    Rules:
    - Use the knowledge base, which contains our menu, hours of operation,
      reservation policies, event information, and location/directions.
    - For reservation requests, collect: date, time, party size, and any
      special requirements (dietary restrictions, accessibility needs,
      celebrations). Then direct them to our booking link or phone number.
    - When discussing menu items, mention key details: ingredients, dietary
      labels (vegetarian, gluten-free, halal), and price if available in the
      knowledge base.
    - For allergy-related questions, share what's in the knowledge base but
      always add: "For specific allergy concerns, please confirm directly
      with our staff before ordering."
    - Be warm and welcoming — use a friendly, conversational tone that
      reflects our hospitality.
    - If asked about availability for specific dates and you don't have
      real-time data, say: "I'd recommend checking directly with us at
      [phone/booking link] for the most up-to-date availability."
    - Proactively mention relevant details: parking options, dress code,
      cancellation policy — when they're relevant to the visitor's question.
    - Respond in the same language the visitor writes in.
    ```
  </Accordion>
</AccordionGroup>

<Info>
  Want to improve your prompting skills? These resources cover techniques and best practices for writing effective system prompts:

  * [Prompt Engineering Guide](https://www.promptingguide.ai/) — comprehensive guide to prompting techniques
  * [DAIR.AI Prompt Engineering Guide](https://github.com/dair-ai/Prompt-Engineering-Guide) — research-backed prompting methods and examples
</Info>

## AI model settings

These settings fine-tune how the AI model generates responses. You can find them below the system prompt in **Settings**.

### Temperature

Temperature controls the randomness of the model's output. Lower values produce more focused, deterministic responses. Higher values introduce more variety and creativity.

| Value           | Behavior                                                                                    |
| --------------- | ------------------------------------------------------------------------------------------- |
| **0** (default) | Most focused — the model produces nearly identical answers each time                        |
| **0.1–0.3**     | Reliable and predictable with minor variation — ideal for support and knowledge base agents |
| **0.4–0.7**     | A mix of precision and originality — good for conversational or exploratory use cases       |
| **0.8–1.0**     | Imaginative and diverse responses — better suited for brainstorming or creative writing     |

The range is **0 to 1**. For most customer-facing agents, keep the temperature between **0 and 0.3** for dependable, on-topic answers, but feel free to experiement as well.

### Match count

Match count determines how many relevant passages from your [Knowledge Base](/features/knowledge-base) are included as context when the model generates a response. The default is **5**.

A higher match count gives the model more information to work with, which can improve answer accuracy for broad topics. However, too many matches may introduce irrelevant content that dilutes the response quality.

<Info>
  Both the match count and the system prompt consume tokens from the model's context window. A high match count combined with a lengthy system prompt leaves less room for the conversation itself, which can cause the model to lose track of earlier messages. Balance these settings and experiment — a concise system prompt with a moderate match count often outperforms a large prompt with many matches.
</Info>

<Tip>
  Start with the default of 5. If the agent frequently misses relevant information, try increasing to 7–9. If responses seem unfocused or include off-topic details, reduce it.
</Tip>

### Guardrail level

The guardrail level controls whether the agent restricts its answers to your Knowledge Base or can draw on its general knowledge. The default is **High**.

| Level              | Behavior                                                                                                                                   |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ |
| **High** (default) | The agent only responds to queries within the context of its trained Knowledge Base and avoids off-topic responses                         |
| **None**           | The agent responds freely to any query, leveraging its general knowledge even if the question falls outside its specific area of expertise |

<Warning>
  Setting the guardrail level to **None** allows the agent to answer any question using its general knowledge, even if the answer isn't in your Knowledge Base. Test thoroughly before using this in production.
</Warning>

### Reasoning configuration

Some AI models — called [reasoning-capable models](/features/ai-models#reasoning-capable-models) — spend extra time "thinking" before they answer. When you select one of these models, two additional controls appear in **Model Configuration**. The temperature slider is hidden, since reasoning models don't use it.

Both settings are optional. Leave them unset to use the provider's default.

#### Reasoning effort

Controls how much the model reasons before responding. Higher effort generally produces better answers on complex questions, but responses are slower and consume more credits.

| Value       | Behavior                                           |
| ----------- | -------------------------------------------------- |
| **None**    | No reasoning — closest to a standard chat response |
| **Minimal** | Very light reasoning pass                          |
| **Low**     | Short reasoning pass — good for simple lookups     |
| **Medium**  | Balanced reasoning for most use cases              |
| **High**    | Deeper reasoning for complex, multi-step questions |
| **xHigh**   | Maximum reasoning — slowest and most expensive     |

<Warning>
  Start with **Low** or **Medium** and increase only if the agent is missing nuance on complex queries. **High** and **xHigh** are not suitable for day-to-day customer support or high-volume chat — at these levels, a single response can take tens of seconds and occasionally minutes before the visitor sees a reply, which leads to drop-off and a poor chat experience. Reserve them for internal tools, research assistants, or other use cases where visitors expect to wait for a considered answer.
</Warning>

#### Reasoning summary

Controls whether the model returns a summary of its reasoning alongside the answer.

| Value        | Behavior                                       |
| ------------ | ---------------------------------------------- |
| **Auto**     | The provider decides when to include a summary |
| **Concise**  | Short summary of the reasoning steps           |
| **Detailed** | Full breakdown of the reasoning steps          |

<Info>
  Not every reasoning model exposes both controls, and some models restrict which effort levels are available. The dropdown shows only the values supported by the currently selected model.
</Info>

## Rate limiting

Rate limiting prevents individual users from sending too many messages in a short period, protecting your agent from spam and abuse. The limit is tracked **per user** and starts when they send their first message in a given window.

To enable rate limiting, go to **Settings → Rate Limits** and toggle **Enable Rate Limiting**. Configure two values:

* **Message** — the maximum number of messages a user can send within the window
* **Duration (minutes)** — the time window in which messages are counted

Once a user reaches the limit, they see a feedback message and cannot send more messages until their window expires and a new one begins.

### Rate limit reached message

Customize the message users see when they hit the rate limit. This field supports per-language values when you have [additional languages](/features/localization) enabled.

<Info>
  Rate limits apply to each channel separately — activity on the web messenger does not affect WhatsApp rate limits. API requests authenticated with a valid API key are not rate limited.
</Info>

## Playground

The Playground is a live preview of your messenger where you can test your agent's responses without embedding it on your website. Access it from **Playground** in the sidebar.

Use the Playground to:

* Test system prompt changes and see how the agent responds
* Verify Knowledge Base content is being retrieved correctly
* Preview the messenger appearance (welcome messages, suggested messages, colors)

The **Messages Sent** counter at the top shows your current usage against your plan's monthly message limit, along with the billing cycle dates.

The **Install** tab next to Playground is where you find your [embed code](/install) to add the agent to your website.
