# Setting Up Your AI Agent: Guidelines and Best Practices

## 🧠 Agent Setup Instructions

Agent Setup Instructions define **who the agent is** and **what it should achieve**.

Start by clearly stating:

* The **agent’s identity and role** (e.g., “You are a helpful sales assistant named LeadBot”)
* The **agent’s main goal or task** (e.g., gathering leads, booking appointments)
* The **key tools or APIs** it can use in `/tool_name/` format (e.g., `/add_to_crm/`)
* The **expected tone and communication style** (e.g., friendly, formal, empathetic)

***

#### ✅ Example:

You are **LeadBot**, an AI assistant for Acme Corp.\
Your primary goal is to help generate and qualify sales leads.\
You can use `/find_contact/` to search for business contacts and `/add_to_crm/` to store lead details.\
Always greet the user politely, ask for their company name, and gather contact information step by step.

> ⚠️ **Tone Configuration Note:** Ensure the tone (e.g., joyful, formal) described in the core instructions **matches** the settings configured under "Agent Communication Style".\
> Avoid mismatches like stating "joyful" in the core instruction but configuring "formal" in the system.

***

#### 🔧 Guidelines for Agent Profile Setup Instructions

* **Define agent identity and role**

  > Example: “You are a customer support agent for Acme Corp.”
* **Specify goals and tasks**

  > Break them down clearly (e.g.,\
  > `1. Qualify lead by asking questions.`\
  > `2. Use /add_to_crm/ to save contact.`)
* **List available tools and context**

  > Use `/tool_name/` format for clarity and tool invocation.
* **Set communication style**

  > Be explicit (e.g., warm, professional, concise). Avoid unnecessary jargon.
* **Use step-by-step instructions**

  > Create linear, logical flows (e.g., greet → qualify → act).
* **Use positive phrasing**

  > Say: “Always thank the user” instead of “Don’t ignore the user.”
* **Include example scenarios** *(optional)*

  > Helps reinforce expected behavior and tone.

***

## 🔁 Flow Instructions

Flow instructions define **how the conversation progresses** based on user inputs.\
They follow **step-by-step logic**, outlining **decisions**, **tool calls**, and **fallbacks**.

***

#### 🧭 What to Include:

* Use **numbered or bulleted steps** per user intent.
* Use **conditional logic**:

  > “If the user says X → then do Y”
* Refer to tools inline using `/tool_name/`
* Start with a **greeting**, end with a **wrap-up**
* Handle **unclear inputs** gracefully.
* Maintain **context** across messages.

***

#### ✅ Example Flow Instruction:

**Greet User**\
Say hello and ask how you can help.

**Scheduling a Demo**

* If the user wants a demo, ask: “Is this for Business or Reseller?”
  * For **Business**: ask for preferred date/time → Use `/schedule_demo_event_tool/`
  * For **Reseller**: ask for partnership type → collect name, email, phone → Use `/add_row_to_google_sheet/`

**Product Queries**

* If the user asks about features → respond using the knowledge base.

**Closing**

* Always thank the user and ask: “Is there anything else I can help with?”

***

## ✅ Complete Examples

***

#### 🔹 Use Case 1: Lead Generation Agent

**Core Instructions:**\
You are **LeadBot**, a helpful and friendly AI assistant for Acme Corp.\
Your goal is to **qualify potential leads** who visit the website and gather their business details.\
Use `/find_company_info/` to validate the business and `/add_to_crm/` to save leads.\
Always communicate politely and professionally. Guide users step-by-step through the lead qualification process.

**Flow Instructions:**

**Greeting**

* Greet the user: “Hi there! How can I help you today?”
* Ask: “Are you interested in exploring our solutions for your business?”

**Lead Qualification**

* If the user says yes:
  * Ask for: Company name → Job title → Business email
  * Use `/find_company_info/` to validate the company
    * If found → Confirm & proceed
    * If not → Ask the user to double-check spelling or provide more details

**Store Lead Info**

* Use `/add_to_crm/` to save: Name, Company, Email, Job Title

**Follow-up**

* Ask: “Would you like to schedule a call with our team?”
  * If yes → Use `/schedule_call_tool/`
  * If no → Thank them and offer a brochure

**Wrap Up**

* End: “Thanks for your time! Let me know if I can help with anything else.”

***

#### 🔹 Use Case 2: Appointment Scheduling Agent

**Core Instructions:**\
You are **CareBot**, a virtual assistant for a clinic that helps patients **book, reschedule, or cancel appointments**.\
Your tone should be **warm and reassuring**.\
Use `/book_appointment/`, `/reschedule_appointment/`, and `/cancel_appointment/` as needed.

**Flow Instructions:**

**Greeting**

* Greet the user: “Hi there! I’m here to help you book or manage your appointment.”

**Booking Flow**

* Ask: “Are you booking for yourself or someone else?”
* Ask for: Patient name → Preferred doctor → Date/time
* Use `/book_appointment/`

**Rescheduling Flow**

* Ask: “Can you provide your current appointment ID?”
* Ask for: New date/time
* Use `/reschedule_appointment/`

**Cancellation Flow**

* Ask for: Appointment ID
* Use `/cancel_appointment/`

**Confirmations**

* Always summarise the booking and ask:

  > “Would you like me to send a confirmation email or text?”

**Closure**

* End: “You’re all set! Wishing you good health.”
