# Basics

## What is BuddyPro, how did it come about, and what is it used for?

**BuddyPro** is a platform that allows you to turn your expert know-how into a unique **AI expert** – a digital colleague or "AI being." It was born from the long-term vision of Pavel Říha and David Kirš to create an AI product that serves a specific target audience using uploaded expert knowledge. BuddyPro represents the evolution of expert-based business by transforming passive formats (such as courses and e-books) into an interactive and intelligent form.

**Use Cases:**

- **AI Expert for Clients:** Offers interactive consulting and education 24/7 based on your know-how, replacing or complementing online courses and e-books.
- **Digital Colleague:** Supports you or your team with internal processes, strategy, and content creation.
- **Sales Support:** In the future, it can also act as a “Buddy Influencer” to assist with marketing and sales.
- **Specialized Fields:** Suitable for areas such as business, marketing, personal development, health, relationships, coaching, therapy, and other expert domains.

## What makes BuddyPro unique compared to regular chatbots and other AI solutions?

**BuddyPro** stands out thanks to:

- **Depth and “Soul”:** It’s not just a chatbot, but an “AI being” with a personality shaped by you and your expert know-how.
- **Training on Your Expertise:** It learns your specific methods, terminology, and approaches, gaining a deep understanding of your field.
- **A Unique AI Brain:**
  - **Knowledge Core:** Structures your expertise and automatically creates and uses dozens to hundreds of specific **roles** for context-aware responses.
  - **Memory System:** Features an advanced short-term and unique long-term memory that recalls information from the entire conversation history.
  - **Relational Layer:** Remembers the client’s personality, preferences, and context, helping to build real relationships.
- **Shared User Profile:** Speeds up onboarding for users who use multiple BuddyPro instances.
- **Simplicity and Accessibility:** Operates within familiar platforms (like Telegram or Google Drive) and is controlled via simple commands.
- **Security and Privacy:** Conversations are encrypted, data is not used to train the AI, and no one (not even you) has access to the content of the conversations.
- **Monetization System:** Ready for direct sales via Stripe (or an alternative like [FAPI](https://fapi.cz/)).

## Is BuddyPro suitable for beginners and small business owners with a limited community?

Yes, **BuddyPro** is also suitable for smaller entrepreneurs. You don’t need a huge community. Even a small number of clients will appreciate personalized AI support. The platform delivers cutting-edge technology without the need for your own development. Your role is to provide your know-how and offer the service to your audience. The return on investment can be fast - even with just a few clients.

## Is BuddyPro suitable for coaching, therapy, or other specialized fields?

Yes, **BuddyPro** is well-suited even for sensitive fields like these. It can ask deep questions and communicate with empathy. The key is:

- **Training it properly:** Input your ethical principles and methodologies.
- **Carefully setting the `System Prompt`:** Define its role, boundaries, and include **essential disclaimers** (e.g., that it does not replace professional therapy and is not intended for crisis situations).
- **Communicating limitations clearly:** Users must understand that AI is not infallible.

The goal is not to replace human contact, but to complement it and scale the support you offer.

## What is the main difference between a “personal Buddy” (Buddy.fm) and my own “BuddyPro” instance?

**The story behind Buddy.fm and BuddyPro:**

It all began in the summer of 2024, when David Kirš and Pavel Říha became fascinated by the rapidly evolving capabilities of large language models (LLMs). They wanted to create their own **AI companion or friend** – one that would remember them, develop a personal relationship, and help them with a wide range of topics, from work to life. This initial idea led to the creation of [**Buddy.fm**](https://buddy.fm/), where “FM” stands for _Friend and Mentor_.

Buddy.fm was designed from the start as a **universal AI companion**, with key strengths like:

- **User memory:** It builds a user profile and has long-term memory, allowing for more personalized and contextual conversations.
- **Broad knowledge:** It draws from the general knowledge of the language model it's built on, and can talk about many topics.
- **Friendly tone:** It was designed to communicate with empathy and warmth.

After developing and testing Buddy.fm, David and Pavel – both coming from the expert business world (online courses, mentoring, coaching) – saw its great potential, but also a key limitation for experts: While Buddy.fm was a great general-purpose companion, it **didn't include their deep, hard-earned expert knowledge**. It couldn’t advise clients with the same depth and precision they could.

That’s when the idea of **BuddyPro** was born. The goal was to take the best of Buddy.fm (memory, personalization, natural conversation) and **add the ability to train the AI on your expert content**. This would allow experts to create an AI that:

- **Knows their methods, processes, terminology, stories, and philosophy**
- **Advises clients in line with their unique expert approach**
- **Acts as their “digital representative” or AI version of their expertise**
- **Can be offered and sold as a standalone product**

**Key differences between Buddy.fm (Personal Buddy) and your BuddyPro instance:**

**1. Source of know-how**

Buddy.fm draws from general AI knowledge.

BuddyPro is powered by your unique content – courses, books, videos, audio, articles, or internal materials you upload.

**2. Personalization of know-how**

A personal Buddy is not tailored to any specific expert.

Your BuddyPro instance is fully customized – trained on your methods, style, and terminology.

**3. Personality and tone**

Buddy.fm has a friendly and empathetic tone defined by the platform’s creators.

With BuddyPro, you define the personality in the _system prompt_ – including tone of voice, values, roles, and more.

**4. Target audience**

Buddy.fm is built for the general public looking for a friendly AI companion.

BuddyPro is designed for your clients and community who need expert support in your field.

**5. Purpose for you**

A personal Buddy is great as a personal AI assistant or for testing the platform (including starting your BuddyPro instance).

Your BuddyPro instance is your product – a learning and support tool you can offer and sell.

**6. Training**

A personal Buddy is not trained – you only interact with it and it adapts.

BuddyPro is actively trained – you upload content, fine-tune settings, and define roles.

**7. Monetization**

With Buddy.fm, you can pay for higher tiers for personal use.

With BuddyPro, you set your pricing and sell access to your AI expert. The platform provides the monetization infrastructure.

**8. “Parenting”**

Buddy.fm is created and maintained by David Kirš and Pavel Říha.

Your BuddyPro instance is created and owned by you – you are the creator embedding your expert essence into it.

**9. Activation process**

Buddy.fm (in its Telegram version) serves as the gateway to creating your BuddyPro instance. With the command `/createPro:{license}:{botUsername}:{botToken}`, you link your license and launch your bot.

Your BuddyPro instance is the result – a standalone AI expert ready to serve you and your clients.

**In summary:**

- **Buddy.fm (Personal Buddy)** is the platform’s default, universal AI companion. It showcases the tech’s capabilities in personalized conversation and memory. For BuddyPro license holders, it acts mainly as a **gateway** to create your unique instance via the command `/createPro:{license}:{botUsername}:{botToken}`. Once you create your BuddyPro instance, it’s up to you whether you continue using the personal Buddy or not.
- **Your BuddyPro instance** is the **custom-built version** made specifically by you. It’s filled with your know-how, personality, and style, and serves a clear purpose – supporting your clients with your expertise. It’s your product – your **“digital child.”**

## Is using the “personal Buddy” (Buddy.fm) charged after creating my BuddyPro instance, or is it included in my BuddyPro license?

The “personal Buddy” (basic instance on [buddy.fm](http://buddy.fm/)) **is not included in your BuddyPro license**, and its usage is governed by its pricing plans.

- After creating your own BuddyPro instance via the personal Buddy using the `/createPro` command, the personal Buddy no longer plays any role in running your instance.
- If you wish to continue using the personal Buddy for your own purposes (as a universal AI assistant), you may need to pay for a standard plan if you exceed the free usage limit. This has no impact on the operation of your BuddyPro instance.

## Can one BuddyPro instance serve multiple purposes (e.g. coach for end users + VIP support for a paid program), or is it better to have multiple instances?

One instance **can handle multiple topics**, as long as it’s trained with the relevant know-how and roles. It adapts to what the user needs. However, if you require **significantly different depth of expertise or pricing models** for different target audiences, consider creating **separate instances**. Still, it’s generally recommended to start with a single instance.

## What guides and documentation are currently available, and what is the recommended way to use them?

When you have questions about your BuddyPro instance, we recommend the following approach:

1. **Ask your own BuddyPro:** Your own instance should be your primary source of answers, especially for technical questions. Its abilities in this area will continue to improve.
2. **Quick start guide ([pro.buddy.fm/start](https://pro.buddy.fm/start-en)):** A brief, visual guide with short videos for setting up your first instance. Recommended for beginners.
3. **Detailed text-based guide for setting up and training your instance ([https://docs.buddy.fm](https://docs.buddy.fm/en)):** A comprehensive resource covering setup, training with your know-how, the `system prompt`, commands, and more. Great for in-depth learning and as a reference. The link is available in the Telegram group and onboarding emails.
4. **FAQ (frequently asked questions: [https://pro.buddy.fm/faq](https://pro.buddy.fm/faq)):** A collection of answers to specific questions that have come up from users.
5. **Telegram groups – BuddyPro Owners (English): [https://t.me/+f0P3EW6GyJNhMGY0](https://t.me/+f0P3EW6GyJNhMGY0) and BuddyPro creators (Czech): [https://t.me/+Gl-J9HvCIZNhMTBk](https://t.me/+Gl-J9HvCIZNhMTBk):** For questions not answered elsewhere and for sharing experiences with the community.
6. **Customer support** – [support@buddypro.ai](mailto:support@buddypro.ai)

## What if I missed the initial BuddyPro setup? Can I join a live onboarding session?

First, ask your BuddyPro instance – it will give you the fastest answer. The BuddyPro team regularly hosts new onboarding Zoom meetings. You can **ask in the Telegram group** for the date of the next session and request a link to join.

## What is the BuddyGames competition and how can I join?

**BuddyGames** is an ongoing competition for BuddyPro instance owners, offering various valuable prizes over specific periods. The goal is to encourage active use and promotion of your instance.

- **How to join:** In your BuddyPro instance, enter the command `/joinGame`.
- **Criteria:** User activity within your instance is evaluated.
- **Prizes:** We regularly publish a leaderboard of the most successful instances and reward their owners with valuable prizes.
- **Long-term aspect:** Participation also counts toward a long-term leaderboard with additional upcoming rewards.

## Can Buddy play videos directly inside Telegram?

No, Buddy (neither a BuddyPro instance nor the personal Buddy) cannot play videos directly inside Telegram as a built-in multimedia player.

If your know-how includes videos (for example YouTube links), Buddy can:

- work with the content of the video (if uploaded or added as a URL source),
- reference key ideas from it,
- recommend a specific video,
- provide a direct link to watch it.

However, the actual video playback always happens outside of Telegram — for example after clicking the external link.

---

# Instance creation

## How do I create my own BuddyPro? Do I need to be tech-savvy?

You don’t need to be a technical expert. The setup takes approximately 2–3 days. Follow the [official documentation](https://www.notion.so/BuddyPro-Jak-na-vlastn-AI-instanci-krok-za-krokem-1ae10e1465e28183a8badfc82120a8a3?pvs=21) and this FAQ guide:

1. **Get your license code** from the BuddyPro team.
2. **Create a Telegram bot:**
   - In Telegram, search for [@BotFather](https://t.me/BotFather) (with the blue check mark).
   - Send the command `/newbot`.
   - Enter the **bot name** (can be changed later) and **username** (must end with `bot` or `_bot`, **cannot be changed!**).
   - `BotFather` will generate your **API token** – **store it safely!**
3. **Connect your bot to BuddyPro:**
   - Open the base instance [Buddy.fm](http://buddy.fm/) and start a conversation.
   - Enter the command (replace with your actual info):
     ```
     /createPro:{license}:{botUsername}:{botToken}
     ```
   - [Buddy.fm](http://buddy.fm/) will send you a link to your new BuddyPro instance.
4. **Connect your Google Drive:**
   - Go to the chat with your new BuddyPro instance.
   - Type the command `/setup`.
   - Create a **new folder** on your Google Drive.
   - **Share** this folder (as an **Editor**) with the email address provided by BuddyPro.
   - Copy the **URL** of your folder.
   - Go back to Telegram and enter the command (replace with your folder URL):
     ```
     /setFolder:{folder_URL}
     ```
   - BuddyPro will confirm success and create the required folder structure.
5. **Next steps:** Upload your content to the relevant folders on Google Drive and configure your instance using commands (see the `/help` command for guidance).

## Can someone other than the owner set up the instance from A to Z? For example, a team member. What are the exact step-by-step instructions if someone other than the final owner is setting up the instance?

Yes, it's possible for someone else (e.g., a team member or technical assistant) to handle the technical setup of the BuddyPro instance instead of the final owner. The key is to properly divide roles and securely hand over all necessary information.

It’s important to distinguish between the following ownership levels:

1. **Telegram bot ownership:** Managed via `@BotFather`. The technical person creates the bot and then transfers ownership to the final owner.
2. **BuddyPro instance ownership:** Managed using the command `/setProOwner:{user_ID}` directly in the chat with your BuddyPro instance (AI expert). After setup, the technical person transfers ownership to the final owner.
3. **Access to Google Drive data:** The folder for know-how should be created and owned by the final owner, who grants editor access to the technical person only for the duration of the setup.

### Step-by-step setup process delegated to a technical person

**Phase 1: Preparation and creating the foundation (carried out by the TECHNICAL PERSON and the OWNER)**

**Step 1: Create and share the Google Drive folder (by the final OWNER)**

1. The **final OWNER** creates a new, empty folder on their Google Drive (e.g., “Data for AI Expert”).
2. This folder is shared with the **technical person** with **editor** access. This permission will be needed throughout the setup process.

**Step 2: Create the Telegram bot (by the TECHNICAL PERSON)**

1. The **technical person** opens a chat with `@BotFather` on Telegram.
2. Sends the command `/newbot`.
3. Follow the steps to choose:
   - A **display name** for the bot (e.g., “AI Expert Sales”). This can be changed later by the final owner.
   - A **unique username** for the bot (e.g., `AIExpertSales_bot`). This username **cannot** be changed later.
4. `@BotFather` generates a unique **API token** for the new bot.
5. The **technical person** securely stores the API token. It will be needed for the next step.

**Step 3: Create the BuddyPro instance (by the TECHNICAL PERSON)**

1. The **technical person** needs:
   - **BuddyPro license key** (provided by the final owner).
   - **Bot username** (from Step 2).
   - **Bot API token** (from Step 2).
2. The technical person opens _their_ Telegram and chats with their **Personal Buddy** (e.g., via [buddy.fm](https://buddy.fm/)).
3. Enters the command:

   `/createPro:{license_key}:{bot_username}:{bot_API_token}`

4. The Personal Buddy confirms the instance was created and provides a link to the new AI expert (bot).

   _Note:_ At this point, the technical person becomes the _temporary owner_ of the new BuddyPro instance.

**Step 4: Initial configuration and training of the BuddyPro instance (by the TECHNICAL PERSON)**

1. The technical person opens the chat with the new AI expert (bot).
2. Completes the initial setup:
   - **Connect to Google Drive:**
     - In the bot chat, they enter `/setup` to get the BuddyPro service email address.
     - The **final OWNER** (or the technical person, if they have access) shares the Google Drive folder (from Step 1) with that email address as an **Editor**.
     - The technical person enters `/setFolder:{shared_folder_URL}` to link the folder to the instance.
   - **Upload and process know-how:**
     We recommend not “jumping headfirst” into uploading your Know-How.

   👉 More doesn’t always mean better.
   - A smaller amount of well-structured Know-How is the ideal first step.
   - Take your time to reflect on the core of your expertise or service and start by uploading only the most essential content. You can always add more later.
   - We recommend uploading your Know-How in smaller parts. Content processing consumes AI credits.
   - Gradual uploading gives you better control over the cost of processing your knowledge base.
     - The technical person uploads all provided know-how (PDFs, texts, video links, etc.) into appropriate subfolders inside the `sources` folder on the shared Google Drive. (We recommend uploading your Know-How in smaller parts and calling`/update` after each part. This way, you will have better control over the processing and can also verify the cost of each processed part using the `/stats` command.)
     - Runs the `/update` command to process the materials and generate transcripts.
   - **Generate expert roles:**
     - Runs the `/updateRoles` command to generate expert roles based on the know-how.
   - **Set up personality and onboarding:**
     - Edits the files `system_prompt.gdoc` (defines the bot’s personality and rules) and `onboarding.gdoc` (welcome messages) in the main folder.
     - After editing, it runs `/update` again to apply the changes.
   - _(Optional)_ Performs basic testing of functionality and response quality.

**Phase 2: Transferring full control to the final OWNER**

**_Step 5: Adding the final OWNER to the instance trial (performed by the TECHNICAL PERSON)_**

**\*The technical person** adds the final owner as a testing team member of the instance in their conversation with the AI expert.This allows the final owner to verify the bot's functionality and get familiar with it before taking full ownership.\*

- **The technical person** adds the final owner as a testing team member of the instance in their conversation with the AI expert.
- This allows the final owner to verify the bot's functionality and get familiar with it before taking full ownership.

_Result: The final owner has access to the instance as a trial user._

**Step 6: Transfer ownership of the Telegram bot (coordinated by TECHNICAL PERSON and OWNER)**

1. The **technical person** types `/mybots` in their chat with `@BotFather`.
2. `@BotFather` will ask which bot you want to manage. The technical person selects the bot created in Step 2 and then clicks on _Transfer ownership_.
3. `@BotFather` asks for the `@username` of the **new owner** (i.e., the final owner’s Telegram username).
   - _Requirement:_ The final owner must be in the technical person’s Telegram contacts and must have started a chat with `@BotFather` at least once (e.g., by sending `/start`).
4. `@BotFather` sends a transfer request to the final owner.
5. The **final OWNER** confirms the transfer in their chat with `@BotFather`.

   _Result:_ The final owner is now the full owner of the Telegram bot.

**Step 7: Transfer ownership of the BuddyPro instance (by TECHNICAL PERSON, requires OWNER’s User ID)**

1. The **final OWNER** retrieves their **Telegram User ID** by typing `/myid` in a chat with _any_ BuddyPro bot (or Personal Buddy) and shares it with the technical person.
2. The technical person, in their conversation with the AI expert (whom they are still temporarily managing as the BuddyPro owner), enters the command:

   `/setProOwner:{User_ID_of_final_owner}`

   _Result:_ The final owner becomes the official administrator of the BuddyPro instance. The technical person loses these rights.

**Step 8: Final OWNER takes over full management**

- The final owner can now fully manage the BuddyPro instance (e.g., set up Stripe/FAPI, manage users, generate invites, etc.) via their chat with the AI expert.
- They have full control over the Telegram bot via `@BotFather`.
- They have full ownership of the Google Drive folder for know-how and can revoke the technical person’s editor access if no longer needed.

### 🔒 **Key security considerations and recommendations**

- **Trust:** This process requires trust between the final owner and the technical person.
- **Clear communication:** Ensure smooth coordination, especially when sharing the Google Drive folder and Telegram User ID.
- **Google Drive:** The final owner should always be the folder owner. The technical person gets temporary editor access only.
- **Telegram account:** The final owner **should never** share their Telegram login details. All actions involving their account must be done by them.

## How to choose the right name and username?

- **Bot name (Name):** This is what appears in Telegram as the name of the conversation. It can be **changed anytime** via `@BotFather`. It can include spaces and accents. It should reflect the personality or purpose of your AI.
- **Username:** For example, `my_expert_bot`. It must be **unique across all of Telegram**, a single word (underscores allowed), and **must end in `bot`**. **It cannot be changed later!** Choose carefully—ideally your brand name, your own name, or something universal. Double-check for typos.

If you're unsure about the username, you can go with something neutral (like your name or business name) or use a generic code—it won’t affect how users perceive your bot.

## What is the difference between a bot’s “name” and “username” on Telegram, and which one can be changed later?

- **Bot name:** This is the name users see in conversations and how the bot is generally recognized (e.g., "Online Stratég AI", "Průvodce KLIDEM”). You **can change** this name later in the Telegram bot settings, along with the bot’s profile picture and description.
- **Bot username:** This is the unique identifier of the bot on Telegram (e.g., `OnlineStrategAI_bot`). This username **cannot be changed later.** It’s part of the bot’s URL (e.g., `t.me/OnlineStrategAI_bot`). While it's not as visible to users as the bot’s name, it’s still important to choose it carefully so it doesn’t include anything you might regret later. It must end with `bot` or `_bot`.

## How do I connect BuddyPro to Google Drive, and is it safe?

The connection is made using the commands `/setup` and `/setFolder:{folder_URL}`. BuddyPro will guide you through the process. **Yes, it is safe.** Access is granted **only to the specific folder** you explicitly share as an Editor. BuddyPro cannot access anything else on your Drive.

From a security perspective:

- BuddyPro will only have access to the folder you share, not your entire Google Drive.
- It works just like sharing a folder with a specific person.
- You can use a business Google account or even create a new one just for this purpose.
- The knowledge you upload will not be shared elsewhere — it is used **exclusively** by your BuddyPro instance.

## What is the basic process for setting up my BuddyPro instance after uploading content?

1. Upload your know-how to the `sources` folder on Google Drive.
2. Run the command `/update`.
3. Generate roles using the command `/updateRoles`.
4. Use the command `/createSystemPrompt` to generate the first draft of your `system prompt`. Then manually fine-tune it in the corresponding Google Doc. After editing, run `/update` again.
5. Start testing the conversation.

## Is it better to upload know-how (PDFs, videos, audio) to the `sources/files` folder as many shorter, thematically separated files, or as fewer longer files? Does it affect quality or speed?

If you have the choice, it’s generally **better to use multiple shorter, thematically separated files.**

- **Role quality:** BuddyPro selects relevant files based on summaries of their content when defining roles. Thematic separation leads to more accurate and higher-quality role definitions.
- **Response speed:** The size of individual files (once initially processed and indexed) **does not affect response speed**, since the AI doesn’t scan entire files every time—it pulls only relevant parts.

## Can I create custom folders in my know-how section on Google Drive for better organization?

Creating custom folders inside `sources/files` **is not supported** and may disrupt the functionality of your BuddyPro instance. For better organization, we recommend using clear and consistent file naming (e.g., `CourseName_Module_Lesson.mp4`).

## I can already chat with my BuddyPro instance even though I haven't topped up any credits. How is that possible?

Each purchased **BuddyPro license includes an initial credit balance** (the exact amount varies—ask your BuddyPro instance about your current balance). This initial credit covers the costs of training and your first AI messages (both yours and your clients’), so the instance can function even before your first top-up.

## Do I need to adjust individual roles after they are automatically generated manually?

In most cases, **manual adjustments are not necessary**. It’s recommended to fine-tune a role only if:

a) the AI repeatedly behaves inappropriately within that role,

b) you expect something specific from that role (e.g., recommending a particular video or product with a link).

After making changes to a role, run the `/updateRoles` command.

## Can I write the `system prompt` before generating roles, or the other way around?

The **recommended and more effective approach is to generate roles first.** Here’s why:

1. **Using the `/createSystemPrompt` command:** This command, which automatically generates a system prompt draft, **requires an existing list of roles** to create a high-quality and relevant AI persona. Without roles, the draft will be incomplete or generic.
2. **Quality of the AI instance:** Roles are a key part of your instance’s “brain.” If you start testing with just a `system prompt` but no roles, the responses won’t fully leverage the expert knowledge you’ve uploaded.

**In short:** Always start by uploading your know-how (`/update`), then generate roles (`/updateRoles`), next create a system prompt draft (`/createSystemPrompt`), and finally fine-tune it and run `/update` again.

## How to make sure my AI instance always speaks in the masculine/feminine form?

If you want your AI instance to always communicate using masculine or feminine language, the first step is to **define this explicitly in the system prompt**. For example:

"You are speaking in a masculine role – this means you always refer to yourself as a man and use masculine grammatical forms.”

If your instance still occasionally switches forms or doesn’t follow the gender consistently, add a final section in your system prompt called **“CRITICAL MISTAKES AND THEIR FIXES”**, for example:

- **MISTAKE:** You speak as a woman using feminine grammatical forms... **FIX:** You are a man, always speak in the masculine form.

Mentioning this instruction multiple times in the system prompt — especially at the beginning and end — can help enforce consistency more effectively.

## What to do if you need help or you're struggling to create your BuddyPro instance?

1. **Ask BuddyPro directly** – this is the fastest way to get an answer (many users forget this option).
2. **Check the official documentation:** You can find links in the Telegram group or in the email you received.
3. **Ask in the BuddyPro Owners Telegram group:** Use the `General` or `Technical Support` channel. (Link: [https://t.me/+6-HDQYTV6is1NTg0](https://t.me/+6-HDQYTV6is1NTg0))
4. **Write to support:** [`support@buddypro.ai`](mailto:support@buddypro.ai)
5. **Book a consultation:** `richard@buddy.fm` (Richard Gonzor)

## Is there a time limit between creating a bot in BotFather and connecting it using `/createPro`?

**No, there isn't.** There is no time limit for creating your bot in `@BotFather` and linking it to your license using the `/createPro` command in Buddy.fm. If the `/createPro` command returns a license error, double-check for typos in the command (license key, username, token) or verify your license status with support.

---

# Training and Learning

## How do I teach BuddyPro my know-how, and what file types should I use?

Upload your know-how to the `sources` folder on your connected Google Drive:

- **In the subfolder `sources/Files`:** Upload files from your computer (text-based PDFs, DOCX, TXT, audio MP3, video MP4, images JPG/PNG, presentations PPT...).
- **In the subfolder `sources/Texts`:** Create or move **Google Docs** with text content (FAQs, processes, updates).
- **In the file `sources/URLs/URL SOURCES`:** Add **URL links** (one per line) to publicly accessible websites, articles, YouTube videos (up to approx. 3 hours), or Vimeo videos (public/unlisted).

After uploading or editing content, always run the `/update` command in Telegram so that **BuddyPro** can process the data.

## What are the recommended "Transcription Settings" and how do they affect the quality and cost of training?

In the root directory of your BuddyPro folder on Google Drive, you’ll find a file named `transcription_settings`. You can configure the following options:

- **`IMPROVED_TRANSCRIPTIONS` (TRUE/FALSE):**
  - `TRUE` (default): Transcriptions of audio/video files will be "improved" — not just verbatim, but also structured, with headings, shorter sentences, and without filler words. This improves readability and orientation for the AI but is **significantly more expensive** (consumes more AI credits).
  - `FALSE`: A classic, verbatim transcription. Cheaper and recommended if you have a large volume of audio/video content and want to save credits.
  - You can check the **total cost of training** (processing and transcribing all your sources) using the `/stats` command, under the line **`AI costs of Buddy Pro training`**. This will help you evaluate the impact of the `IMPROVED_TRANSCRIPTIONS` setting on your overall expenses.
- **`LANGUAGE` (e.g., cs, en, sk):** If all your audio/video sources are in one language, enter its ISO 639-1 code (e.g., `CS` for Czech). This improves transcription accuracy. If your materials are in multiple languages, leave the field empty – the AI will attempt to detect the language automatically.
- **`KEYWORDS` (comma-separated keywords):** Enter specific terms, names, project/product names that the AI might mis-transcribe because they are not common language elements (e.g., Pavel Říha, FutureBot, BuddyPro). This helps improve the accuracy of transcribing these words.
- **Automatic audio speed‑up**

A new improvement automatically speeds up all audio and video files to **1.7×** before they are transcribed. Because the AI processes a shorter recording, the transcription costs are roughly **40 % lower** while quality remains unchanged. You do not need to change any settings – the acceleration happens in the background and applies to all uploaded audio and video.

## What if I don’t have much of my own source material?

Even with a smaller amount of specific know-how, BuddyPro will still work. Focus on the following:

- **Key know-how:** Upload the essentials of your methods, core principles, and answers to frequently asked questions.
- **High-quality `System Prompt`:** Define the personality, values, and direction of your AI instance clearly.
- **Use AI to generate materials:** You can use tools like ChatGPT ("deep research") to help you create supporting materials, which you can then review, edit, and upload for training.

Quality and clear intent matter more than quantity.

## For better AI response quality, is it more effective to have precise, shorter documents (quality) or a large amount of varied materials, including consultation recordings (quantity)?

Ideally, a **combination of both** works best.

- **High-quality, structured documents:** These ensure accuracy, clear focus, and correct information. AI can extract dense, key insights more effectively from them.
- **Quantity of diverse materials (e.g., consultation recordings):** These offer broader context and real-life examples (including your language and style), which help make responses richer and more authentic. AI can pull relevant snippets from such materials to illustrate the topic.

If you're concerned about uploading “messy fragments” from consultations, you can consider cleaning them up first (e.g., anonymizing, extracting key ideas), as described in the original FAQ. Still, even unstructured but authentic content can provide valuable context for your AI instance.

## If I have videos, audio, and text transcripts/presentations for a course, what is the best option to upload to BuddyPro in terms of efficiency and cost?

1. **Best and most cost-effective: Text files (Google Docs, PDFs with text).** If you already have high-quality transcripts or written materials, use those. **You’ll save credits by avoiding transcription of audio/video.**
2. **Audio files:** If no text is available, audio is better than video, since AI does not analyze the visual part. Audio files take up less storage space and are faster to process.
3. **Video files:** Use them only if no other form is available. Keep in mind that transcription costs will apply and credits will be deducted accordingly.

## Is it better to upload all training materials for BuddyPro to Google Drive at once, or can I add them gradually? How does this affect role generation?

Choosing your know-how upload strategy — whether to upload a large batch at once or add materials step-by-step — has a significant impact on the training process, especially on the quality and relevance of automatically generated **roles**, and thus on the overall behavior and capabilities of your AI expert.

**Understanding "roles":**

Before discussing strategies, it’s important to recall what "roles" mean in the BuddyPro context. When a user interacts with your AI instance, the AI dynamically switches between different "expert roles." Each role represents a specialized set of instructions and focus areas, enabling the AI to respond as relevantly as possible to specific queries or topics. For example, your AI marketing expert might have roles like "Facebook Ads Specialist," "SEO Expert," "Sales Webinar Creator," etc. These roles are automatically generated based on the analysis of your uploaded know-how. The goal is for the AI to behave like a team of specialized experts under one main AI personality (defined in the system prompt).

**Upload strategies and their effects:**

**1. Uploading a large batch of know-how at once (before first role generation):**

- **How it works:** You gather a comprehensive set of your know-how materials (courses, books, videos, articles, etc.) and upload them into the `sources` folder on Google Drive **before** running the `/updateRoles` command for the first time. After uploading, you run `/update` (to process and overwrite data) and then `/updateRoles`.
- **Advantages:**
  - **Highest quality and relevance of roles from the start:** When AI analyzes the complete set of your know-how, it has the best overview of topics, subtopics, and their relationships. This leads to a more comprehensive and precise mapping of your expertise into roles. Roles will be better defined and cover a wider spectrum of your knowledge.
  - **Consistency:** The entire role system is built on a unified foundation.
  - **Less manual role editing later:** Since roles are well defined from the start, you’re less likely to need major adjustments or cleanups later.
- **Disadvantages:**
  - **Time-consuming preparation:** Gathering all relevant content can take longer.
  - **Longer initial processing:** The first `/update` and `/updateRoles` may take longer due to the large data volume.
- **Ideal when:** You have a clear idea of the content you want your AI expert to know and can invest time in thorough data preparation before starting.

**2. Gradual know-how uploading (iterative approach):**

- **How it works:** You start with a smaller, basic set of know-how (e.g., one book, a key course). After uploading and running `/update`, you generate the first set of roles using `/updateRoles`. You test the AI and then gradually add more materials. After significant content additions, you consider the impact on roles.
- **Advantages:**
  - **Faster start:** You can start testing basic functionality and AI interaction sooner.
  - **Iterative improvement:** Allows gradual tuning and expansion of AI knowledge.
  - **Flexibility:** You can respond to early experience and add know-how accordingly.
- **Disadvantages/challenges:**
  - **Potentially less optimal initial roles:** Roles generated from limited know-how might not fully capture the breadth of your expertise. Some important subdomains may not be identified as separate roles.
  - **Need to update/regenerate roles:** After adding **significant** new blocks of know-how (e.g., a complete new course on a new topic), it is **strongly recommended** to update roles.
    - **How to update roles after major additions:**
      1. Upload new materials to `sources`.
      2. Run `/update` to process new content.
      3. Go to your instance’s Google Drive `ROLES` folder.
      4. Delete all existing role definition files (e.g., `Role_ExpertNaX.gdoc`, `Role_KoucProY.gdoc`, etc.). **Keep only the `list_of_roles.gdoc` file** (which contains only the list of role names, not definitions).
      5. Run `/updateRoles`. The AI will generate a completely new set of roles that incorporate both original and newly added know-how.
    - **Partial role update (advanced):** If you add content only about a specific area (e.g., a new training about webinars), you can try deleting only the relevant roles and regenerate just those. This requires identifying which roles are impacted.
- **Ideal when:** You want to start quickly and are ready for an iterative process that may involve later role "re-generation." Or if your know-how is evolving step-by-step.

**Why is proper role generation important?**

When AI generates the definition of a particular role (e.g., "Facebook Ads Specialist"), it actively searches all currently uploaded content and selects the most relevant information, frameworks, procedures, and key ideas related to Facebook ads. It then compiles this into a detailed role description (usually several pages). If important parts of your Facebook ads know-how are missing at the time of role generation, the role’s definition will be incomplete, and AI will perform suboptimally in that role.

**Example:**

- Imagine AI as a chef, and roles are its specialties (expert in Italian cuisine, expert in French cuisine).
- If you give it only a spaghetti carbonara recipe when training the "Italian cuisine expert" role, its abilities in that role will be limited.
- But if you give it a whole Italian cookbook, the "Italian cuisine expert" role definition will be much richer and it will better respond to various questions about Italian dishes.

**Recommended combined approach:**

1. **Start with a representative base:** Upload the key part of your know-how that well represents your main expertise areas.
2. **Run `/update` and `/updateRoles`:** Generate the first role set and start testing.
3. **Iteratively add more materials:** Gradually upload additional materials.
4. **Assess impact:** If you add only small updates or content related to already well-defined roles, you don’t need to regenerate roles immediately. New info will be used from the knowledge base without changing role definitions.
5. **For major know-how expansion, regenerate roles:** If you add entirely new topics or greatly expand existing ones, perform a complete role deletion and regeneration as described above to allow AI to create new, more accurate roles or update existing ones with new insights.

**Summary:**

There is no one-size-fits-all solution. If you want maximum quality and complexity of roles from the start, invest time in preparation and upload most know-how at once. If you prefer a faster start and iterative development, be prepared to "redo" roles after adding significant new knowledge blocks. The key is to understand that **the quality and scope of know-how uploaded at the moment of role generation directly affects the quality of these roles**, and thus your AI expert’s capabilities. Continuous small know-how additions are fine and desirable; large "jumps" in content volume or focus may require role structure updates.

## How to best teach AI know-how from recordings of client interviews or consultations?

We recommend first manually processing the recording (and anonymizing client data) as follows:

1. **Transcription:** Create a transcript of the interview/consultation (e.g., using FutureBot or another transcription service).
2. **Extraction and Anonymization:** Input the transcript into a general AI (e.g., ChatGPT) with a prompt like: "This is a transcript of a group consultation. Extract the key principles, strategies, and know-how I shared as a trainer. Anonymize client names and their specific projects. Preserve the nuances and depth of my answers."
3. **Using the Extract:** Upload the resulting shorter, anonymized document containing the essence of your know-how from this interaction as a source into your BuddyPro instance.

## What are the size limits for uploading files (e.g. videos) during a single `/update`? Is there a total data volume limit?

There is no strictly defined limit for the size of a single file or the total volume of data uploaded at once using the `/update` command. The system should be able to process larger files or larger data sets (e.g. videos up to 10 GB in size). However, with extremely large files or when uploading hundreds of files at once, you may run into server-side technical limits (e.g. memory exhaustion or processing timeouts).

If you are uploading a large amount of audio/video content, consider setting `IMPROVED_TRANSCRIPTIONS` to `FALSE` in the `transcription_settings.gdoc` file to reduce AI transcription costs and potentially ease the server load. It’s recommended to upload and process large volumes of data gradually. If you encounter repeated issues, please contact support.

## Does BuddyPro support uploading ZIP files to `sources`?

Uploading archives in ZIP (or other compressed formats) to the `sources` folder is not officially supported and will likely not work. The platform is designed to process individual files in supported formats (PDF, DOCX, TXT, MP3, MP4, Google Docs, etc.). We recommend extracting the files from the archive and uploading them individually to `sources/Files`.

## How can I upload audio files that are stored online and accessible via URL?

If you have audio files stored online (e.g., in your cloud storage or on a website) and they are accessible via a **direct public URL** (a direct link to the file), you can teach BuddyPro from them just like any other URL source. Simply paste each direct audio file URL (one per line) into the `URL SOURCES.gdoc` file located in the `SOURCES/URLs/` folder. Then run the `/update` command so BuddyPro can download and process the audio files.

**Important:** The URL must point **directly to the audio file**, not to a webpage where the audio can be played.

## What if my videos contain diagrams, charts, or visual processes? How can I ensure BuddyPro understands them?

BuddyPro primarily processes **text and speech**. It does **not directly analyze visual content** such as charts or diagrams. To help it understand visual elements in your videos, consider the following:

- **Verbal descriptions in the video:** If you clearly **describe out loud** what’s on the diagram and how it works, that narration will be transcribed and understood by the AI.
- **Separate text explanation:** Create a **text document** explaining the diagram or chart and upload it to the `sources` folder.
- **Use external AI for image descriptions:** You can use tools like **ChatGPT or Google Gemini** to analyze your image and generate a **text description**. You can then upload this description as a source for BuddyPro.

## What Are “Roles” in BuddyPro and How to Manage Them?

Roles in BuddyPro are specialized expert profiles that BuddyPro automatically generates from your know-how:

**What are roles:**

- Individual expert specializations of your AI assistant
- Each role contains specific knowledge, strategies, and approaches
- BuddyPro can have dozens or even hundreds of different roles

**How they work:**

- BuddyPro automatically switches between roles based on the conversation context
- The user doesn’t need to specify which role BuddyPro should use – it happens naturally

**How to manage roles:**

- **Creation:** The list is generated/updated after running `/update` on Google Drive in `ROLES/list of roles`.
- **Generating role content:** Run `/updateRoles`. You may need to run it multiple times. Other options: `/updateNextRole`, `/updateRole:{name_of_role}`.
- **Management:** Roles are Google Documents in the `ROLES` folder. You can **edit them manually** (then run `/updateRoles` again). After a **major knowledge update**, it’s recommended to **delete** the relevant role files and let them be **regenerated**. You can also edit the role name in `list of roles` or add your own.

## Does BuddyPro Work Without Roles, Using Only Uploaded Know-How?

Yes, BuddyPro will work even without defined roles, using just the uploaded know-how. The system can process your content without predefined roles, but creating roles significantly improves the quality of its responses.

Roles help BuddyPro better structure and apply your know-how across different contexts, which is why their use is strongly recommended. Without roles, responses may be less specific and less focused on particular areas of expertise.

Ideally, you should:

1. First upload your know-how
2. Let BuddyPro generate roles using the `/updateRoles` command
3. Optionally edit or supplement the roles as needed

The role generation process is automated and helps BuddyPro better understand the structure and context of your know-how.

## Is There an Optimal Number of Roles My BuddyPro Instance Should Have? How Does the System Handle Duplicate Roles?

There is no clearly defined “optimal” number of roles. The number of roles your BuddyPro instance generates depends primarily on the **scope and structure of your uploaded know-how.**

- **Pavel Říha, for example, mentions around 650 roles** for his "Online Strategist" instance, which resulted from his extensive knowledge base. However, this does _not_ mean every instance must have hundreds of roles.
- **Trust the process:** Rely on the AI to analyze your content and generate an appropriate number of roles.
- **Role growth over time:** Initially, as you upload your core know-how, the number of roles may grow quickly. Later, as you add supplementary materials, fewer new roles are created—many topics are likely already covered by existing roles.
- **Handling duplicates:** The system actively tries to **avoid role duplication**. When generating new roles, it checks existing ones and avoids creating roles with significantly overlapping content.

Focus more on the quality and depth of your uploaded know-how rather than trying to reach a specific number of roles.

## What Is the System Prompt and How to Set It Up?

The **System Prompt (`system_prompt.gdoc`)** is a text-based Google Doc located in the main folder of your instance. It is the **brain and soul of your AI** – it defines its **core personality, tone, values, rules, and boundaries**.

### **Recommended Setup Process:**

1. **Make sure your know-how is uploaded and roles are generated:**

   Before setting up the `system prompt`, ensure that you’ve uploaded your key materials into the `sources` folder and run `/update`, and that you’ve generated expert roles using `/updateRoles`.

2. **Let the system generate your first draft:**

   Instead of writing it from scratch, use this command in Telegram:

   ```bash
   /createSystemPrompt
   ```

- This command analyzes your know-how and roles and generates a **professional system prompt draft** directly in the `system_prompt.gdoc` file. It only works if the file is empty.

1. **Manually refine the draft:**

   Open the generated `system_prompt.gdoc` and fine-tune it to match your brand voice and preferences:
   - **`ABOUT-YOU`:** Review and clarify the AI’s identity (who it is, what it does, its mission).
   - **`PERSONALITY`:** Adjust communication style (tone of voice, formal/informal, empathy).
   - **`RULES`:** Add or modify specific rules about what the AI is allowed or forbidden to do (**mandatory disclaimers**, boundaries, etc.).
   - **`VALUES`:** Make sure the values reflect your brand.
   - **`CRITICAL ERRORS AND THEIR SOLUTIONS`:** Add a section to address and fix any undesired behavior you encounter during testing.

2. **Activate the changes:**

   After editing and saving your `system_prompt.gdoc`, run the `/update` command in Telegram so the new personality is loaded and activated.

This method is far quicker and more effective than starting with a blank document. Keep in mind that detailed **know-how** (e.g., specific procedures, tutorials, data) should **go into the `sources` folder**, **not** into the `system prompt`. The prompt should stay relatively concise – ideally under 5 pages.

## How to Best Structure Content for Effective BuddyPro Functionality

To upload and structure your content effectively, follow these guidelines:

1. **Prepare Your Content:**
   - Choose content that clearly expresses your expertise.
   - You can add content continuously over time.
   - Name uploaded files clearly so they’re easy to navigate.
2. **Correct Placement:**
   - **Files** – for physical files (PDF, audio, video)
   - **Texts** – for Google Docs and regularly updated materials
   - **URLs** – for websites and hosted videos (e.g., YouTube)
   - **Never create your own folder structure** on Google Drive!
3. **Optimize Transcription in the “Transcription Settings” File:**
   - Set the transcription language (e.g., “cs” for Czech)
   - Define keywords and terms the AI might otherwise misinterpret
   - Choose whether you want a **verbatim** transcription or **optimized one**
4. **Update Process:**
   - After uploading files, use the `/update` command
   - After significant updates, delete existing roles and generate new ones
   - For campaign materials or time-sensitive content, consider whether it should be included
5. **Step-by-Step for Best Results:**
   - First, upload all your know-how.
   - Then generate roles with `/updateRoles`.
   - Next, generate the `system prompt` using `/createSystemPrompt`, and fine-tune it.
   - Test and adjust as needed.

## What Is the Optimal Length of a System Prompt and How Does Its Length Affect the Cost of Running an AI Instance?

The ideal length of a `System Prompt` is approximately **3 to 5 pages** of text (standard formatting in Google Docs). Pavel Říha, for example, uses a `System Prompt` of about 10 pages for his Online Strategist, which is still considered acceptable.

**Impact of Length on Costs:**

- The `System Prompt` is **included with every message** (every AI “call”). This means that the longer your `System Prompt` is, the more context is sent to the AI each time it generates a response.
- A longer context means **higher computational demands**, which translates to **higher costs per message**.
- A short `System Prompt` (3–5 pages) tends to blend into the overall context (which also includes conversation history, roles, retrieved know-how, etc.) and has minimal effect on cost.
- An **extremely long `System Prompt`** (e.g. 20+ pages) can significantly and unnecessarily increase the cost per message. It may also make it harder for the AI to process and follow all instructions correctly.

**Recommendations:**

- Keep the `System Prompt` as **concise as possible**, while still detailed enough to clearly define the AI’s personality, rules, and boundaries.
- Put extensive know-how, specific workflows, and detailed information into the `sources` folder — **not** into the `System Prompt`.
- Aim for a balance between clarity of instructions and cost-efficiency.

## How to Customize the Language Style and Tone of Your BuddyPro?

You define the language style and communication tone primarily in the **System Prompt**. Here are the key aspects you can adjust:

1. **Formality of Communication:**
   - Specify whether the communication should be **formal or informal**
   - Define whether the assistant should **use casual (e.g., first-name basis) or formal address** (e.g., “Communicate informally and use first-name basis with users”)
2. **Tone and Personality:**
   - Define the tone: should it be **motivational, empathetic, factual, humorous**, etc.
   - Describe personality traits (e.g., “Be friendly, empathetic, but also professional”)
3. **Typical Phrases and Expressions:**
   - Include characteristic **phrases or expressions** you commonly use
   - Define **industry-specific terminology** that should be used consistently
4. **Style of Giving Feedback:**
   - Specify how BuddyPro should **react to users' successes or challenges**
   - Define how it should **guide users toward solutions**
5. **Reactions to Specific Situations:**
   - Define how to **respond to sensitive topics**
   - Set clear **boundaries** (what not to say, what to avoid)
6. **Critical Communication Errors:**
   - Describe **communication mistakes** your BuddyPro may make and how they should be corrected

The style will also be influenced by the language and tone of your uploaded materials. After editing the `system prompt`, use the `/update` command.

## Can I set regular mass reminders for all users in BuddyPro?

No, BuddyPro cannot automatically send regular mass reminders to all users.

If you want your users to receive notifications at a specific time, they must set them up on their own side (for example, using their personal reminders in a phone or calendar).

The System Prompt cannot be used to make Buddy trigger scheduled messages for everyone. Buddy only reacts to interactions, not to pre-scheduled timers.

## How can I ensure that BuddyPro prioritizes facts from my know-how over general AI knowledge (e.g., with laws)?

This is a common challenge for all AI systems. To increase accuracy and ensure your know-how takes priority:

1. **Instructions in `System Prompt`:** Explicitly state that for sensitive areas (e.g., law, taxes), BuddyPro should **always rely primarily or exclusively on your uploaded know-how**, and not use general AI knowledge if they conflict. You can also instruct it to always cite the source of the information (e.g., reference a specific part of your know-how, if technically possible – which currently isn't).
2. **Up-to-date know-how:** Keep your materials (laws, procedures) **completely up-to-date**. Remove outdated versions.
3. **Structure your know-how:** Break complex topics into smaller, clearly defined documents or sections.
4. **Tune the roles:** Ensure that relevant roles contain or reference the most important factual information.
5. **Command `/investigateAnswer:{message}`:** Use this command to analyze whether the AI pulled from your know-how when producing a wrong answer, or whether it relied solely on general knowledge or an incorrect role.

## My AI instance keeps referencing an old project or outdated info I no longer want. Can I erase its memory or a specific memory?

As the owner of an AI instance, you can influence what your AI refers to and what it "remembers" from the source data, even though **directly deleting a specific memory** from a user profile isn't possible due to privacy protection.

If your AI instance is still referencing old projects or outdated information, you need to check the sources it draws from.

Here are the steps to fix it:

1. **Update your know-how (`sources` folder on Google Drive):**
   - **Remove outdated files:** If old information is included in PDFs, videos, audio files, or text documents you've uploaded to `sources/Files`, `sources/Texts`, or `sources/URLs`, physically delete these files or edit the transcripts to remove outdated content.
   - **Run the `/update` command:** After any change in the `sources` folder (deleting a file, editing a Google Doc, etc.), it’s essential to run the `/update` command in Telegram in your BuddyPro instance. This synchronizes the changes with your AI instance's knowledge base and ensures it no longer has access to the removed or edited content.

   ```bash
   /update
   ```

2. **Review and edit `system_prompt.gdoc`:**
   - Open the `system_prompt.gdoc` file located in the root folder of your BuddyPro instance on Google Drive.
   - Carefully go through the content and delete any mentions of old projects or outdated information.
   - **Add a directive in the "Critical Mistakes" section:**
     You can append a section at the end of `system_prompt.gdoc` (e.g., `# CRITICAL MISTAKES AND THEIR FIXES`) where you **explicitly instruct the AI not to mention** the old project or outdated information. Example:
     `MISTAKE: You refer to my old project XYZ. FIX: Project XYZ is no longer current or relevant. Never mention or refer to it.`
   - After editing `system_prompt.gdoc`, **run the `/update` command** in Telegram to apply the changes.
3. **Check and regenerate Roles (folder `ROLES`):**
   - Old information might be embedded in some of the role definitions generated based on outdated know-how.
   - **Identify the relevant role:** After the AI references outdated info, run `/lastRole` to find out which role was active at the time.
   - **Delete role definition files:** In Google Drive, open the `ROLES` folder and delete the `.gdoc` files of roles that may include outdated content. Leave the `list_of_roles.gdoc` file untouched.
   - **Run the command `/updateRoles`:**
     This will regenerate the deleted roles based on the current state of your know-how (after running `/update`). You can also regenerate a specific role using the command `/updateRole:name_of_role`.
     ```bash
     /updateRoles
     ```

**Important Summary:**

- **You cannot directly delete "memories" or profile content of other users.** This is protected for privacy reasons.
- However, you **can significantly influence which information your AI instance uses** by carefully managing the content in the `sources` folder, the `system_prompt.gdoc` file, and possibly the role definitions.
- The `/update` command is essential after any change to the source data.
- For your own testing, you can use the `/del` command or test profiles for "cleaner" interactions.
- Explicit bans in the `system_prompt.gdoc` (in the _Critical Mistakes_ section) can be very effective.

## Can my BuddyPro instance offer the user to download a specific file (e.g., PDF template, checklist) that I have stored online?

Yes, this is possible. If you have supplementary materials (templates, checklists, e-books, worksheets, etc.) stored online and accessible via a public URL (e.g., on your website, Google Drive, Dropbox), you can instruct your BuddyPro instance to offer these links to the user in the relevant context.

You can incorporate this instruction either into the main `system_prompt.gdoc` (e.g., "If the user asks about project planning, offer them a link to our project checklist: [file URL]") or add it into the definition of a specific role (e.g., the role "AI Project Manager" should include the instruction to offer this checklist).

The user will then receive a direct link and can download the file. The function to upload files directly from AI into the chat as an attachment is not yet implemented, but sharing links works perfectly.

## How do I know that long-running commands like /update or /updateRoles have actually finished processing everything?

These commands have been **improved** to run longer in the background (up to 5 hours) and process all content or roles at once without the need to call them repeatedly.

- **Upon completion:** BuddyPro will send you a message in Telegram stating that the process **"finished successfully"**. If it processed many roles and finished them all, the "finished successfully" response will come very quickly (almost immediately) after re-entering the `/updateRoles` command because there is nothing left to generate.
- **In case of an error:** If an error occurs during processing, BuddyPro will send a message "finished with errors" and list the files/URLs where problems happened.
- **Stopping the process:** If for any reason you need to interrupt the process, you can use the commands `/stopUpdate` or `/stopUpdateRoles`.

## Can a customer downgrade to a lower plan simply by using the `/stop` command?

No, downgrading to a lower plan **does not happen automatically**.

The **`/stop`** command only **cancels the automatic renewal** of the current subscription — the customer can continue using the service until the end of the paid period, but the plan will **not automatically switch** to a cheaper one.

If the customer wants to move to a lower plan **after the current billing period ends**, they can do it easily:

1. Use the `/stop` command in chat (this stops the auto-renewal of their current plan),
2. Once the current period ends, they can **purchase a new, lower plan**.

If the customer wants to switch to a lower plan **immediately**, it requires the instance owner’s manual action:

1. The owner cancels the active subscription in FAPI (stops the recurring invoice),
2. Then uses the `/disableUser` command with the ID of that subscription,
3. After that, the customer can instantly purchase a new, lower plan.

**Summary:**

- `/stop` → used by the **customer**, only stops auto-renewal (access continues until period ends)
- `/disableUser` → used by the **owner**, instantly removes access (e.g. for refund or downgrade)
- **Automatic downgrades are not supported** — they must be done manually or after the billing cycle ends

## Can a customer upgrade to a higher plan while their current subscription is still active?

Yes. If a user finds that their current plan doesn’t meet their needs, they can move to a higher plan immediately. The process is simple:

1. **Click the new purchase link** – for example in an email or on a webinar page.
2. **Confirm the action with the `/upgrade` command** in chat.
3. **Automatic transfer** – the old subscription is cancelled, any unused messages from the current monthly quota are converted to non‑expiring extra messages, and the new plan becomes active immediately.

## Are there limits on the size/length of video/audio files? What if transcription fails?

Yes, there may be limits imposed by the technical capabilities of the server processing the files.

- **Memory issues:** For very large files (e.g., a 12-minute video of 1 GB size, as mentioned in the chat), server RAM may be exhausted causing the transcription to fail.
- **Video length:** Problems can also occur with videos lasting several hours, although the system is designed to handle them. Occasionally, YouTube video transcription can fail because YouTube does not provide an official API for downloading videos.

**What to do if transcription fails:**

- **Reduce file size:** Upload the video in lower quality or upload only the audio track (MP3), which is much smaller in data size.
- **Contact support:** If transcription fails even with smaller files or for unclear reasons, report the problem to support ([`support@buddypro.ai`](mailto:support@buddypro.ai)) and preferably provide a download link to the problematic file for analysis.

## BuddyPro uses the wrong support email even though I set it with /setSupportEmail. What should I do?

If BuddyPro still shows an incorrect support email:

1. **Check the `system prompt`:** Make sure the correct email is explicitly stated here, ideally with an instruction that _this_ is the only valid support contact.
2. **Search the know-how:** It’s possible the wrong email appears somewhere in your uploaded materials (`sources`). If so, fix it in the materials and run `/update`.
3. **Contact support:** If the problem persists, it may be a technical issue – contact [`support@buddypro.ai`](mailto:support@buddypro.ai).

## Does BuddyPro access my Google Drive folders directly during the conversation to find information?

**No, it does not.** The process works differently:

1. Using the `/update` command, you instruct BuddyPro to **process the content** from your `sources` folders on Google Drive.
2. BuddyPro **transcribes** the content, splits it into smaller chunks (fragments), and **stores these chunks in a special vector database**.
3. During the conversation with the user, BuddyPro **searches this vector database** (not your Google Drive) and selects the most relevant knowledge fragments and relevant roles to generate a response.

Thus, Google Drive serves only as a **source for initial uploading and updating** of the knowledge base, not for real-time searching during the conversation. Therefore, you cannot say in the `system prompt`, for example, “answer based on file XYZ.”

## If I manually edit a transcription file in the TRANSCRIPTIONS folder, how do I ensure BuddyPro uses this edited version?

Yes, it **is possible** to manually edit the text transcription files that BuddyPro automatically creates in the `sources/FILES/TRANSCRIPTIONS` or `sources/URLs/TRANSCRIPTIONS` folders.

To make sure BuddyPro starts using your edited version:

1. Make the desired edits directly in the Google Document containing the transcription.
2. After saving your changes, **run the `/update` command in Telegram**. This synchronizes the changes with BuddyPro’s knowledge database.

## My BuddyPro instance is having trouble pronouncing Czech numerals in audio responses. What can I do?

This is a known issue related to text-to-speech (TTS) synthesis for the Czech language in some AI models. We are aware of the problem and are working on improving Czech pronunciation, especially for numbers.

## Are there any plans to simplify the BuddyPro setup process in the future?

Yes, the goal is for your BuddyPro instance to **proactively guide you** through each step of the setup process and track what you’ve already completed. This improvement is in development.

## As the instance owner, how should I handle situations where the AI promises something it can't deliver (e.g., "I'll process it by morning") or when it "hallucinates"?

The key is **user education** (onboarding). Explain to users that the AI is not infallible and may occasionally "hallucinate" or make promises it cannot fulfill. They should not treat it as an absolute authority. If the AI repeatedly makes mistakes in a specific area, revise the `system prompt` or the relevant knowledge base/roles.

## How can I make my AI instance actively recommend my specific products, services, or materials (videos, PDFs) in a relevant context, without pushing them on users all the time?

The best approach is to incorporate these recommendations **into the definitions of specific roles**, not into the main `system_prompt.gdoc`.

- **Steps:**
  1. Identify or create a role related to the product/material topic.
  2. Open the Google Doc for that role in the `ROLES` folder.
  3. Add an instruction to the AI within the role’s text to recommend the product/material — including its description and URL — when it deems it appropriate and relevant to the user.
  4. After editing the role, run the command `/updateRoles` or `/updateRole:{role_name}`.
- **Advantage:** The recommendation will be offered only when the relevant role is active and the AI determines it would be beneficial to the conversation.

## Can I create a completely new role in BuddyPro if the automatically generated roles don't cover a specific area I need?

Yes, it's possible, although this is considered a more advanced technique.

- **Steps:**
  1. Open the file `ROLES/list_of_roles.gdoc` (this is the list of all role names).
  2. Add the name of your new role on a new line. The name should be as descriptive as possible, since the AI uses it to select the appropriate role.
  3. Save the `list_of_roles.gdoc` file.
  4. In Telegram, run the command `/updateRole:{exact_name_of_new_role_with_spaces}`. The system will generate a new Google Doc with the role definition in the `ROLES` folder based on the existing know-how.
  5. You can then open this newly created document and customize the contents (AI instructions) to your needs.
  6. After making your final edits, run `/updateRole:{exact_name_of_new_role}` or `/updateRoles` again to apply the changes.

---

# User Onboarding

## How to set up onboarding for new users?

Edit the **`onboarding`** folder in your Google Drive:

- **`first_messages`**: Define your **welcome messages** here (you can have multiple versions; one will be randomly selected). Include helpful tips, a call to action, and a **YouTube video link**. Be sure to follow the required file syntax!
- **`onboarding_messages`**: Configure **automated follow-up messages** that are sent after a specific number of user interactions (e.g., after the 10th or 30th message). Don’t overuse this. Follow the correct syntax!

A well-crafted onboarding is essential for a successful user experience with your BuddyPro:

1. **Edit the welcome message** in the “onboarding” file:
   - Introduce your BuddyPro and what it can do
   - Explain how to interact with it most effectively
   - Set realistic expectations about its capabilities and limitations
2. **Include an onboarding video**:
   - Create a short video (15–20 minutes) demonstrating how to use BuddyPro
   - Insert the YouTube link into the welcome message
   - The video will show as a playable preview in Telegram
3. **Set up automatic milestone messages**:
   - Use automated onboarding messages that appear after a certain number of user interactions
   - For example, after 10 messages, BuddyPro might suggest sending voice messages
   - These are also defined in the “onboarding” file
4. **Guide users on proper usage**:
   - Recommend that users first share context or details about themselves
   - Clarify that complex prompts aren't necessary
   - Provide example questions they can ask
5. **Add disclaimers**:
   - For sensitive domains (e.g., health, finance, law), include clear disclaimers
   - These can go in both the welcome message and the system prompt

- Optional type parameter for onboarding messages

When defining onboarding messages in your `onboarding.gdoc`, you can now specify a `type` field to control whether the message is sent as text, audio or both. The options are:

– `text` – sends only a text message (default).

– `text‑audio` – sends the text and the same message as a voice note.

– `audio` – sends only a voice note without text.

If you omit the `type` parameter, BuddyPro uses `text`. Here’s an example of a follow‑up message that will be delivered as both text and audio after the 10th user message:

```json
{
  "uniqueId": "VOICE",
  "atMessageNumber": 10,
  "orderForBuddy": "Tell the user they can also send you voice messages...",
  "type": "text-audio"
}

```

After making any changes to the `onboarding` file, don’t forget to run the `/update` command.

## How to effectively communicate the shared BuddyPro user profile to clients so they understand and see the benefits?

We’ve prepared materials and recommendations to help you **clearly communicate the shared BuddyPro user profile**, present its benefits, and avoid any surprises…

👉 [**Here is the Google Slides presentation of the BuddyPro user profile**](https://docs.google.com/presentation/d/17PNfCOhzYrvozcaxUFc2bmV7FgXJPH06Q5fH6nr7MOE/edit?usp=sharing) (ready to add your AI expert’s logo and name)

👉 [**Here is a tutorial on how to edit the presentation**](https://www.loom.com/share/259d2eb2ed054cba9437be1e8caa0fd5)

You can use the prepared presentation in the following ways:

- Include it in onboarding videos and materials
- Use it during sales webinars
- Place it on your website as part of educational materials or FAQ
- Attach it to emails when responding to client inquiries

🔽 If you want to proactively inform customers about the BuddyPro user profile, here are a few ideas on how to do it:

1️⃣ **In the onboarding video:**

Briefly mention that your AI uses an advanced system that remembers basic information from previous interactions with other AI experts on the BuddyPro platform. Provide a short explanation of the benefits of the shared profile with emphasis on data safety, possibly using parts of the presentation above.

2️⃣ **In product introductions:**

In your sales materials, you can highlight the benefits of BuddyPro profiles like this:

“[Your instance name] uses BuddyPro user profiles, which enable fast adaptation and personalization from the very first contact. You don’t need to explain the basics again – if you've already interacted with other experts on this platform, your AI expert already knows you and can immediately focus on delivering expert advice in their specialty. This saves message volume and significantly shortens the onboarding process.”

3️⃣ **In your terms of service:**

You can include something like:

“[Your instance name] is built on the BuddyPro platform, which uses a unified AI brain and user profile. This means that basic information about you and shared topics may be accessible to other AIs within the BuddyPro ecosystem if you choose to engage with them in the future. This feature is solely intended to improve user experience and provide more relevant answers. No physical person – including the creators of individual AI experts or the BuddyPro team – has access to your conversations or your user profile. All data remains encrypted and securely stored and is used only for the purpose of communication with AI experts on the BuddyPro platform.”

When communicating about the shared profile, always emphasize:

- **Security:** No human has access to the content of conversations
- **Privacy:** Data is encrypted and processed only within the AI system
- **Benefits:** Faster onboarding, personalization, more relevant support, and reduced message cost
- **Transparency:** Openly explain how the system works without technical jargon

🤖 **Analogy: The robotic teacher**

"Imagine an advanced robotic teacher programmed to teach multiple school subjects. In math class, it uses mathematical tools, analytical algorithms, and communicates in a precise, logical way. In physical education, it uses sports equipment, applies training techniques based on human physiology, and motivates with an energetic, encouraging tone. In art class, it uses creative techniques, teaches aesthetic principles, and speaks in an inspirational, imaginative style.

For each subject, the robot has a different teaching module with unique expert knowledge, methods, and approaches. Still, it’s the same robot with **one central brain** that remembers your preferences, strengths, the topics you’re working on, and the areas where you need support – across all subjects.

This robotic teacher was designed with complete respect for student privacy. Even though it knows the students from all classes and remembers their individual needs, it **will never** – under any circumstances – share the content of personal consultations or class sessions with any human being, not even the school principal or its own creators. Its programming technically prevents that.

This is exactly how [your instance name] and other AI experts on the BuddyPro platform work. Each one has its own unique specialization and approach, but they all share one unified AI brain, allowing them to understand you better. The content of your conversations is encrypted and completely secure – no human, including me as the creator of [your instance name], other AI expert creators using the BuddyPro brain, or even the BuddyPro platform team, has access to your profile’s content."

## How to best introduce users to BuddyPro?

- **Communicate the value:** Emphasize personalization, your know-how, and availability.
- **Create an onboarding video:** Show practical use and set expectations.
- **Encourage self-introduction:** Prompt users to tell the AI about themselves.
- **Support natural communication.**
- **Set realistic expectations:** Mention the possibility of mistakes and include disclaimers.
- **Use your community:** Share user experiences.
- **Refer to the AI as a "partner."**

## What determines the language of the first message your BuddyPro sends to a new user?

- **Telegram app language setting: Yes, it affects the first message.** BuddyPro tries to use the language set in the user's Telegram app during their very first interaction. For example, if the user’s Telegram is in Czech, the first message will be in Czech. If it’s in English, the message will likely be in English.
- **Phone language setting:** Has **no direct effect**.
- **Further conversations:** After the first message, BuddyPro primarily follows the **language the user uses in their messages.**

## How to motivate users to regularly use your AI expert and build a habit?

- **High-quality onboarding:** An introductory video and an inspiring first message.
- **Consistent prompts during the first 30 days of use:** For example, a 30-day email series with tips on how to talk to the AI and use it effectively.
- **Creating rituals:** Encourage users to schedule regular "sessions" with your AI expert and make use of the **reminder function** (if the user requests it, the AI can initiate conversations on a set topic at a chosen time).
- **Link to your content:** Recommend your AI expert as a tool to privately reflect on topics from your courses, masterclasses, videos, etc.

## How can I guide users who feel lost or are used to simple ChatGPT prompts?

In addition to a high-quality `onboarding.gdoc`, consider the following:

- **Email series for new users:** After registration (or purchase), send a regular email sequence (e.g. for 30 days) with tips on what topics users can explore with your AI, how to ask effective questions, or specific tasks the AI can help with in your field.
- **Educational videos:** Create short videos showing practical use cases of your AI for typical client problems. These can be included in onboarding or the email series.
- **Content in your community/social media:** Regularly show how you personally use your AI to solve problems. For example, share an interesting AI-generated insight and end with a call-to-action like: “Want to explore this topic one-on-one? Try my AI expert here [link to trial].”
- **Instructions in `system_prompt.gdoc`:** You can instruct your AI to proactively guide users by suggesting discussion topics or asking what else it can help with.
- **List of topics in the first message:** In `onboarding.gdoc`, your welcome message can include not just greetings, but also a link to a document or page with an overview of possible topics and example questions.

## How can I make my AI instance work as a long-term guide that helps users reach a specific goal?

This requires **active user engagement** and proper expectation setting. AI cannot fully lead the process on its own, but it can be an excellent support partner.

- **Steps:**
  1. **Goal definition:** The user should clearly state their long-term goal to the AI, ideally with a specific target date (if applicable). The AI will save this information to the user’s profile.
  2. **Regular check-ins:** The user can set up regular reminders (e.g. weekly) to review progress toward the goal with the AI. During these sessions, they can discuss wins, next steps, obstacles, etc.
  3. **Guided conversation:** Users should know how to ask the AI for help with planning, brainstorming solutions, or staying motivated.
- Teach your users (e.g. during onboarding or in a course) how to work with the AI this way — how to define their goals, use reminders for regular reflection and planning. The AI can hold long-term context and refer back to the goal in future conversations.

---

# How It Works

## How exactly does BuddyPro respond to users and what happens behind the scenes?

When a user sends a message, a sophisticated process takes place in the background:

1. **Query Analysis** – BuddyPro analyzes the user's question and the context of the conversation.
2. **System Prompt Application** – The core system prompt, which defines the assistant’s personality, values, and behavior rules, is always the foundation of every response.
3. **Role Selection** – Based on the content of the query, the system automatically selects the most appropriate role from dozens or even hundreds of roles created based on your know-how.
4. **Retrieving Relevant Know-How** – The system searches a vector database containing your know-how and finds the most relevant pieces for the given query.
5. **User Profile Processing** – The user profile is loaded, containing key information gathered from past interactions.
6. **Short-Term Memory Activation** – The system retrieves several previous messages from the current conversation to understand context.
7. **Long-Term Memory Search** – Relevant “memories” from earlier conversations are retrieved from long-term memory.
8. **Response Generation** – All of the above components are passed to the AI, which generates a final response tailored to the user.

This complex process ensures that each response is personalized, contextually relevant, and rooted in your unique know-how.

## How does BuddyPro’s memory work? Does my AI expert really remember all past conversations?

BuddyPro uses two types of memory that function similarly to human memory:

1. **Short-Term Memory**:
   - Stores approximately the last 30 messages from the current conversation
   - Provides immediate context for ongoing discussions
   - It is always active during the conversation
2. **Long-Term Memory**:
   - Stores everything the user has ever said to BuddyPro
   - Works like human memory – BuddyPro doesn’t recall everything at once
   - With each message, it searches for around ten of the most relevant "memories" related to the current topic
   - Enables BuddyPro to refer back to past conversations, even after months or years

Thanks to this combination, BuddyPro can maintain continuity in conversations and build a real relationship with the user. For example, it might ask for updates on a project you discussed a month ago or remember your preferences and personal circumstances.

## How does BuddyPro recognize the needs of different types of users?

BuddyPro understands user needs through several mechanisms:

1. **User Profile Creation**:
   - During the conversation, BuddyPro builds a user profile
   - Important details about preferences, situations, and goals are stored
   - This profile grows with each interaction
2. **Communication Style Analysis**:
   - BuddyPro adapts to the user's communication style
   - Recognizes whether the user prefers concise or detailed responses
   - Adjusts the formality level and tone accordingly
3. **Contextual Understanding**:
   - Analyzes recurring topics the user discusses
   - Identifies patterns in questions and needs
4. **Shared Profile Across BuddyPro Instances**:
   - A unique feature is the shared user profile across different BuddyPro experts
   - If a user interacts with multiple AI experts on the BuddyPro platform, they don’t need to reintroduce themselves each time
   - The new BuddyPro expert already knows the basics, speeding up onboarding significantly

This personalization capability is one of BuddyPro’s biggest advantages compared to generic chatbots or standard AI solutions.

## What is the relationship between the number of roles and the use of know-how? Does AI use less know-how when it has more roles?

No. The number of roles does not limit the amount of know-how used in the response. The process works as follows:

1. One **relevant role** is selected.
2. Several (about 10) of the most relevant snippets of know-how are selected from the **entire** knowledge base (regardless of roles).

Having more roles means the AI is **more specific** and better targeted for the given context (thanks to more detailed instructions in the role), but it still has access to your entire know-how by retrieving the most relevant snippets. Therefore, a higher number of roles does not mean less use of know-how, but more precise application of it.

## What types of media and files does BuddyPro handle in communication?

- **For training (`sources`):** PDF, DOCX, TXT, Google Docs, PPT, MP3, MP4, images, URLs (websites, YouTube, Vimeo).
- **In communication with users (when end users send files in chat):**
  Users can attach files to Telegram messages and discuss them with your AI expert. Your AI expert remembers the content of these files and can reference them in future conversations.
  - **Accepted and processed:**
    - **Text and audio messages.**
    - **Files:** Virtually any common formats such as PDF, DOCX, TXT, spreadsheets (XLSX, CSV), and more.
    - **Images:** JPG, PNG, and others for visual analysis.
    - **Videos:** The AI processes **only the audio track** of videos, not the visual content.
  - **Sent by AI:**
    - **Text and audio messages.**
  - **Whole YouTube channels and playlists**
  In addition to individual files and links, you can now include a link to an entire YouTube channel or playlist in your know‑how. When you place such a link into the document
  ```
  sources/URLs/URL SOURCES.gdoc
  ```
  and run the
  ```
  /update
  ```
  command, BuddyPro automatically processes and transcribes all videos from that channel or playlist (excluding YouTube Shorts). This saves time when you want your AI expert to learn from a series of videos without copying each link separately. During chat conversations, the AI still analyzes only the audio track, not the video content.

## Can a BuddyPro AI instance perform calculations or mathematical operations?

BuddyPro usually handles basic mathematical operations (e.g., “what is 5 x 5”). However, it is **not currently optimized for more complex calculations, budgeting, or financial planning**, and its capabilities in this area are limited. Integration of models specialized in mathematics is being considered for the future.

## How does the shared user profile work across different AI instances on the BuddyPro platform, and can this behavior be influenced, especially regarding the use of personal information when starting a conversation with a new instance?

The BuddyPro platform uses an innovative concept of a **shared user profile**. This means that when a user interacts with different AI experts (instances) on the BuddyPro platform, these instances can securely share basic context about the user.

- **Key benefit:** This approach significantly **increases the efficiency and relevance of your AI expert from the very first interaction**. The user doesn’t have to repeatedly explain basic information about themselves, their goals, or preferences to each new AI instance. Your AI expert can immediately build on existing context and provide deeply personalized support, saving user time and greatly improving their experience. It’s like having a personal assistant who remembers important details across different areas of your support.
- **Security and privacy first:** It is crucial to emphasize that this shared profile and all information within it are **strictly protected and exist only within a secure encrypted profile on BuddyPro servers**. No human—neither you as the instance owner, other owners, nor platform administrators—has access to these individual user data. BuddyPro prioritizes data protection using advanced encryption.
- **Transparent user notification:**
  When a user contacts a new AI instance for the first time, and has previously used another AI instance on the BuddyPro platform, that instance **transparently informs the user** that it is part of a connected platform and therefore may already have some basic information about them (including which previous interactions on other BuddyPro AIs this context comes from). It also highlights data security and the positive purpose of sharing—to provide the best and fastest personalized assistance.
- **Settings and controlling AI behavior:**
  - **Proactivity settings for your AI instance:**
    As the AI expert creator, you have **the option to control whether your instance will proactively reach out to users** (i.e., initiate conversations on its own).
    - To find and apply the command for turning automatic messaging on or off, **ask your BuddyPro instance directly** with a question like:
      `How can I set my AI instance not to message users proactively?` or
      `What is the command to disable automatic user outreach?`
      Your BuddyPro should provide the exact command and procedure.
  - **User options:**
    Users also have full control. They can directly communicate their preferences to any AI instance—for example, to not be messaged proactively by that instance. BuddyPro’s AI is designed to respect these user preferences.
- **Indispensability of the shared profile for advanced AI:**
  - The ability for AI to remember users and context across interactions is a fundamental prerequisite for truly intelligent and valuable support. Users increasingly expect the AI they talk to to be “smart” and not require repeated explanations. The shared profile technology enables BuddyPro AI experts to offer this advanced service level, distinguishing them from simpler chatbots.
  - The team is currently fine-tuning how AI instances use information from the shared profile, especially during first contact or when the AI initiates a conversation. The goal is to ensure communication is always sensitive, relevant to the expert instance’s focus, and to avoid any situations that users might find uncomfortable. An improved version addressing these concerns is in preparation.

## Can BuddyPro work directly with files sent by users in chat?

**Yes, this is now one of BuddyPro’s key capabilities.**

Users can easily **attach one or more files** (documents, spreadsheets, images, audio, video) to their Telegram messages and discuss them with the AI expert.

**How it works:**

- **Content analysis:** The AI reads and analyzes the file content and can have a conversation about it. For videos, it only processes the audio track.
- **Long-term memory:** Uploaded file contents are stored in long-term memory, so users can refer back to previously sent documents even after a long time.
- **Contextual search:** For longer documents, the AI creates a summary and can search them contextually, even though it doesn’t see the entire content at once.

**Examples of use:**

- "Look at chapter 4 in this PDF book I’m sending you and tell me what you would improve."
- "Based on this presentation, advise me on how to improve the marketing strategy."
- "Please check the grammar in this document."

**Current limitations:** If a user sends multiple files at once, the AI currently responds to each separately, not as one combined summary message.

## Can BuddyPro load websites and links?

**Yes, in two ways:**

1. **During training (for the owner):** You can add URLs (web pages, YouTube videos) to the file `sources/URLs/URL SOURCES.gdoc`. After running the `/update` command, their content becomes a permanent part of your AI instance’s know-how.
2. **In chat on user request (new feature):** Users can now send a link to a web page or YouTube video directly in the conversation and ask the AI to review, summarize, or analyze the content.

**Examples of use:**

- "Check out my website petrnovak.cz/kampan and tell me what you think about the sales text."
- "Please summarize the main ideas from this YouTube video: [link]."

**Current limitations:**

- The AI analyzes **only the textual content** of the website; it does not see visual design, layout, or images.
- Some dynamic websites that load content progressively may cause loading issues.

## I sent a voice message but want the reply only as text, not audio. Is this possible? Does receiving duplicate replies (text + audio) count as more messages?

If you send a voice message to your BuddyPro instance, the platform is currently configured to automatically reply with both a text message and an audio message (spoken in the configured voice). This behavior cannot yet be changed by the user — the AI does not understand requests to provide only a text reply in this case.

The good news is that even though you receive the reply in two formats (text + audio), it still counts as **only one consumed message** from your monthly message limit.

## How much does BuddyPro “make up” answers and how can I ensure its accuracy?

Like any AI, BuddyPro can occasionally “hallucinate” (make things up). The extent to which this happens depends on several factors:

1. **Sources of answers** (from most to least reliable):
   - When relevant know-how is available, it primarily draws from that — most accurate.
   - When no know-how is available, it relies on general AI model knowledge — less accurate.
   - When it has no information at all, it may invent something — least reliable.
2. **Ensuring accuracy:**
   - Provide high-quality, up-to-date know-how in areas where accuracy is critical.
   - Define in the system prompt how the AI should respond when uncertain (e.g., “If unsure, admit it and do not offer unsupported information”).
   - Create a “critical errors” section in the system prompt with fixes for common problems.
   - Add disclaimers for sensitive domains (law, health, finance).
   - Regularly test and fine-tune responses.
3. **Ongoing improvement:**
   - Collect user feedback.
   - When you identify areas where BuddyPro “hallucinates,” update the know-how with correct information.
   - Use the `/lastRole` command to find which role generated the inaccurate answer.

## How to handle inappropriate or incorrect responses?

If your BuddyPro instance responds inappropriately or inaccurately, the recommended steps are:

### 1. Adjust the System Prompt

- Open the file `system_prompt.gdoc` (found in the root folder of your BuddyPro on Google Drive).
- At the end, you can add a section **“CRITICAL ERRORS AND THEIR SOLUTIONS”**.
- Use this section only for specific issues discovered during testing of your AI, and define the correct solution for each.
- _Example:_
  ```
  ERROR: The AI claims it will provide the answer later.
  SOLUTION: BuddyPro cannot send a follow-up message later. Always provide the complete answer in the current message.
  ```

### 2. Adjust the roles

- Use the `/lastRole` command to identify which role generated the problematic response.
- Open this role in Google Drive, edit its definition, and update it with `/updateRole:role_name`.

### 3. Add or update knowledge

- If BuddyPro relies on outdated or incomplete information, upload the correct or updated materials to the `sources` folder.
- After uploading, run `/update` so the data is reprocessed.

### 4. Testing and fine-tuning

- Use the `/test:ID` command to test the instance from a user’s perspective.
- Simulate problematic scenarios and check how the AI reacts.
- If needed, delete the last responses with `/del` or `/del2` and test again after adjustments.

### 5. Common issues to correct

- Promising to answer “later” (AI cannot send messages later – it must always provide the full answer immediately).
- Offering non-existent functions (e.g., direct file uploads into chat).
- Referring to outdated campaigns or actions.
- Fabricating inaccurate information in expert topics.

## What if my AI instance starts strongly "hallucinating," producing large amounts of nonsensical text or repeating the same information multiple times? Does this count as multiple messages?

The AI models BuddyPro uses can occasionally generate unexpected, nonsensical, or repetitive content ("hallucinations"). The platform developers have limited control over this behavior, though they continuously work to improve the system.

If the AI generates a very long response that visually splits into multiple Telegram messages (due to Telegram’s character limit per message), or if it sends several rapid messages forming one thought, this should still count as **one message** in terms of your subscription usage.

If hallucinations recur in a certain context or with specific query types, try adjusting the `system prompt` (e.g., by adding instructions in the "CRITICAL ERRORS" section) or update relevant parts of your uploaded know-how.

### My BuddyPro instance suddenly started replying in a different language (e.g., English) on my phone’s Telegram, even though it communicates correctly in Czech on my PC. What could be the cause?

This behavior is likely not directly related to your BuddyPro instance but to your Telegram app settings on your phone. If you have Telegram Premium, the "Translate Entire Chats" feature (or a similar automatic translation function) might have been enabled, possibly unintentionally.

Check the translation settings directly in your Telegram app on your phone (usually under Settings → Language or Chat Settings).

## What counts towards the message limit?

**Every message** in the conversation (both ways) counts: from the user, from **BuddyPro** (text or audio = 1 message), and messages initiated by BuddyPro.

The user can tell BuddyPro not to message them proactively, which saves messages that would otherwise be used by automatic messages.

## Can BuddyPro automatically message users? How can I set the frequency?

Yes, BuddyPro can initiate conversations with users automatically. This behavior is enabled by default but can be adjusted:

**Basic settings:**

- `/shouldInitiateMessages:true` — enables automatic messages (default)
- `/shouldInitiateMessages:false` — disables automatic messages

**How it works:**

- BuddyPro typically messages users about 5 hours after their last conversation
- If the user does not reply, it messages again after 10 hours
- If there is still no activity, it messages after 2 days, then at longer intervals

**Individual settings:**

- Users can tell BuddyPro “message me proactively” or “don’t message me proactively”
- BuddyPro respects this setting per user

**Limitations and plans:**

- Currently, you cannot set exact message frequency (e.g., once per week)
- This feature may be added in future updates
- In practice, some users like occasional proactive messages, while others prefer to engage only when they want to.

## How are messages that BuddyPro initiates by itself generated? Can I influence them?

- **Generation:** The AI creates these messages **on its own based on the context** of previous conversations and the user profile.
- **Influence:** It is **currently not possible** to specify exact examples or topics for these initiated messages. This feature will likely be added later.

**Basic settings:**

- `/shouldInitiateMessages:true` — enables automatic messages (default setting)
- `/shouldInitiateMessages:false` — disables automatic messages

## I set a reminder in BuddyPro, but now I want to cancel it. How do I do that?

If you set a reminder in your BuddyPro instance and want to cancel it, follow these steps:

1. **Ask the AI:** Write to your instance something like:

   "Do I have any reminders set?" or "What active reminders do I have?"

   BuddyPro should list your active reminders.

2. **Request cancellation:** Then ask it to cancel a specific reminder (e.g., "Please cancel my reminder about topic X") or all reminders ("Cancel all my reminders.").

## How does the credit system work for running my BuddyPro instance? Who pays for the messages, and how are credits topped up?

You have **one central credit account for your BuddyPro license**, and you can check its balance anytime by asking your BuddyPro instance. This credit pays for **all message costs** in your instance (yours, testers’, clients’) as well as other AI-related operational costs of your BuddyPro license.

**Specifically, credits cover:**

1. **Your own conversations** with your BuddyPro instance – when you communicate as the owner, test, or configure it.
2. **Your clients’/users’ conversations** with your BuddyPro instance – every message sent or received by users (including during trials).
3. **Processing uploaded files:**
   - Transcribing audio and video files to text.
   - Analyzing text documents and URLs.
4. **Generating and updating roles:** The process of creating and editing expert roles based on your know-how.
5. **Other AI operations in the background:** For example, memory management, user profiling, etc.

At the start, your license includes an initial AI credit balance that lets you run and test your instance without immediate top-up. When the credit balance runs low, you need to connect a payment card for automatic top-ups to ensure uninterrupted AI operation. You can check your current credit balance by querying your BuddyPro instance.

When you first top up (or when credits run low), you set up **automatic top-up**: specify the top-up amount and the minimum threshold that triggers the refill. You pay for the AI message costs; your clients pay you for access.

## Why are my users not receiving confirmation emails after purchasing a Stripe subscription?

This is usually related to one of the following:

- Stripe email settings are not enabled

• Metadata is incorrectly configured on the Product

• The payment was completed, but BuddyPro could not match it due to missing metadata

Make sure:

1. Metadata is correctly configured on the Product level.
2. Stripe customer emails are enabled in your Stripe settings.
3. The correct webhook events are active.

## Why are my BuddyPro payments in Stripe not recognized?

In most cases, this happens because the required **metadata is not correctly set on the Product level in Stripe**.

Even if metadata is correctly added to the Payment Link or the Price, BuddyPro requires the metadata to be set directly on the Product itself.

If the metadata is missing or incorrectly configured, BuddyPro cannot match the payment to your AI instance, and access will not be granted.

## How does BuddyPro ensure continuity of access for recurring payments (e.g., monthly subscriptions)? Does the user need to confirm anything?

For recurring payments (monthly, quarterly, yearly) for subscriptions, BuddyPro automatically verifies the payment status via API with the connected payment system (Stripe or FAPI). This check typically happens before the AI responds if the next billing period should already be paid.

If the user’s payment method (e.g., credit card) is active and the payment for the next period is successfully processed by the payment system, access to BuddyPro continues without interruption and the user does not need to confirm anything.

If the payment fails, the payment system usually attempts to retry the charge several times. If payment still does not go through, access to BuddyPro will be automatically suspended.

## Why does the `/teach` command not work for me?

The `/teach` command is **not implemented in the current version of BuddyPro** and is not intended for regular use by instance owners.

To “teach” your AI instance and provide it with know-how, use the mechanism of uploading files and URLs into the `sources` folder on the linked Google Drive, followed by processing with the `/update` command.

The AI’s personality and specific behavior are then fine-tuned using the `system_prompt.gdoc` file and, if needed, by editing the definitions of individual roles.

## The current version of BuddyPro doesn’t have all the features I envision. How should I approach this?

It’s important to understand that the BuddyPro platform and your AI instance are **at the beginning of their journey and continuously evolving**. Think of it as a "baby" with enormous potential. The BuddyPro development team is actively expanding with experienced AI specialists, and the platform will undergo rapid development with new features and improvements.

Approach this with patience and compassion if the AI sometimes doesn’t do exactly what you expect. Focus on its current strengths and future potential. As a creator, you are also learning how to best work with it and integrate it into your portfolio.

## Can users continue using their message package after cancelling or ending their subscription?

No.

If a subscription is cancelled (for example using the `/stop` command), the subscription remains active until the end of the current billing period.

This means:

- The user can continue using Buddy until the scheduled renewal date (when the next payment would normally occur).
- After that date, if the payment is not renewed, access is automatically deactivated.

Once the subscription fully expires (no renewal payment is processed), the user:

- loses access to the BuddyPro instance,
- and cannot use any remaining message package.

Message packages are therefore always dependent on an active subscription.

## Can BuddyPro generate images (e.g., simple sketches)?

Currently, BuddyPro **does not actively generate images or sketches**.

- **Text recognition from images:** It can read text from images that users send.
- **Future plans:** Image/photo generation features are planned, but the exact capabilities (e.g., handling technical drawings) have not yet been specified. For now, if you need AI to describe a sketch, you must do so verbally yourself.

## Can a BuddyPro instance generate a structured document (e.g., a government form) based on my know-how and the user’s specifications?

BuddyPro **cannot directly export or generate PDF files**. However, the AI **can generate text** matching the structure and content of the requested document if properly instructed.

- **Solution via role:** The best approach is to create a custom **role**. In the role definition, describe in detail the document structure, its sections, the types of information to include, and what questions the AI should ask the user to gather the necessary data.
- **Output:** The AI can then provide the user in chat with the complete text of the document, which the user can copy and paste into Word or another editor.
- The role name is important so that the AI activates it correctly when the user requests that specific document type.

---

# Language Capabilities

## In which languages does BuddyPro work?

BuddyPro is multilingual and can communicate in dozens of languages regardless of the language in which the know-how was uploaded.

**Key features:**

- Communicates in any major world language
- Automatically detects the language the user is using to address it
- Detects the user’s language from Telegram settings upon first login
- Subsequently adapts to the language the user uses in further messages

**How it works in practice:**

- Even if your know-how is uploaded in Czech, BuddyPro can apply that knowledge and communicate, for example, in English, Spanish, or German
- If the user switches languages, BuddyPro will start responding in the new language without losing context
- If the language is detected incorrectly on the user’s side, simply say “speak to me in Czech/English/Slovak,” etc.

**Recommendations for multilingual know-how:**

- If your know-how contains mixed languages, do **not** specify a single language in the `Transcription Settings` file
- The AI will automatically recognize the language of the materials and process them correctly
- You can also separate uploads by language (upload all Czech materials first, then English, etc.)

## How to manage multilingual versions of BuddyPro for the international market?

The AI instance is multilingual. You need to ensure multilingual support for all surrounding elements (sales pages, payment gateway, onboarding materials, support).

## Can I set the “trial ended message” in multiple languages?

Currently, **you cannot set the “trial ended message” in multiple languages.** It is a static message shown when a user runs out of trial messages.

**Current behavior:**

- The message is set using the command: `/setTrialEndedMessage:{message}`
- It’s a **static message** — not generated by the AI model
- It’s shown to **all users in the same language**, regardless of their preferred language

**Recommendations:**

- If you have English-speaking users, set the message in English
- If most of your audience is Czech-speaking, use Czech
- For international audiences, English is a safe choice
- **Include the tag `<LINK>`** in the message — it will be replaced with your subscription URL

**Important to note:**

- Prior warning messages (e.g. “You’re close to your limit”) are AI-generated and adapt to the user’s language
- The “trial ended message” is not AI-generated — it’s fixed, and therefore not language-aware

---

# Business Model

## I already offer courses and consultations. Where does BuddyPro fit into my business? Is it just another thing to sell, or does it change how I do business?

BuddyPro offers a unique opportunity to add a **stable “software layer”** to your existing expert business (courses, e-books, consultations). You can think of it as your own software product — **without the need to manage a dev team or handle technical development** — that’s taken care of by the BuddyPro team.

### **Benefits of this “software” model for your expert business:**

- **Client retention:** Users who become accustomed to the value and support your AI provides are likely to stick around long-term.
- **Stable revenue:** The subscription model brings predictable, recurring income.
- **Time leverage:** Your AI instance works for you 24/7 without requiring your personal time for every interaction.
- **The future of expert business:** You’re transforming your know-how into an interactive, intelligent format — this is the future of education and consulting.

So it’s not “just another product” — it’s an **evolution of your business model** that can significantly strengthen and stabilize your income. Plus, it’s a product that keeps improving over time.

## Can BuddyPro promote my products/services on its own?

Yes, you can configure it to **recommend your offers in relevant contexts**:

- **In the role definition:** Add specific instructions to the role to suggest certain products or services.
- **In the knowledge base:** Embed links and promotions directly into your `sources` content.

Mass messaging to users is also planned for the future.

## Can I have multiple BuddyPro (AI experts) for different areas?

**Yes**, but each instance requires its **own license**, bot, and setup. This is suitable if you serve **very different fields, use cases, or target audiences**.

## What are the operating costs?

- **BuddyPro license**
- **AI message costs** depending on the model used:
  - Smart model: ~0.08 USD per message
  - Economy model: ~0.05 USD per message
  - Nano model: ~0.03 USD per message _(this model is not yet available)_

Your revenue depends on the price you set and the number of clients. ROI can be fast.

**Examples of real-world costs and revenues – assuming an average 50% usage of message limits:**

1. **Smart version (recommended):**
   - Smart model, 1000 messages per month
   - AI cost: 800 CZK / user / month
   - Sales price: 2,990 CZK / month
   - Profit margin: 2,190 CZK / month / user
2. **Economy version:**
   - Economy model, 500 messages per month
   - AI cost: 385 CZK / user / month
   - Sales price: 1,290 CZK / month
   - Profit margin: 905 CZK / month / user

**How to find your exact costs and statistics:**

As an owner or team member, you can now use the `/stats` command. It will display a detailed report including:

- **Total AI costs** (including training costs)
- **Average price per message** in your instance
- **Current AI credit balance**
- **Last 7 and 30-day statistics** (messages and costs)
- **Total revenue** from connected payment systems (Stripe/FAPI)

This means you no longer need to rely on estimates – you get real data about the profitability of your instance.

## How much does a message in BuddyPro cost?

The price per message in BuddyPro depends on the selected AI model:

**Base prices per message:**

- **Smart model:** ~0.08 USD
- **Economy model:** ~0.05 USD
- **Nano model:** ~0.03 USD _(not available yet)_

**Factors influencing the cost:**

1. **Length of the system prompt** – A longer prompt increases the cost per message.
2. **Conversation history length** – Long-time users have slightly more expensive messages than new users.
3. **Type of query** – More complex queries may cost more than simple ones.

**How to find your average message cost:**

Use the `/stats` command (available to the owner and team members) to view:

- **Total average AI cost per message** in your instance. **(`Total average AI cost per message`)**
- **Average message cost for the past week and month.**

This data gives you a precise overview of your actual operating costs and helps you better set your pricing strategy.

It's important to note that message costs are gradually decreasing as AI technologies advance, which should help reduce operating costs over time.

### Approximate costs of voice messages and image generation

In addition to text responses, BuddyPro can also work with **voice messages** and **AI-generated images**. These features consume AI credits similarly to audio/video transcription and other advanced AI operations.

The actual cost may vary depending on the selected AI model, output length, and complexity, but the **typical approximate prices** are:

**Voice messages (processing and synthesis):**

- 1 minute: approximately **$0.07**
- 2 minutes: approximately **$0.074**
- 5 minutes: approximately **$0.083**
- 20 minutes: approximately **$0.15**

**AI-generated images:**

- approximately **$0.03 – $0.15 per image**,

These values are **indicative estimates only**, provided to help you better understand the relative cost of different features. Actual usage may vary based on configuration and real-world usage patterns.

## **Besides price, what are the main differences between the Smart, Economy, and Nano AI models? When should each be used?**

Beyond pricing, the Smart, Economy, and Nano models differ mainly in their **level of "intelligence," the sharpness of their responses, and their ability for deep analysis and creativity.** Pavel Říha compares the difference to varying IQ levels:

- **Smart:**
  - **Description:** Highest "IQ", the sharpest and most nuanced understanding. Delivers the most creative and sophisticated responses. Especially strong in tasks requiring writing and copywriting.
  - **When to choose:** If you demand maximum answer quality, your topic is complex, you need high-quality text generation (e.g., marketing, sales), or you want to deliver a premium user experience. Pavel Říha chose Smart for his Online Strategist because of its superior copywriting abilities.
- **Economy:**
  - **Description:** Slightly lower "IQ" than Smart (roughly 10 points less). Still a very capable model but may be slightly less sharp in some complex tasks.
  - **When to choose:** For many topics—especially “softer” ones like personal development, relationships, or coaching, where emotional depth matters—Economy may perform similarly to Smart. It's a good balance between performance and cost.
- **Nano:** _(not yet available)_
  - **Description:** The lowest "IQ" of the three (roughly 10 points below Economy). Responses tend to be more generic, surface-level, and the model may "miss the mark" more often in delivering brilliant ideas or deep insight.
  - **When to choose:** If price is the absolute priority and your know-how or AI requirements are not highly complex. Suitable for basic informational support or simpler interactions.

**Recommendations:**

- **Testing:**
  The best way to decide is to test each model with your own instance and know-how to see which works best for your use case.
- **Switching models:**
  As the admin, you’ll be able to change the model assigned to a given subscription plan, even if it was initially set up with a different one.

Your choice of model should depend on your field, the nature of your expertise, your clients’ expectations, and your pricing strategy.

Smart and Economy are available. Nano model is expected to become available in few weeks.

## How do I calculate the real operating costs of my instance based on user message limits? Do I always pay the full price for the entire limit?

When calculating the real operating costs of your BuddyPro instance, it’s important to understand that you **typically won’t be paying the full cost for the maximum number of messages** for all your users.

**Key factors:**

- **Average usage of limits:** Experience shows that users generally consume **about 30–65%** of their monthly message limits on average. There will always be some users who use their entire quota and others who barely use it.
  - _Example from Pavel Říha’s Online Strategist AI:_
    With a 1,000 messages/month plan (Smart model, theoretical cost ≈ 0.08 USD/message × 1,000 = 80 USD), real average costs per user are about 800 CZK (≈ 35 USD), which implies actual usage is well below 100%—in this case closer to 30%.
- **You don’t pay for unused messages:** You only pay for messages that are actually sent and received.
- **Cost optimization:**
  - **Message limits per plan:** You don’t need to offer extremely high limits (e.g., 1,000 messages). For many use cases, 500 messages per month—or even less—may be sufficient.
  - **Trial versions with bonuses:** If you’re offering your AI as a bonus to another product, you can provide a smaller total trial message count (e.g., 2,000 one-time messages) instead of a high monthly limit.

So when setting your pricing plans, remember that your **actual AI costs** will likely be lower than the theoretical maximum calculated as (message cost × message limit × number of users). It’s recommended to **track real usage** and adjust your pricing or limits accordingly.

As the owner or team member, use the `/stats` command. This command provides a detailed report, where you’ll see:

- **Exact total AI costs** for your instance
- **Total number of sent messages**
- **Average cost per message**
- **Cost and usage statistics** for the last week and month

This helps you accurately calculate profitability, optimize pricing, and monitor cost trends over time.

## How should I approach pricing my BuddyPro instance when there are cheap or free general AI tools like ChatGPT?

It's crucial **not to engage in a price war** with general-purpose AI tools. Instead, focus on communicating the **unique value and premium positioning** of your specialized BuddyPro instance.

**Strategies and arguments:**

1. **You’ve embedded _your_ know-how:** Your AI includes your unique experience, methods, stories, and proven practices. That’s something general AIs don’t have. It’s like giving access to your personal knowledge library with a guided tour.
2. **Personal brand and trust:** People who follow you are seeking your perspective and trust your expertise. Your AI is an extension of that trust.
3. **Specialization vs. generalization:**
   - Compare it to a supermarket (ChatGPT – has everything, but on a shallow level) vs. a boutique or cozy café (your AI – deep knowledge in a specific area, tailored approach and atmosphere).
   - General AIs are like Swiss army knives; your AI is a specialized tool for a precise task.
4. **Teaching clients to use _your_ tool:** Many people know ChatGPT, but don’t know how to use it effectively for specific tasks in your field. You can teach them (through your AI instance and onboarding) how to get results with a tool that’s precisely tuned to their needs.
5. **Deeper BuddyPro features:** BuddyPro offers features like long-term memory, relationship building, and advanced role systems – features that general platforms don’t always support in such a targeted way.
6. **Community and context:** Your AI is made for your community and addresses its specific needs.
7. **You don’t need millions of users:** Unlike ChatGPT, you don’t need a mass audience. Even 100 paying clients can generate significant revenue.
8. **Differentiate from “just another free chatbot”:** Present your AI as a sophisticated expert assistant, a digital teammate – not just another chatbot. Highlight the value of your embedded know-how.

Don’t be afraid to set a premium price that reflects the value you provide. Let your clients use other AI tools too – your instance can be one of several tools they use, but for your specialization, it will be their best choice.

## I have a consulting business that covers multiple different (but related) areas. Is it better to integrate all topics into one BuddyPro instance, or create a separate instance for each area? What is the recommended approach?

This is a common question, and the final decision depends on the specifics of your business and goals. Here's the recommended approach and key considerations:

**Recommended approach:**

1. **Start with one instance:** In general, it’s recommended to start by integrating all your relevant expertise into a single main instance. This simplifies management, marketing, and the initial user experience.
2. **Gradually add know-how:** If you already have prepared know-how in one area, you can start promoting the instance focused on that topic and gradually “train” it in additional topics over time.
3. **Test and evaluate:** Monitor how the instance performs when it has access to a broader range of knowledge. If a client focuses on only one area, the AI should not bring up unrelated topics unless asked.

**When to consider multiple instances:**

- **Significantly different System Prompts:** If each area requires dramatically different personalities, communication styles, specific rules, or disclaimers that would be too complex or conflicting in a single System Prompt.
- **Very different target audiences:** If the target audiences for each area are so distinct that combined communication and offers wouldn't make sense.
- **Different pricing strategies:** If you want to set significantly different access prices for each area.
- **Clarity and specialization:** If the individual topics are very extensive, and you’re concerned that an “all-knowing” instance might be confusing for users or hard for you to manage.
- **Marketing purposes:** If you want to build each "expert AI" as a separate brand.

**Considerations:**

- **Complexity:** More instances mean more work for setup, training, and marketing. Avoid unnecessary complexity that could slow down execution.
- **Topic overlap:** If topics often overlap and one client might need guidance across multiple areas, a single instance might be more beneficial.
- **Cost:** Each additional BuddyPro instance requires a separate license (although there may be discounted options for multiple instances – ask support for more info).

**Conclusion:** Start with one instance. If, after careful evaluation and testing, you find that separate instances make more strategic sense for your goals, you can always create them later.

## What is the expected trend in AI pricing, and how might it affect the pricing strategy of my BuddyPro instance in the future?

Two main trends are expected in the development of AI pricing:

1. **Decreasing prices for current performance:** The cost for the same level of "intelligence" and computational performance of AI models will likely gradually decrease. This means the operational costs of AI providing a standard level of responses (such as the current “Smart” or “Economy” model) should go down over time.
2. **Emergence of newer, more powerful (and more expensive) models:** At the same time, the market will see the introduction of more advanced and “smarter” AI models capable of handling more complex tasks. These cutting-edge models will likely be more expensive at first. We already see that OpenAI and Google offer premium plans for their top-tier models priced at hundreds of dollars per month.

**What this means for your BuddyPro instance:**

- **Flexibility in your offer:** You'll be able to offer different pricing tiers based on different AI models (e.g., a basic plan with the Nano/Economy model, a premium plan with Smart or even more advanced models in the future).
- **Cost optimization potential:** If you determine that a less expensive model (e.g., Economy) is sufficient for your audience and type of expertise, you can reduce your operational costs.
- **Premium positioning:** There will always be room for premium AI services, especially if they use the latest and most powerful technologies. Don’t hesitate to position your specialized AI instance as a professional tool, with pricing that reflects the current standards for advanced AI.

Overall, AI will become increasingly accessible, while at the same time offering more high-end solutions for demanding users and specialized use cases.

## If I get a very long answer from my Buddy (several paragraphs), is it counted as 1 message? Similarly, if I send a voice message that's 2 minutes long, is that one message or more?

Even a long answer, with many paragraphs, counts as **one message**. The same applies to a voice message – regardless of its length, it is counted as **one message**.

## Is it better to sell BuddyPro as a standalone product or as part of a larger service package?

Both approaches have their advantages. There’s no one-size-fits-all answer – it depends on your **target audience**, type of **expertise**, and **business model**. Based on our experience, there are three main business models:

1. **Standalone Product**
   - Monthly/yearly subscription
   - Clear value proposition
   - Suitable for experts with well-defined know-how
   - **Advantage:** simple sales model, easy to track success
2. **VIP Membership Combining AI with Personal Consultations**
   - Higher price tier (e.g., 15 consultations + AI access)
   - Combines the scalability of AI with personal touch
   - Ideal for premium services and coaching
   - **Advantage:** high value, combines personal support with 24/7 access
3. **Support Tool for Existing Courses and Services**
   - AI as a bonus for paying clients
   - Increases the value of existing products
   - Suitable for experts with an established portfolio
   - **Advantage:** boosts client retention, helps clients achieve better results

## Is the FAPI payment gateway usable only for the Czech market, or can I use it to sell my BuddyPro instance to international customers?

FAPI is **not limited** to the Czech Republic. According to available information, FAPI supports:

- **Multiple languages for forms** – at least English and German.
- **Payments in different currencies**. However, for **specific countries outside the EU** (such as Switzerland), it is advisable to use **for Stripe integration** (now available), as Stripe is generally better suited and more widely recognized for international transactions. Always verify the **current multi-language and currency options** directly with FAPI for the most accurate setup.

---

# Creating Subscription Plans

## How do I set up plans and pricing for my BuddyPro?

When setting up plans for BuddyPro, you need to consider several key aspects:

**1. Technical parameters of the plan**:

- **Subscription duration** – monthly, quarterly, or yearly
- **Preferred AI model** – Smart (best), Economy, or Nano
- **Message limit** – e.g., 500, 1000, or 2000 messages per month
- **Option to purchase additional message packs** – for when a user exceeds their monthly limit

**2. Pricing strategy**:

- It’s recommended to set BuddyPro to use the Smart model and sell it as a premium product (around 2,000–3,000 CZK/month), but other variants are possible depending on your audience and business model.
- Create different pricing tiers for different types of clients (basic, standard, premium)

**3. System setup process**:

1. Create products in the Stripe/FAPI payment system
2. Link FAPI forms with BuddyPro using `/connectForm:{id}:{productId}:{type}:{messages}`
   - this step is not needed if you use Stripe integration
3. Set the URL for subscription purchases using `/setDefaultSubscriptionUrl:{url}`
4. Set the URL for upgrades or extra message purchases using `/setUpgradeSubscriptionUrl:{url}`

**4. Example plans**:

- **Premium**: 2,990 CZK/month, 1000 messages, Smart model
- **Standard**: 1,290 CZK/month, 500 messages, Economy model
- **Basic**: 490 CZK/month, 350 messages, Nano model (not available yet)

These examples assume that most users do not consume the full monthly message limit, which lowers actual costs compared to the theoretical maximum.

## If a client has a plan with, for example, 1000 messages per month, does that mean 1000 messages sent by the client, or total?

It refers to a **two-way total**, meaning **1000 messages in the conversation overall** (e.g. 500 from the client and 500 from the AI).

## Is the price per AI message final, or is VAT added on top?

The quoted price per AI message is usually the base price **excluding VAT**. When purchasing (topping up) AI credits for running your BuddyPro instance, **VAT will be added** based on the applicable legislation and your location. The invoice for the credit top-up should clearly specify the VAT amount.

## What pricing strategy (fee amount, plan duration) should I choose for my AI expert?

**Price:** Consider premium positioning (Pavel Říha recommends CZK 2,000–3,000 per month).

**Launch offer:** For example, start selling with an annual or semi-annual package and only offer a monthly plan later.

**Six-month plan:** Often more effective than a yearly one. It may appear cheaper during a webinar, even if the calculated monthly rate is higher. People tend to care less about the difference between 6 and 12 months.

**Optimization:** With the introduction of the cheaper “Economy” AI model and general AI cost reduction, your expenses will likely decrease over time.

## What is the relationship between the monthly message limit and the billing period (monthly/yearly)?

The message limit (e.g., 500) is **always monthly**, regardless of whether the client pays monthly or yearly. The number of messages **resets every month**, and unused messages **do not carry over** (except for additional purchased message packages).

When setting up the plan (via metadata → `messages` on the product for Stripe integration, or the `{messages}` parameter in `/connectForm` for FAPI integration), you are always specifying the _monthly_ message limit — even when connecting a **yearly** FAPI form.

## Can I set different conditions for the first and subsequent subscription periods? For example, a discounted first month, or a six-month plan followed by monthly payments?

Yes, **this is possible if you use FAPI integration — you can set different conditions for the first and subsequent subscription periods.** This is one of the major advantages of integrating with FAPI (which is compatible with BuddyPro). Stripe integration does **not** currently support this.

**With FAPI integration, you can create scenarios such as:**

1. **Discounted first period (e.g., first month):**
   - You can offer the first month of the subscription at a lower “introductory” price, allowing clients to try the service with a lower initial commitment.
   - After the first month, the subscription automatically switches to the standard monthly price.
   - **Example:** First month for a symbolic price of 490 CZK, then 2990 CZK per month.
2. **Longer first period with follow-up monthly payments:**
   - You can offer a longer initial subscription period (e.g., a quarter or half a year) for a set price, and after it ends, the system will automatically switch to recurring monthly payments.
   - This is useful for initial campaigns where you want a higher upfront commitment but then offer flexibility through monthly payments.
   - **Example:** First 6 months for a one-time payment of 17,960 CZK, followed by monthly payments of 2,990 CZK.

**How it works (FAPI only):**

- In FAPI, you can configure the "first payment" (or "initial fee") with a different amount and/or period than the "subsequent recurring payments."
- In the FAPI sales form settings, look under “Recurring invoicing” and enable “Replace item in the 2nd and subsequent recurring invoice.” Then, choose one product for the initial payment and another for the recurring ones.
- The system will then automatically manage when and how much to charge.

**Advantages of this flexibility:**

- **Marketing campaigns:** Allows you to create attractive launch offers.
- **Lower entry barrier:** A lower first payment can convince hesitant customers to try it.
- **Cash flow optimization:** A longer first period can bring in higher upfront revenue.
- **Commitment building:** Clients who pay for a longer term upfront are more motivated to actively use the service.

This is a powerful tool for strategic pricing and selling your BuddyPro instance.

## What happens if a user purchases directly from my website (not through the Telegram link)? How is the purchase linked to their account?

For **FAPI integration**, it is essential to have the **activation link** correctly set up on the **FAPI thank-you page** and in the **FAPI confirmation email**:

1. The user purchases a plan/package via your website form.
2. After a successful payment, a thank-you page is shown and an email is sent — both **must contain the special activation link** (you get this link using `/connectForm`).
3. The user **clicks this link**, which redirects them to Telegram, where the purchase is **automatically linked to their account** in BuddyPro.

For **Stripe integration**, you don’t need to set anything manually — the user will automatically receive an email with the activation link, or the purchase will be linked and activated automatically.

## I already have clients paying me a recurring subscription for another service. Can I “link” the BuddyPro subscription to that existing payment so they don’t have to go through a new checkout?

No, unfortunately, this is not possible. Each BuddyPro subscription requires its own dedicated product and checkout form in the payment system (Stripe/FAPI), which is then specifically connected to your BuddyPro instance. The BuddyPro system cannot “attach” a subscription to an already existing, unrelated recurring payment that was created for another purpose.

The client will need to complete a new order and payment process through the form designated for the specific BuddyPro subscription. However, you can include access to other products or services as part of that subscription.

## Does BuddyPro support integration with a checkout form that includes a discount code?

Yes, the BuddyPro integration should work correctly even when a discount code is applied to the checkout form. The BuddyPro system registers a successful payment (regardless of whether it was the full price or a discounted price) and activates the corresponding subscription or message package based on that. However, we strongly recommend thoroughly testing this functionality with a test purchase to ensure everything works as expected.

## What are credits used for, and how do I set them up?

Credits in BuddyPro are used to cover the cost of AI processing:

**What credits are and how they work:**

- As a BuddyPro owner, you receive an initial credit balance
- Credits are deducted based on the number and type of processed messages
- The credit system is separate from client payments — you pay the platform for AI processing, while clients pay you for access
- When your balance drops below a certain threshold, it is automatically topped up

**Setting up credits:**

- Use the command `/setupCredits` to configure credits
- You must provide a payment card that will be used for automatic top-ups
- You define the amount to top up to (e.g., $500)
- You set the minimum balance at which the system will trigger a top-up (e.g., $250)

**Checking your credit balance:**

- Ask BuddyPro directly: “What is my BuddyPro credit balance?”
- If your credit drops below the threshold and the payment fails, BuddyPro will notify you via message

**Recommendations:**

- Enable automatic top-ups to prevent service interruption
- Monitor your credit usage regularly to stay aware of your costs
- Factor credit expenses into your pricing strategy for clients

## How can I check my current AI credit balance?

You can **ask your BuddyPro instance conversationally**, for example:

- “How many AI credits do I have?”
- “What’s my current credit balance?”

BuddyPro should reply with your current balance in USD (1 credit = 1 USD).

Alternatively, you can use the command `/stats`.

This command will show you a comprehensive statistics report, which includes a line labeled **`Credits`**. This value indicates your current AI credit balance in USD.

The `/stats` command is the most accurate and fastest way to check your credit balance and other key metrics of your instance.

## What happens when a client runs out of monthly message credits, and how does message top-up work?

When a client reaches their monthly message limit, the following process takes place:

**What happens when the limit is reached:**

1. BuddyPro notifies the user when they are nearing their message limit (a few messages in advance).
2. After the limit is reached, BuddyPro offers the option to purchase an extra message package or upgrade to a higher plan.
3. The user is redirected to the URL you've set using the command:

`/setUpgradeSubscriptionUrl:{url}`

**How message packages work:**

- They are one-time purchases for a fixed number of messages.
- Unlike the monthly message limit, they **don’t reset each month** — unused messages roll over to future periods.
- The system starts using message packages **only after the monthly limit is used up**.
- If you offer multiple package variants, you need to create **a separate sales form for each one**.
- Each package is linked to the user via a parameter in the URL.

**How to set up message top-ups (FAPI integration):**

1. Create the message package products in FAPI.
2. Link them to BuddyPro with: `/connectForm:{id}:{productId}:package:{messages}`
3. Set the upgrade URL with: `/setUpgradeSubscriptionUrl:{url}`
4. Make sure the `userId` parameter is passed from the link to the form.

**How to set up message top-ups (Stripe integration):**

1. Create message package products in Stripe.
2. Set the correct product metadata: `case: buddy_pro` and `messages: 500` (example)
3. Set the upgrade URL with: `/setUpgradeSubscriptionUrl:{url}`
4. If you’re not linking directly to the Stripe checkout form, ensure the `client_reference_id` parameter is passed from your landing page to the checkout.

**Recommendations for effective setup:**

- Offer 2–3 message package options (e.g., 200, 500, 1000 messages).
- Price the packages slightly higher than the proportional cost of monthly plans.
- For annual subscriptions, consider handling overages primarily via message packages rather than plan upgrades.

## Can I set up payments in multiple currencies?

Yes, **both Stripe and FAPI** allow you to set up payments in multiple currencies.

In **BuddyPro**, you only define one primary currency and price, which is used in onboarding messages and AI responses. You can set it using the command:

`/setDefaultCost:{defaultCost}:{defaultCostCurrency}:{defaultCostPeriod}:{defaultCostPeriodCount}:{discountedCost}`

For example: `/setDefaultCost:1990:CZK:monthly:1:1490`

This setting is **only for informational purposes inside BuddyPro** — the actual payment currency and amount are defined in your Stripe or FAPI settings.

## Can I offer my clients the option to pay for BuddyPro subscriptions via bank transfer instead of a credit card?

Yes, it is generally possible to offer payment via **bank transfer**, as long as your integrated payment system supports it and can reliably **match the incoming payment** with the order and then notify **BuddyPro**.

This method is more suitable for:

- **One-time payments:** For example, purchasing message packages or paying upfront for a longer period (e.g., an annual subscription).
- **Issues with recurring payments:** For recurring payments (typical for subscription plans), bank transfers are problematic because they **do not support automatic billing**. This would require you to **manually track payments and extend access**, which is not scalable. For recurring subscriptions, it is **strongly recommended** to use **credit card payments with auto-renewal**. Please verify the exact options and limitations with your payment gateway provider.

## What happens when a user's annual plan ends?

If it's set up as a **subscription**, Stripe/FAPI will **automatically attempt to charge** the payment for the next year. If successful, the subscription continues. If not, access is blocked.

**Process at the end of an annual plan:**

1. The subscription is automatically renewed and charged again.
2. The user can cancel the subscription before the end of the billing period if they don’t want to continue.
3. If the renewal is successful, the service continues without interruption.

**What you should do as the BuddyPro owner:**

- It’s your responsibility to keep track of upcoming annual subscription expirations.
- It’s recommended to contact users before renewal and remind them that the subscription will auto-renew.
- If the annual plan includes additional services (e.g. personal consultations), set a calendar reminder for yourself.

**Technical aspect:**

- FAPI forms should be set to “issue recurring invoices” with automatic card charging.
- The FAPI product should be configured as a “subscription”, not as a fixed-term plan.

If a client wants to cancel their subscription, they can do so from their account, contact your support, or simply type “stop” directly to BuddyPro, which will guide them through canceling the subscription.

## What happens if a user doesn't pay?

If a user fails to pay or blocks the payment, the following process occurs:

**Technical process:**

1. The system will attempt the payment again.
2. If the payment repeatedly fails, the information is transferred to BuddyPro.
3. BuddyPro will stop responding to the user and inform them of the payment issue.
4. The user will be given the option to update their payment details or contact support.

**What you need to do as the owner:**

- As the owner of the BuddyPro instance, you don’t need to take any manual action — the system will automatically block access.
- BuddyPro has built-in logic to detect non-payers and automatically restrict service.
- If the user resolves the payment issue, access will be automatically restored.

**In case of a refund or chargeback:**

- If you issue a refund in Stripe or FAPI, you also need to run the command `/disableUser:{subscriptionId}` in BuddyPro.
- This command manually disables the user's access.
- Without this step, the user might still be able to use the service even after receiving a refund.

## What happens to unused messages from the monthly subscription limit? Are they carried over?

Unused messages from the regular monthly subscription limit are not carried over. The limit resets each month. However, purchased extra message packages do not expire and are carried over until they are fully used.

## Can I offer standalone message packages without a subscription?

Offering **message packages without an active subscription is currently not possible**. Message packages are intended **only as an add-on** when the monthly message limit from a subscription is used up.

## How does the combination of a monthly subscription and purchased message packages work? Are unused messages carried over?

If a user has an active **monthly subscription** and also purchases an **extra message package**:

- **Monthly limit:** Messages from the monthly subscription **do not carry over** to the next billing cycle. The quota resets to the full amount each month according to the selected plan.
- **Purchased packages:** Messages from additional packages **do not expire** and are carried over from month to month until fully used.
- **Order of usage:** Messages are **always used from the active monthly limit first**. Only after those are depleted will the system start using messages from the purchased packages.

## What is the average actual message usage by users compared to their monthly limit?

On average, users typically consume **50–80%** of their monthly message limit. It's a good benchmark to keep in mind when setting pricing.

However, you can now get more accurate data about your own users’ behavior. By using the `/stats` command, you’ll receive data on the **total number of messages** and the **number of active subscribers** during a given period. By dividing these numbers, you’ll get the **average usage per user** in your instance — helping you verify how your users behave compared to the general average.

## How can I get an invoice for my BuddyPro license or AI credit top-up?

Invoices should be sent to you **automatically via email** after payment (for both the license and credit top-up via Stripe). If you haven't received the invoice (make sure to check your spam folder), contact support at [`support@buddypro.ai`](mailto:support@buddypro.ai) and request it manually.

## How to set up a trial for an unlimited number of users?

To enable a trial period for an unlimited number of users, follow these steps:

**Creating an unlimited invite:**

1. Use the command `/generateBuddyProInvite:{messageCount}:{7charCode}`
2. Omit the third parameter (user limit) or set it to 0
3. Share the generated link with potential users

**Example command:**

- `/generateBuddyProInvite:50:ABC1234` will create an invite with 50 trial messages and the code `ABC1234`, with no user limit

**Additional settings:**

- Use `/setInviteTrialMessages:{count}` to set the default number of trial messages for all invites
- Use `/checkInvite:{code}` to track how many people used a specific invite
- Create different invite codes for different marketing campaigns to track their effectiveness

**Optional `timeLimit` parameter for trial invites**

The `/generateBuddyProInvite` command now supports a fourth, optional parameter that specifies how long the trial is valid (in days). The full syntax is:

```
/generateBuddyProInvite:{trialMessages}:{code}:{usersLimit}:{timeLimit}

```

- `trialMessages` – number of messages included in the trial (e.g. 100).
- `code` – unique invite code (7 characters).
- `usersLimit` – how many users can use the link (leave blank or set 0 for unlimited).
- **`timeLimit`** – number of days the trial remains active from the moment it is activated (e.g. 30).

**Example:** `/generateBuddyProInvite:100:ABCDEFG:5:30` creates a trial with 100 messages for up to five users, valid for 30 days. The trial ends either when the message limit is reached or when the time expires, whichever happens first.

## Can a user activate the trial period using the same invite link more than once?

**No, that should not be possible.** The system is designed so that one user (identified by their Telegram account) can use a specific invite code only once.

## Can I manually add more messages to a user who has used up their trial, so they can continue with the same conversation history?

Yes, it’s possible. If you want to grant additional free messages to a user who has exhausted their trial limit (without requiring them to purchase a subscription), use the following command:

```bash
/addTrialMessages:{userId}:{count}
```

Replace `{userId}` with the correct Telegram user ID and `{count}` with the number of messages you wish to add. This allows the user to continue using the same account and chat history.

## How can I offer BuddyPro to my collaborators without charging the standard fee?

There are two main approaches for offering BuddyPro to your collaborators without applying the standard subscription fee:

**1. For collaborators who should only pay for messages:**

- Create a special plan with a minimum price that only covers the cost of the messages
- You can calculate the price based on the average cost per message (~$0.08)
- Create a special sales form with this price and share it only with your collaborators

**2. For team members who won’t pay at all:**

- Generate an invite link with a specific number of trial messages
- Use the `/addTrialMessages:{userId}:{count}` command to add more messages as needed
- Example: `/addTrialMessages:1234567890:300` will add 300 messages to the user with ID 1234567890
- Users can get their Telegram User ID by sending `/myid`

**Additional options:**

- You can also use the command `/setTrialMessages:{userId}:{count}` to set an exact number of trial messages
- For team members who help manage the instance, use `/addUserToTeam:{userId}#{telegram_username_of_your_buddypro_instance}`
- The team can include multiple people helping you with admin and support tasks

These methods allow you to flexibly grant internal team members and collaborators access to your BuddyPro without requiring standard payments.

## How many messages should the trial version include, and what costs should you expect?

**For “cold” leads:** A trial with around **50–100 messages** can be effective and typically leads to a **3–10% conversion** rate to a paid plan, which is offered after the messages run out.

**For existing clients (as a bonus to a paid product):** You can offer a more generous trial (e.g. **50–1000 free messages**) with an offer to upgrade once the messages are used.

**Costs:** Keep in mind that every free message has a cost for you.

You can set a different number of trial messages for different invite links.

## How to Track Users/Trials?

To track users, subscriptions, and trial usage, you have several tools available:

1. **Overall Statistics and Analytics (Recommended Main Tool)**

   You can now use the `/stats` command as the owner or team member. This command shows a clear report including the **`USER ANALYTICS`** section with key metrics:
   - **`Total users`**: Total number of users (excluding owner and team).
   - **`Active subscriptions`**: Number of users with an active paid subscription.
   - **`Currently on trial`**: Number of users currently in the trial period (or who completed it without purchasing).
   - **`Avg used trial messages per user`**: Average number of messages used during trial.
   - **`Avg AI cost per trial user`**: Average AI cost per trial user.

   This command is ideal for getting a quick overview of the health and growth of your user base.

2. **Invite Code Usage Tracking**
   - Use `/checkInvite:{code}` to see:
     - How many people used a specific invite code
     - How many converted into paying users
     - How many messages were used in the trial
   - This is useful for tracking conversions from different marketing channels.
3. **Getting Info About Specific Users**
   - Use `/getInfoAboutUser:{subscriptionId}` to get detailed info:
     - Subscription status
     - Next renewal date
     - Remaining messages (monthly quota + extra packages)
     - Subscribed plan
     - Payment history
4. **Creating a Tracking System**
   - Create a unique invite code for each campaign
   - Use different sales forms for different plans
   - This allows you to track which sources bring in clients and which plan they choose
5. **Options in the Sales System (Stripe/FAPI)**
   - You can also track the number and types of purchased plans directly in Stripe/FAPI
   - Stripe/FAPI gives you an overview of active subscriptions and payments

By combining these tools, you’ll gain a complete overview of how your BuddyPro is being used and how effective your marketing channels are.

More detailed **analytics** within BuddyPro are currently in development.

## I want to set a minimum membership period (e.g. 4 months) with monthly payments for some plans. How can I prevent users from canceling early through BuddyPro?

BuddyPro itself does not have a feature to enforce a minimum subscription period if payments are recurring (e.g. monthly). Users can normally cancel their active subscription in several ways:

1. By using the `/stop` command in the chat with their BuddyPro instance.
2. Via the subscription management link they usually receive in the confirmation email from the payment gateway (Stripe/FAPI) after purchase.

FAPI does allow you to set a “Fixed number of recurring invoices” (e.g. 4 for 4 months), but this mainly means the subscription will **not renew after those 4 payments**, not that it would be non-cancellable by the user during those months.

**Possible (but not fully reliable) solutions:**

- Communicate the minimum commitment clearly in your terms and conditions and during the purchase process.
- The safest way to ensure full payment for the whole period is to offer a one-time payment plan for that period (e.g. a “4-month plan” paid upfront).

It's important to note that even with these measures, users can still technically cancel payments via their bank or card provider, which is outside your direct control.

---

# Marketing and Sales

## How should I name my Buddy to make it appealing and clear to people? Should I use my own name or something else?

The name of your AI instance is an important element of its positioning. Consider the following three basic strategies:

1. **"Your Name/Brand + AI"** (e.g., "Pavel Říha AI", "Company XYZ AI")
   - **Pros:** Very effective if you have a strong personal brand or an established company. The connection is instantly clear.
   - **Cons/Considerations:** The AI will never be 100% you, even though it's based on your know-how. This should be clearly communicated.
   - **Best for:** Experts with strong personal brands or companies wanting to "digitize" their expertise.
2. **"Expert Role + AI"** (e.g., "Online Strategist AI", "Prosperity Mindset Coach AI")
   - **Pros:** Clearly communicates the AI’s focus. Attracts people who are dealing with a specific area. Good for markets where this type of product is new.
   - **Cons/Considerations:** May feel less personal than the first option.
   - **Best for:** Specialized fields where you want to emphasize expertise and targeting.
3. **"Unique Personal Name for the AI"** (e.g., "Mentor Max", "Assistant Klára")
   - **Pros:** Allows you to create a separate "AI entity" or "AI influencer." It can be a common name or a made-up one. Great for building a brand around the AI itself.
   - **Cons/Considerations:** Requires more effort to build brand recognition.
   - **Best for:** A long-term vision of your AI as an independent “personality” that can have its own channels, content, etc. Check domain availability (e.g., `.ai`).

The **Telegram bot username** (handle) cannot be changed, but the **display name of the bot can be changed anytime** via `@BotFather`.

## What domain should I choose for my AI product? Does it have to be `.ai`?

Not necessarily. Consider availability, price, and how it will perform on the international market. For the Czech market, using `.ai` is **not essential**. However, if your desired name with `.ai` is available and affordable, it can be a great option — especially if you want a **single domain for both Czech and international audiences**.

## Is it worth thinking about how my Buddy looks? Like a photo or an image?

Yes, thinking about the **visual identity of your AI instance is highly recommended**, especially with the future in mind. Even though current interaction happens mainly via text and voice on Telegram, the platform will continue to evolve.

**Why visual identity matters:**

- **Future communication channels:** The plan is to allow communication with AI through Zoom or phone calls. A visual identity (avatar) will be key in video calls.
- **AI Influencer:** If you plan to use the “AI Influencer” concept — with its own social media, video content, or other multimedia — a visual identity is essential.
- **Bringing it to life:** If the AI avatar has a mouth and eyes, it’s easier to animate and “bring to life” in videos (e.g. using AI animation tools).
- **Branding and memorability:** A unique visual helps build your AI's brand and makes it more memorable.

The visual appearance can be animated, photorealistic, resemble you (as an AI version of yourself), or be completely unique. If you don’t yet have the ideal visual, you can always change it later (rebranding) when it’s time for more intensive video presentations.

## What strategy should I choose for the first launch of my AI expert? As a standalone product or a bonus?

For the initial **launch** of your AI expert, it is generally **recommended to present it as a standalone, main product**.

**Reasons for this strategy:**

1. **Building high perceived value:**
   - When you present your AI expert as the main offer, you have the opportunity to clearly explain its unique value, benefits, and how it solves your audience’s key problems.
   - You can create price anchors by comparing them to your personal consultations, comprehensive courses, or mentoring. This emphasizes that the AI expert delivers comparable value (or a significant portion of it) at a more affordable price.
   - Pavel Říha achieved great success with this approach when launching the Online Strategist AI, which was positioned as the main product and generated significant revenue.
2. **Leverage the AI trend:**
   - AI is currently a hot topic. Presenting your AI instance as an innovative, premium solution can attract a lot of attention.
3. **Clear messaging:**
   - Focusing on a single main product simplifies marketing communication and helps potential clients better understand what they’re buying.
4. **Avoid devaluation:**
   - If you offer AI only as a secondary bonus from the beginning, there’s a risk its value won’t be perceived strongly enough. It’ll be harder to later sell it as a premium standalone product.

**How to approach the first launch:**

- **Sales webinar:** This is a highly effective format to introduce such an innovative product. During the webinar, you can demonstrate practical use, explain the value, and answer questions.
- **Introductory offer:** Consider offering a longer-term plan (e.g. 6 or 12 months) to get your first paying customers and validate the product’s market value. You can also use the strategy of offering a longer and discounted initial period with automatic transition to shorter (e.g. monthly) payments.
- **Case study:** Get inspired by the launch campaign case study "Online Strategist Swipe Files", available in the Telegram group _BuddyPro Owners_.

**When to consider AI as a bonus (later or in a specific context):**

- The strategy of offering your AI as a **main bonus** to another premium product (e.g. an online course) can also be very effective, _especially if that product teaches users how to use the AI effectively_ (as Pavel Říha did with his course _Expert Era_ and the FutureBot).
- After a successful initial launch — when your AI’s value is already established — you can start using it as a valuable bonus to other offers, as part of upsells, or in “invisible funnels” for continuous user acquisition.

**Conclusion:** For your **first launch**, the **standalone product** strategy is generally recommended to build strong perceived value. That will make your future sales efforts easier, including offering the AI as a bonus later on.

## What strategy should I choose if I want to sell my AI instance as the main product? What to focus on in the launch offer?

If you decide to sell your AI instance as a **main offer (standalone product)**, here are a few key recommendations:

**1. Use a webinar as your main sales tool:** Webinars are still one of the most effective ways to present an innovative product like an AI expert, explain its value, and generate interest. A detailed case study of a successful launch ("Online Strategist Swipe Files") is available in the BuddyPro Owners Telegram group.

**2. Launch offer – focus on longer-term plans:** Instead of offering a monthly plan or a trial right away, consider launching with **longer subscription options** (e.g. yearly, semi-annual, or quarterly). This helps secure higher initial payments from your early adopters.

**3. Use price/duration anchoring tricks:**

- **Example:** Instead of offering a yearly plan for CZK 24,000 (CZK 2,000/month), later you can offer a **6-month plan** for CZK 18,000 (CZK 3,000/month). Even though the monthly rate is higher, CZK 18,000 may feel more acceptable than CZK 24,000 psychologically.
- **FAPI flexibility:** The FAPI integration allows you to set different prices and periods for the first subscription cycle and future renewals (e.g. the first 6 months at a discounted rate, followed by regular monthly payments).

**4. Focus on revolutionary value:** Present your AI expert as a **breakthrough tool** for your target market – something that solves key pain points in a radically more effective way.

**5. Build high perceived value from the start:** Clearly communicate the **premium value** of your product. Compare it to the cost and impact of your courses, coaching, or mentoring. Emphasize that this AI contains the _essence of your know-how_.

**The key:** Make a strong first impression and position your AI instance as a premium, high-impact product.

## How can I effectively use my AI instance as the main bonus to another expert product (e.g. a course)?

Offering your AI instance as the **main bonus** to an existing premium product (like an online course or group coaching program) is a highly effective strategy.

### **Key principles:**

1. **AI as a differentiator:** In a saturated online course market, an AI expert can serve as a fresh and innovative “cherry on top” that sets your offer apart.
2. **Mention AI in your presentation:** During your sales webinar or product presentation, introduce the AI early. Show how it works and create desire to try it.
3. **AI as the _main_ bonus:** Don’t present it as “just one of the bonuses.” Position your AI instance as a _key_ value booster that directly supports achieving results.
4. **Link AI to your product’s content:** Explain how the AI will help users apply the course knowledge to their own specific situations more effectively.
5. **Teach clients to use the AI:** Ideally, your main product (e.g. a course) should also teach people **how to use the AI effectively**. This raises its perceived value and increases the chance they’ll purchase a paid plan once the trial is over.
   - **Example:** A course called _"The Expert Era"_ included FutureBot as a bonus. The course taught how to leverage AI, and FutureBot was the tool to do it. The paid conversion rate after the trial ended was very high.
6. **Moderate message limits:** Since the AI isn’t the core product, you can offer **a smaller message limit** as a bonus (e.g. 1,500–3,000 messages in total). Once the limit is used up, the system automatically offers a paid subscription.

## How can I continuously promote my Buddy without launching big campaigns? For example, when someone buys a lower-priced product or signs up for my newsletter?

This strategy is known as an **"ongoing invisible funnel"** – a subtle, continuous way of directing users to your AI instance through all your content and activities.

### **How it works:**

1. **Create a simple trial URL:** Generate an invite link (e.g. using `/generateBuddyProInvite`) to your AI instance with a set number of free messages (e.g. 50–100).
2. **Link to it from all your content:**
   - **Free content:** In YouTube videos, blog posts, or social media content, include a call-to-action at the end such as: _“Want to dive deeper into this topic? Talk to my AI expert – you get your first X messages free here: [your URL].”_ You can even show how the AI helps with that specific topic.
   - **Paid content:** Add trial access to your AI as a bonus to each of your products (courses, e-books, memberships). This keeps the AI visible and teaches your customers to use it.
3. **Thank-you pages:** On thank-you pages after a product purchase or lead magnet signup, offer the AI trial as a gift: _“Thank you! As a bonus, here’s access to my AI expert, who will help you with [topic]...”_
4. **Upsell opportunity:** After selling a product, offer access to your AI as an upsell – e.g. 3-month access to an assistant trained on the course material who helps with implementation.
5. **Automated conversion to paid plan:** After the trial messages are used up, the system automatically notifies the user and links them to a page where they can purchase a subscription.

**Important:** For this funnel to work effectively, it's best to **first build perceived value** for your AI instance (e.g. through an initial launch). When your community sees the AI as a valuable tool, trial conversions and upgrades become much more effective.

## Why is it important to educate my clients about AI, and how should I approach this in the marketing of my BuddyPro instance?

Educating clients about AI and how it applies in your specific field is **crucial to the success of your BuddyPro instance**. Many of your clients may have limited or no experience using AI beyond simple questions in general tools like ChatGPT.

**Why educate:**

- **Clients don't see all the possibilities:** You, as an expert, understand how AI can help your clients achieve their goals, but they may not recognize that potential on their own.
- **Thought leadership:** It's your role to show them new ways to get results using AI.
- **Product value:** Clients won’t understand the value of your AI instance until they see how it can help them specifically.
- **Part of your expertise:** The ability to use and teach AI in your field becomes a new pillar of your professional authority.

**How to approach it:**

- **Introducing the product is not enough:** You need to actively show specific use cases for your AI instance.
- **Info-marketing approach:** First explain the value and capabilities, then offer the product.
- **Practical demonstrations:** Create content (videos, articles, webinars) where you demonstrate how to solve typical client problems with your AI.
- **Onboarding:** As part of your new user onboarding process, provide tutorials and inspiration on how to get the most out of your AI expert.

Don't assume clients will automatically know how your AI can help them. Proactive education is the key to engagement and perceived value.

## What are specific ideas and strategies for using my AI instance as an "AI Influencer" in marketing?

The concept of an _AI Influencer_ involves presenting your AI instance as a distinct personality or entity that actively engages in marketing and attracts users.

**Ideas and strategies:**

1. **Create an AI persona and visual identity:** Give your AI a name (if it doesn't already have one), define its communication style, and create a visual avatar to be used in multimedia content.
2. **Social media for your AI:** Create dedicated social media profiles for your AI on relevant platforms (Facebook, Instagram, TikTok, LinkedIn, YouTube).
3. **AI-generated (or assisted) content:**
   - **Text content:** Your AI can (with your or your team's supervision) write social media posts, blog articles, or even sections of e-books.
   - **Video content:** Your AI avatar can "host" videos on YouTube or TikTok, presenting tips and know-how. The voice can be AI-generated (e.g. a cloned version of your own or another).
   - **Audio content:** Your AI could have its own podcast or audio newsletter.
4. **Active involvement in communities:**
   - **Facebook groups/forums:** Create a profile for your AI and have it (via a team member copying responses from your BuddyPro instance) answer community questions. At the end of the response, include a link to the trial version for a personal consultation.
5. **Call to action:** All content from the AI Influencer should include a clear CTA – typically an invitation to chat with the AI in Telegram (trial version).
6. **Less dependence on you:** The AI Influencer can gradually take over parts of your marketing communication, making your business less dependent on your personal presence and time. This can be beneficial even if you plan to sell your business in the future.
7. **Delegation:** Creating content in the name of the AI Influencer is often easier to delegate to a team than creating content under your personal brand.

This strategy requires some human assistance (at least in the beginning), but the potential for brand-building and scalable marketing is significant. The BuddyPro platform is moving toward greater automation of these processes.

## What structure and content should a sales webinar for an AI expert have?

Focus on the **key awareness moment** (the problem your AI solves). The topic of the webinar should be the **outcome** your client wants. Present the AI as the solution. **Compare the value** with online courses (too general) and personal consultations (expensive). This creates a pricing anchor and positions the AI expert as an **affordable and highly effective solution**.

## How to effectively communicate the benefits of your specialized AI expert compared to general tools like ChatGPT?

Effectively communicating the advantages of your specialized AI expert over general tools like ChatGPT is **crucial** for success. People are already familiar with ChatGPT—often using it for free—so you need to clearly show why investing in your solution is worth it.

**1. Depth, relevance, and uniqueness of know-how**

- **ChatGPT:** Has access to a vast amount of general information from the internet. It’s a “generalist”—broad but often shallow when it comes to specific domains. It doesn’t have your unique know-how, your methods, language, stories, or case studies.
- **Your AI Expert:**
  - **How to communicate it:** It is trained **specifically on your content**: your courses, books, webinars, articles, internal documents, proven methods. This know-how is **created by you**, curated with relevance and quality in mind.
  - **Client benefit:** The client gets advice that is **highly relevant** to their issue, in the context of your expertise. No need to filter through generic noise. The AI speaks your language, understands your field’s nuances, and can refer to specific modules or techniques you teach.
  - **How to say it:**
    - "Unlike general AI trained on the entire internet, my AI expert is trained on [X] years of my experience, [Y] completed projects, and the content of my [Z] paid programs. You get the essence of my best work."
    - "Imagine having instant access to all my know-how, tailored to your situation—without having to watch hours of video or read hundreds of pages."

### **2.** Defined personality, communication style, and values

- **ChatGPT:** Neutral and robotic by default. It lacks consistent personality or values.
- **Your AI Expert:**
  - **How to communicate it:** You define its personality, tone of voice, and ethical framework. It can be empathetic, energetic, analytical, humorous—whatever fits your brand.
  - **Client benefit:** The experience feels more human, authentic, and trustworthy. The client feels like they're speaking with someone who truly understands them.
  - **How to say it:**
    - "My AI guide doesn’t talk like a robot. I’ve trained it to communicate [empathetically/directly/warmly], just like I would, or like my ideal assistant would."
    - "It’s not just about the information—it’s about **how** it’s delivered. My AI is aligned with values like [value 1, value 2], and that comes through in every answer."

**3. Long-term memory, personalization, and user context**

- **Your AI Expert (BuddyPro):**
  - **How to communicate it:** With long-term memory and user profiling, it gradually builds a picture of each client—their goals, preferences, challenges, and progress.
  - **Client benefit:** No need to start from scratch every time. The AI remembers past interactions and tailors advice to the user's specific context.
  - **How to say it:**
    - "Your AI expert remembers you. With each conversation, it understands your needs better, delivering increasingly personalized and relevant support."
    - "No more repeating yourself. My AI keeps track of your journey (discreetly and securely) and helps you build on past wins."

**4. Specialization, narrow focus, and efficiency**

- **ChatGPT:** Like a Swiss army knife—does many things, but lacks precision for specialized tasks.
- **Your AI Expert:**
  - **How to communicate it:** It’s optimized for a specific purpose or domain. The BuddyPro role system ensures it switches to the most relevant expert mode.
  - **Client benefit:** Faster, more practical, and more relevant advice—no need to be an AI prompt engineer.
  - **How to say it:**
    - "You don’t need to be an expert in prompting. My AI guide is designed to intuitively help you solve problems in [your domain]."
    - "Instead of spending hours digging through general advice, my AI expert gives you laser-focused support tailored to challenges like yours."
    - **Analogy:** "ChatGPT is like a massive public library where you must find the right book and chapter. My AI expert is your personal librarian who hands you exactly what you need—with an explanation on how to use it."

**5. User experience – onboarding and guidance**

- **ChatGPT:** Offers a tool, not a guided experience.
- **Your AI Expert:**
  - **How to communicate it:** You can create onboarding flows, welcome messages, predefined conversation starters, and helpful tips.
  - **Client benefit:** A guided experience that delivers value from the start.
  - **How to say it:**
    - "From the first message, my AI expert guides you to quick wins and shows you how to get the most out of it."
    - "I’ve prepared useful tips and topics so you never feel lost—just pick one and dive in."

**6. Interactive work with client input (files, links, etc.)**

- **How to communicate it:** Your AI expert can work directly with files, links, and images shared in chat—something general tools rarely do well.
- **Client benefit:** Practical, personalized feedback on real-world content—not just theory.
- **How to say it:**
  - "No need to explain everything. Just send your document, website, or image to my AI expert and get instant feedback."
  - "Turn theory into action. Let the AI review your sales copy, analyze your report, or suggest presentation improvements."

**Summary tips for communication**

- **Use analogies:** Help people understand abstract differences more clearly.
- **Focus on benefits, not just features:** For example, instead of “it has long-term memory,” say “it remembers you so you don’t need to repeat yourself.”
- **Show, don’t just tell:** Demos, videos, and live examples are key.
- **Use testimonials:** Real user feedback builds trust and credibility.
- **Educate the market:** Blog posts, social content, webinars—explain why general AI isn't enough.
- **Emphasize your uniqueness:** "This is the closest thing to having me as your personal consultant—available 24/7 for a fraction of the cost."

## After a successful launch, how can I continue working with my AI expert within my product portfolio?

You can offer the **trial version of your AI expert as a valuable add-on** to your other products (such as courses or memberships). This gives your clients a chance to try it, learn how to use it, and increases the likelihood of converting to a paid version once the trial ends.

It can also serve as a way to **turn one-time buyers into recurring revenue clients** through subscriptions.

## What is the concept of an "AI Influencer" and how can I use it?

The idea is to **"bring your AI instance to life"** — turning it into a recognizable personality. Your AI could have its own **social media profiles**, and create content (texts, videos with AI-generated animation and your voice) based on your know-how. It can then invite people to try the trial version with a call-to-action like: **"Let’s talk about it directly – chat with me!"** At the moment, this approach **requires human assistance**, but greater automation is being considered for the future.

## What sales strategy should I choose for an AI expert in a niche where clients typically have short-term needs (e.g., opening a business location)?

If your clients are unlikely to need long-term monthly subscriptions:

- **Avoid offering monthly plans:** Instead, focus on fixed-term access with a one-time payment covering the full duration.
- **Ideal duration:** Consider offering **90-day** or **6-month access**. Customers are often less price-sensitive when purchasing multi-month plans. In fact, many perceive a 6-month price similarly to a 12-month one, even if the monthly rate is higher.
- **Example pricing model:** You might offer 6 months of access for $850, which feels like a discount compared to $1130 for a full year — even though the monthly cost is actually higher.
- **Key advantage:** You gain higher upfront revenue, and clients have ample time to solve their problem. This model eliminates the churn risk associated with monthly plans.

---

# Availability

## Which platforms is BuddyPro available on?

Currently, BuddyPro is available **exclusively via [Telegram](https://telegram.org/)** — and this brings several advantages:

**Current availability**:

- Telegram is a cross-platform app available on all devices (PC, mobile)
- It runs on all major operating systems (Windows, macOS, iOS, Android)
- Communication is simple, intuitive, and secure
- No need to create new accounts or learn new interfaces

**Future vision** includes the goal of:

1. **An omnipresent AI assistant** integrated into:
   - Websites
   - Membership areas and course platforms
   - Online communities
   - Various communication channels
2. **Live communication**:
   - Integration with Zoom
   - Phone calls
   - Video conferencing
3. **AI agents**:
   - Performing real tasks on the internet
   - Automating actions based on user requests

The goal is for your BuddyPro to be “ready everywhere your clients need it” — available right within their natural communication environment.

## What AI models does BuddyPro use?

BuddyPro offers a range of AI models that vary in performance and cost:

The choice of model depends on your priorities — whether you prefer top-tier quality or lower operating costs. For many use cases, the Economy model is an ideal balance between performance and price.

**Core models and their characteristics**:

- **Smart Model**: highest performance, approx. $0.08 per message
- **Economy Model**: great performance-to-cost ratio, approx. $0.05 per message
- **Nano Model**: most affordable option, approx. $0.03 per message _(currently not available)_

**Underlying technology**:

BuddyPro is not tied to a single AI provider. Instead, it leverages a mix of top-tier AI technologies:

- OpenAI (GPT models)
- Anthropic (Claude models)
- Google (Gemini models)
- Other specialized AI models

BuddyPro intelligently combines these AI providers — using each model where it performs best. The final output is a seamless blend optimized for your users.

---

# Security

## How does BuddyPro protect data and comply with GDPR?

BuddyPro is built with a strong focus on privacy and user data security:

**Key security features**:

- Conversations are encrypted
- No one — not even the BuddyPro team or instance owner — can access conversation content
- Data is not linked to identifiable individuals (within technical limits)
- Only AI models are used that guarantee they do not learn from your data

**GDPR compliance**:

- Users can be fully deleted along with all associated data
- Procedures are in place to safeguard personal information

**Shared user profile**:

- Each user has an encrypted profile that is shared across BuddyPro instances
- This does **not** mean that anyone can access it
- Neither we nor any BuddyPro instance owners can see this profile

## As the owner of a BuddyPro instance, can I see what my clients talk about with the AI?

No — as the owner, you do **not** have access to your clients’ conversations. This is an intentional security feature of the platform.

**Why it’s designed this way**:

1. To protect the privacy of end users
2. To build trust — users know their conversations are truly private
3. To comply with GDPR and other data protection regulations

**What if you need to know what your client discussed with your BuddyPro**:

- Anonymized usage statistics may be available in the future
- You can ask the client to share what they discussed with the AI
- You can instruct the client to ask BuddyPro for a conversation summary and forward it to you

## How is content uploading to BuddyPro handled in terms of copyright?

Uploading content to BuddyPro must comply with copyright regulations:

**Core guidelines**:

- The BuddyPro owner should only upload content they own or have permission to use
- Uploading copyrighted content without the copyright holder’s consent is a violation of the platform’s terms of service
- Using third-party content as your own know-how is ethically questionable

**Alternative approaches**:

- If you need to expand your knowledge base in a specific area, you can use ChatGPT to generate in-depth research on the topic
- For creating content in areas outside your expertise, you may use various open sources with the appropriate licensing

---

# Testing & Management

## How can I test and fine-tune my BuddyPro before launching it to clients?

To thoroughly test and refine your BuddyPro instance before going live:

**1. Use the testing mode**:

- Switch to a test user role using the command: `/test:ID`
- Example: `/test:test_account1`
- This simulates being a "new user" with a clean conversation history
- To return to your owner account, use `/untest`

**2. Test various scenarios**:

- Try typical questions your clients might ask
- Test edge cases and potentially tricky queries
- Observe whether BuddyPro understands context and stays consistent

**3. Fine-tune the responses**:

- Use `/lastRole` to see which role was used for a reply
- Modify the system prompt or specific roles if needed
- Use `/update` or `/updateRole:role_name` to apply changes
- Use `/del`, `/del2`, or `/del10` to delete previous messages and retest

**4. Involve other testers**:

- Generate test invites for colleagues or trusted friends
- Collect feedback from different perspectives
- Identify blind spots you may have missed yourself

You can generate an invite link for testing using the command: `/generateBuddyProInvite`

## How can I test the full purchase and activation process for plans/packages via Stripe or FAPI (including message top-ups), without involving real external testers?

You can test the entire purchase flow using a **test account** within your BuddyPro instance, activated with the command: `/test:{yourTestUserID}`. Once activated, your test account allows you to:

1. Simulate a purchase of any plan (subscription) or message package through your own payment form. It’s recommended to create a low-priced product (e.g. 10 CZK) for testing purposes.
2. Verify that after a successful “payment,” the plan or package is properly activated for your test account.

   (The AI should stop showing trial limit warnings, or the message count should increase.)

3. Test add-ons like **message top-ups** or **plan upgrades**.
4. Finally, cancel the subscription for your test account (if you tested a recurring plan) using:

   `/disableUser:{testSubscriptionId}` \*\*\*\*and cancel the recurring payment in Stripe or FAPI. This way, you can test the entire payment and activation flow end-to-end — without requiring real payments or external users.

## What commands can I use to manage and configure BuddyPro?

BuddyPro offers a wide range of commands for administration and setup. Here are the most important ones:

**Basic commands**:

- `/help` – shows the full list of commands
- `/setup` – launches the initial setup guide
- `/update` – processes new files and updates the system prompt
- `/updateRoles` – generates/updates expert roles

**Configuration commands**:

- `/setVoice:{voice}` – sets the voice for audio replies
- `/setDefaultSubscriptionUrl:{url}` – default subscription purchase link
- `/setUpgradeSubscriptionUrl:{url}` – link for upgrading or purchasing extra messages
- `/setSupportEmail:{email}` – support contact email
- `/setTrialEndedMessage:{message}` – message shown when trial ends
- `/setInviteTrialMessages:{count}` – number of trial messages for new users
- `/setDefaultCost:{defaultCost}:{defaultCostCurrency}:{defaultCostPeriod}:{defaultCostPeriodCount}:{discountedCost}` – pricing info
- `/shouldInitiateMessages:true/false` – enable or disable automatic messages

**User management**:

- `/generateBuddyProInvite:{trialMessages}:{code}:{usersLimit}` – create an invite link
- `/checkInvite:{code}` – view invite usage stats
- `/getInfoAboutUser:{subscriptionId}` – user details
- `/setTrialMessages:{userId}:{count}` – set trial message quota
- `/addTrialMessages:{userId}:{count}` – add trial messages
- `/disableUser:{subscriptionId}` – deactivate user
- `/giveExtraMessages:{subscriptionId}:{extraMessages}` – add extra messages
- `/deleteInvite:{inviteCode}` - this command will **immediately invalidate the selected invite**, so it **can no longer be used**, even if someone already has the link

**Testing**:

- `/test:ID` and `/untest` – toggle testing mode
- `/lastRole` – check the role used for the last reply

**Stripe integration**:

- `/setupStripe` – connect your Stripe account

**FAPI integration (alternative option)**:

- `/setupFapi:{username}:{apikey}` – connect your FAPI account
- `/connectForm:{id}:{productId}:{type}:{messages}` – connect a specific form

**Automatic message initiation settings:**

-`/shouldInitiateMessages:true / false` – global setting that controls whether BuddyPro can **initiate messages on its own** for all users (e.g. onboarding messages, follow-ups).

_Set by the instance owner, applies to all users._

-`/shouldMessageMe:true / false` – individual user setting that controls whether BuddyPro is allowed to **actively message that specific user**.

_Works only if global message initiation is enabled._

Other:

- **`/listUnassignedSubscriptions`** – lists subscriptions that users have purchased but have not activated yet.
- **`/messageAllUsers`** – a command for sending bulk messages to all users. This command can be used **only by the BuddyPro owner**. For specific parameters, ask your Buddy directly or use **`/help`**. Messages **consume AI credits** if you use dynamic messages (e.g. _“tell the user that…”_), with an approximate cost of **$0.16 per message per user**.

To view all available commands, simply type `/help` inside your BuddyPro instance.

## How can I change the language of the /help command list?

You can switch the language of command responses and system messages (for yourself as the instance owner) using the commands: `/setLanguage:cs` (Czech) and `/setLanguage:en` (English)

## I was added to a BuddyPro instance as a team member (via `/addUserToTeam`), but the instance says my trial or subscription has expired. Why?

Being added to a BuddyPro instance via the command `/addUserToTeam:{userId}` grants you **admin-level permissions** for that instance. This means you can use most setup and management commands — just like the owner.

However, this **does not automatically give you unlimited message access** in your personal conversation with the AI. From a message quota perspective, you are still treated as a "trial user" unless you purchase your own subscription for that instance.

To avoid running out of messages as a team member, the **owner** must manually grant you additional trial messages using: `/addTrialMessages:{yourUserId}:{messageCount}` (You can find your Telegram User ID by typing `/myid` in any BuddyPro bot chat.) Alternatively, if you were granted that permission, you may be able to add messages yourself.

## Can I change the AI voice?

Yes, you can change the voice of your BuddyPro instance using the command:

`/setVoice:{voice}`

This command sets the default voice for all users of your BuddyPro assistant.

You can find the list of available voices on [OpenAI’s official page](https://platform.openai.com/docs/guides/text-to-speech#voice-options).

The available voices include various male and female options, each with different characteristics, accents, and speaking styles.

Choosing the right voice can greatly enhance the personality of your AI expert and help create a consistent identity that fits your brand.

The voice is used for audio responses, for example, when a user sends a voice message or when BuddyPro responds via voice instead of text.

## A client purchased a plan but wants to cancel it and buy a different one — how should I handle this?

Refund the payment, cancel the subscription in Stripe/FAPI, and run the command `/disableUser:{subscriptionId}` using their current subscription ID.

After that, the client can purchase a different plan.

Their conversation history and profile will remain saved — the AI will remember them even after switching to a new plan.

## Can I manually edit my clients’ invoices or subscriptions directly in Stripe/FAPI (e.g. change pricing or billing period)?

**Manual edits are strongly discouraged** once a client has purchased your BuddyPro service and the subscription has been linked.

The BuddyPro system has **no visibility** into manual changes made directly in the payment provider. This means that if you manually adjust the price or billing cycle, **BuddyPro won’t know about it** and will continue operating based on the original parameters. This can lead to inconsistencies, access issues for the client, or incorrect message allocations.

If you need to change a client's subscription terms (e.g. move them to a different plan), the safest approach is to have the client **cancel the current subscription** and purchase a new one using the appropriate payment form.

## As the owner, can I see how many trial messages a specific user (who used an invite link) has left?

Currently, there is **no direct command** for the instance owner to check the remaining number of trial messages for a specific individual user.

However, the **user can ask their BuddyPro instance directly** in natural language (e.g. “How many messages do I have left?” or “Do I still have free messages?”), and the AI should be able to provide an accurate answer.

For an overview of how an **invite code is being used overall**, you can use the command `/checkInvite:{code}`. This shows aggregated statistics such as how many users have used the invite, how many converted to a paid plan, average trial message usage, etc. But it does **not** provide user-specific data.

## Can I grant free bonus messages to existing users (on a paid plan or post-trial)? How do these messages behave and do they expire?

Yes, you can grant free messages to your users. The process depends on the user’s current status:

- **For users on a trial or after trial expiration (no active paid plan):**
  Use the command `/addTrialMessages:{userId}:{count}`.
  `{userId}` is the Telegram User ID (they can get it by typing `/myid` in any BuddyPro bot chat), and `{count}` is the number of messages you want to add.
- **For users with an active paid subscription:**
  Use the command `/giveExtraMessages:{subscriptionId}:{extraMessages}`.
  `{subscriptionId}` is the subscription ID (from Stripe or the recurring invoice number from FAPI), and `{extraMessages}` is the number of bonus messages to add. These extra messages behave like a purchased add-on package. They **do not expire** and are **used only after the user exhausts their monthly subscription limit**.

## Can I deactivate or change the parameters (number of messages/users) of an already generated invite link (`/generateBuddyProInvite`)?

At this time, you **cannot** manually deactivate or directly modify the parameters (such as trial message count or user limit) of an invite link once it has been generated.

If you accidentally created an invite with incorrect settings (e.g. too many free messages or an unlimited user cap when you intended a limit), we recommend the following:

1. **Stop sharing the incorrect invite link.**
2. **Generate a new invite link** with the correct parameters and a unique code.
3. If you urgently need to change the parameters of an already shared link, contact support at [`support@buddypro.ai`](mailto:support@buddypro.ai). They may be able to assist by editing the link directly in the database. Note: More advanced invite management options for instance owners are being considered for future updates.

## What’s the correct process if I want to refund a client and revoke their access to BuddyPro?

If you decide to refund a client for their subscription or message package:

1. **Process the refund in your payment system:** First, issue the refund using the standard procedure in your payment provider (Stripe or FAPI).
2. **Cancel the recurring payment (if it’s a subscription):** If it was a recurring subscription, make sure to cancel any future recurring payments in Stripe/FAPI to prevent further charges.
3. **Deactivate access in BuddyPro:** Next, it is **essential** to manually deactivate this client’s access in your BuddyPro instance. You do this using the command `/disableUser:{subscriptionId}`. Replace `{subscriptionId}` with the subscription identifier (Stripe subscription ID or the recurring invoice number in FAPI). If you skip step 3, the client may continue to use your BuddyPro service even after the refund.

## Where can I find the invoice for AI credit top-ups?

You will automatically receive the invoice by email after your payment card is charged. Look for a message with the subject line: **“Your receipt from [Buddy.fm](http://buddy.fm/)”**. The invoice (PDF) will be attached to the email. If you have any questions regarding billing, please contact customer support at [`support@buddypro.ai`](mailto:support@buddypro.ai) .

## My BuddyPro AI expert was originally created by someone else. I can now configure it, but when I try to change its name, image, or description via `@BotFather`, it says I don’t own any bots. What should I do?

This means that the underlying **Telegram bot** (which is the “body” of your AI instance) was created under a **different Telegram account** than yours.

Even though you have admin rights to the BuddyPro instance (e.g. you can run `/update`, `/setFolder`, etc.), **you are not the technical owner of the Telegram bot** itself.

In order to modify its basic properties in Telegram (such as its display name, profile picture, or bot description) via the official bot manager `@BotFather`, the person who originally created the bot needs to **transfer ownership** of that Telegram bot to your Telegram account.

Ask the original creator to open the `@BotFather` chat, select the bot, choose **"Transfer ownership"**, and enter your Telegram `@username`. You will then need to confirm the transfer in your own chat with `@BotFather`. Once confirmed, you’ll be able to fully manage the bot.

---

# Technical Integrations

## How do I connect my instance to FAPI?

Integrating BuddyPro with the **FAPI** payment system (an alternative to Stripe) involves the following steps:

**1. Prepare your FAPI account:**

- Create an account at [fapi.cz](https://fapi.cz/)
- Create your products (subscription and package)
- For subscriptions, make sure to check **Issue recurring invoices and Enable automatic card payments"**

**2. Connect your FAPI account to BuddyPro:**

```
/setupFapi:{username}:{apikey}
```

- `username` is available under **My Account > API Keys**
- `apikey` can also be created or found in the same section

**3. Link your FAPI forms:**

```
/connectForm:{id}:{productId}:{type}:{messages}
```

- `id` – Form ID (found in the FAPI form URL)
- `productId` – Product ID (found under Templates > Items)
- `type` – Either `subscription` or `package`
- `messages` – Number of messages per month (subscription) or total (package)

**4. Set up the thank-you page and email template:**

- Edit the thank-you page **within FAPI** (not on your own website)
- In the `{IF_PAID}` section, insert the activation text and link provided by BuddyPro
- Create a custom email template that also includes the activation link

**5. Verify the integration:**

- Run the command `/checkSetup` to ensure everything is properly configured
- For testing, you can create a low-price form (e.g. 10 CZK)

**Important notes:**

- You need a **separate FAPI form** for each product (plan or package)
- Avoid manually editing automatically generated invoices
- When issuing a refund, you must cancel the subscription in FAPI **and** run the `/disableUser` command in BuddyPro

Full tutorial: [Official documentation](https://www.notion.so/19-Technick-integrace-s-platebn-m-syst-mem-FAPI-nebo-Stripe-Jak-p-ij-mat-platby-od-z-kazn-k-1fc10e1465e280a9ab21ea4ad365a6ff?pvs=21)

## How do I connect my instance to Stripe?

1. **Link your Stripe account to BuddyPro**
   - Use the command:
     ```bash

     /setupStripe
     ```
   - Buddy will reply with a link to initiate the connection. Click the link and follow the instructions on the Stripe website.
2. **Buddy will auto-generate sample products and payment links**
   - You can view your products here: [https://dashboard.stripe.com/products](https://dashboard.stripe.com/products)
   - Payment links will be listed here: [https://dashboard.stripe.com/payment-links](https://dashboard.stripe.com/payment-links)
3. **You can edit or create your own products**
   - Any product you want to connect to BuddyPro **must include the following metadata**:
     ```
     case: buddy_pro
     messages: 200 (replace with desired number)
     ```

**Important notes:**

- You need a **separate payment link for each product** (subscription or message package)
- Avoid manually editing automatically issued invoices in Stripe
- If issuing a refund, you must also cancel the subscription in Stripe **and** run the `/disableUser` command in BuddyPro

Full tutorial: [Official documentation](https://www.notion.so/19-Technical-integration-with-Stripe-payment-system-how-to-accept-payments-from-customers-22210e1465e280cda5d0ecb6b4970cd4?pvs=21)

## Can I use other payment systems besides FAPI or Stripe (e.g. Kartra, ThriveCart)?

**Not at this time.** BuddyPro currently supports **only Stripe and FAPI**. Integration with other platforms like Kartra or ThriveCart is **not planned**.

## How do I set up a pricing hub with multiple plans and pass the userId / client_reference_id correctly?

If your pricing or upgrade page offers multiple plans (e.g. after a trial ends), it’s important to **preserve the `client_reference_id`** (for Stripe) or **`userId`** (for FAPI) in the URL all the way to the final checkout form.

**1. Technical explanation:**

- When a user clicks a link from BuddyPro, the URL will include a parameter like `?client_reference_id=12345` (for Stripe) or `?userId=12345` (for FAPI).
- This parameter **must be passed along** to the sales form URLs when users click on one of the plan buttons.
- You can do this easily using a small script on your website—see below.

**2. Code snippet for your website**

Add the following script to your website (either in the page `<head>` or embedded as an HTML element):

```
<script src="https://cdn.jsdelivr.net/gh/buddy-fm/buddy-public@latest/userparam.js"></script>
```

Then test it by opening your pricing page with the parameter attached, such as:

- `https://yourwebsite.com/plans?client_reference_id=12345` _(for Stripe forms)_
- `https://yourwebsite.com/plans?userId=123456` _(for FAPI forms)_

When you click on any of the pricing buttons, the checkout URL should **retain the same parameter** (`?client_reference_id=12345` or `?userId=123456`).

1. **Testing functionality**
   - Open your pricing hub URL with the parameter:
     e.g. `https://yourwebsite.com/plans?client_reference_id=12345`
   - Click on any plan button
   - Verify that the resulting Stripe or FAPI form URL still contains the same parameter.

**Alternative options:**

If you prefer not to use JavaScript, you can:

- Link directly to individual Stripe or FAPI forms instead of a pricing hub
- Create a dedicated landing page for each invitation, with pre-filled links

For full instructions, see the [official documentation](https://www.notion.so/Propojen-BuddyPro-s-platebn-m-syst-mem-FAPI-1ce10e1465e2803e9f8dcae55e0d35c7?pvs=21)

## Do I need a separate Stripe form for each plan or message package?

Stripe allows you to create a **checkout form with multiple product options**—and you can use this setup. However, the selection must be **“either-or”** (i.e. choose one), not a setup where the user can purchase **multiple BuddyPro products at once** in a single transaction.

## Do I need a separate FAPI form for each plan or message package?

Yes, you need to create a **separate FAPI form for each product**, whether it’s a monthly subscription plan or a one-time message package. This is a technical requirement based on how BuddyPro integrates with FAPI.

**Why separate forms are required:**

1. The command `/connectForm:{id}:{productId}:{type}:{messages}` only allows specifying **one** product, type, and message count
2. BuddyPro needs to clearly identify which product the user purchased and how many messages they should receive
3. Each form has its own thank-you page and email templates

**In practice, this means:**

- You need a separate form for each pricing tier of your subscription plan
- You need a separate form for each extra message package
- You **cannot offer multiple plans in a single form**

**How to set it up properly:**

1. In FAPI, create a separate product for each plan or package
2. Create a separate FAPI form for each product
3. Connect each form to BuddyPro using the `/connectForm` command
4. Configure a unique thank-you page and email template for each form

When designing your business model and user journey, keep this limitation in mind. You can either build multiple standalone forms or use a landing page (pricing hub) to route users to the appropriate form.

## I need to use my own thank-you page on my website (for Facebook Pixel tracking and additional content), not just a redirect to Telegram or the standard FAPI thank-you page. How can I handle the activation link?

If you’re using the FAPI integration, reliably passing activation data to BuddyPro **while using a fully custom thank-you page on your own website** is technically more complex and typically requires a developer on your team. The **standard and recommended approach** is to use the **built-in FAPI thank-you page**, which can be **partially customized** in terms of content and appearance.

If you still wish to use a custom thank-you page on your own website despite the added technical complexity, please **contact customer support** for guidance on implementing this advanced setup.

## Will clients from Russia or former Soviet countries be able to pay for BuddyPro, for example using Mir cards?

Payment options for your clients primarily depend on the payment gateway you connect to BuddyPro (typically FAPI or Stripe). These international providers **generally do not support** Russian payment systems such as the Mir card—primarily due to international sanctions and restrictions.

For the most up-to-date information on supported countries and payment methods, please check directly with your payment gateway provider (FAPI or Stripe). It is very likely that payments from Russia or using Russian-specific tools like Mir will **not** be supported.

## I'm not very tech-savvy, and setting up a BuddyPro instance feels too complicated. Does the BuddyPro team offer a paid done-for-you setup service, or can I delegate the setup to someone else?

While it is technically possible for someone else to set up your BuddyPro instance on your behalf, the BuddyPro team **currently does not offer** a paid “done-for-you” setup service due to capacity constraints. The goal of the platform is to make the setup process as intuitive and accessible as possible—even for non-technical users—through detailed step-by-step guides and **interactive onboarding** built directly into your BuddyPro instance (it will guide you through the process itself).

If you still don’t feel comfortable handling the full setup on your own, we recommend the following:

1. **Ask a more tech-savvy colleague, assistant, or freelancer for help.** A detailed guide is available that explains how someone else can handle the technical setup, even if they are not the final owner of the instance.
2. **Take full advantage of the guides and community support.** Many steps are clearly documented, and users help each other inside the **BuddyPro Owners Telegram group**. As the platform evolves, the setup process will continue to become easier.
3. **Ask the BuddyPro Owners community for help.** The community is growing rapidly, and many experienced members are already familiar with the setup process. You can often find someone willing to set up the instance for you.

---

# The Future & Vision

## How does BuddyPro help build better client relationships?

BuddyPro offers unique opportunities to strengthen your connection with clients:

1. **Always-on availability and support**
   - BuddyPro is available 24/7, so clients can get help whenever they need it
   - This sense of constant support significantly increases the value of your services
   - Clients are no longer limited by your schedule or availability
2. **Personalized interaction**
   - BuddyPro remembers all past conversations and client preferences
   - With each new interaction, personalization deepens
   - Clients feel understood and experience a sense of individual attention
3. **Consistent communication**
   - BuddyPro always communicates in line with your values and tone
   - It delivers a consistent experience that reflects your brand
   - Clients can rely on stable, high-quality interactions
4. **Trust-building**
   - Clients build trust when they see that BuddyPro delivers real value
   - Its ability to accurately apply your know-how strengthens your expert position
   - Transparency about what AI can and cannot do helps create an authentic relationship

## Some of my clients don’t trust Telegram or aren’t familiar with it. Are there plans to support BuddyPro on other platforms (e.g. Signal, WhatsApp) or even via a standalone app? What are the main advantages of Telegram?

At the moment, the BuddyPro platform is available **exclusively through the Telegram app**. We understand that some users may have reservations about Telegram or prefer other communication platforms.

**Future plans:** Expanding BuddyPro to other platforms — and possibly developing a dedicated app —is under consideration for the future.

**Why Telegram was chosen as the starting platform:**

- **Cross-platform availability:** Telegram works on all major operating systems (Windows, macOS, Linux, Android, iOS) and also has a fully functional web version.
- **Advanced bot capabilities:** Telegram offers a powerful bot API that enables rich interaction (text, voice messages, buttons, file sharing, and more).
- **Security:** Telegram is known for its privacy and encryption features. (Note: While not all chats are end-to-end encrypted by default, communication with bots is secure.)
- **Large user base:** Telegram has a large and growing global user base.
- **Ease of use:** If users already have Telegram, they don’t need to create a new account or learn a new interface. They can have all their AI assistants in one place.
- **Lower development cost:** Leveraging an existing platform reduces the cost and time required to build a custom interface, allowing the BuddyPro team to focus on rapidly developing key AI features and capabilities.

## Is there a plan for an admin dashboard where I, as the instance owner, can see usage stats, costs, profitability, etc.?

Yes, building a more advanced analytics dashboard for BuddyPro instance owners is part of the platform’s long-term vision. The goal is to give you a clear overview of how your AI instance is being used, what your operating costs are, and how profitable it is.

The first version of this analytics overview is already available directly in Telegram.

As the **owner** or a **team member**, you can use the `/stats` command. This will generate a comprehensive report with key statistics for your instance, including:

- **Financial overview:** Total revenue, AI-related costs (overall and operational), and current credit balance
- **Message statistics:** Total number of messages and average cost per message
- **User analytics:** Total number of users, active subscribers, and users on trial
- **Trends:** Message and cost data for the past week and month

This command represents the first step toward a full-featured admin dashboard and gives you the key data you need to manage and optimize your BuddyPro instance.

Stay tuned to the **BuddyPro Owners Telegram community** for updates on new features.

## Will AI experts replace human experts?

**AI is a partner.** The most successful experts will be those who **combine AI with their authenticity**. It’s not about full replacement, but rather a transformation of the expert’s role:

**The shift in expert-based business:**

David Kirš says that “BuddyPro is not only an evolutionary product that I believe the entire expert business will transition to (e-books, online courses, and online education will shift into interactive, intelligent formats in the form of these new products), but it will also help us share knowledge without being tied to our computers.”

**The key perspective:**

Pavel Říha says: “The question isn’t whether AI will replace experts—it’s whose AI it will be.” He adds: “If AI is going to replace me, I want it to be my AI. One that may take over the work, but not my income. One that frees up my time and helps me run my business more efficiently.”

**The human touch still matters:**

- Premium services will likely always include some level of human interaction
- AI experts can handle routine tasks, while human experts focus on deeper challenges
- VIP packages often combine AI automation with personal consulting

**A new balance:**

- AI can offer daily support and basic guidance
- Human experts bring deep insight, empathy, and creative problem-solving
- The optimal model is likely a **hybrid** of both

In summary, AI won’t completely replace human experts, but it will create a new dynamic where experts work more efficiently—and in many cases, on a higher level—thanks to AI support.

## What is the vision for the future of BuddyPro?

The goal is to create a **ubiquitous, intelligent digital teammate**, available on the web and across various apps—capable of speaking with voice, supporting your business (marketing, sales), and eventually even **executing tasks as an AI agent**.

---

# Common Errors & Troubleshooting

## What to do if a command with parameters doesn’t work or returns an error?

If a command that requires parameters isn’t working:

1. **Check the syntax carefully:** Make sure you typed the command **exactly**, including the leading slash `/`, the correct command name (case-sensitive), and all separators (usually colons `:` between parameters).
2. **Replace placeholders:** Replace placeholders like `{userId}`, `{count}`, or `{folder_URL}` with actual values **without curly braces `{}`**.

   Example: `/addTrialMessages:123456789:100`

3. **Parameter order matters:** Follow the **exact order of parameters** as shown in `/help` or the documentation.
4. **Watch out for hidden characters:** If you copy the command from somewhere else, hidden characters or incorrect character types (like a different dash or quote symbol) can break it. It’s better to **type the command manually**.
5. **Check your permissions:** Make sure you have the required permissions to run the command. (Most admin-level commands can only be used by the instance owner.) If the issue persists, verify the command format using `/help` or contact support.

## I’m seeing "Commands not allowed" when entering a command. What’s wrong?

This usually means there’s a **typo or incorrect capitalization**. Commands are **case-sensitive**, so you must enter them exactly as defined. Double-check the format against the output of `/help` or the official documentation. For example, the correct format is: `/generateBuddyProInvite {trialMessages}:{code}:{usersLimit}`**not** `/generateBuddyProinvite:...`. Also verify that you’re using the command in the correct BuddyPro instance and you have the necessary permissions to run the command

## When setting up my Google Drive folder using `/setFolder`, I repeatedly get errors like "Failed to prepare your folder with error: prepareBuddyProStructure failed, Cannot read properties of undefined (reading 'driveSemaphore')" or "Folder is not empty" – even though I followed the instructions. What should I do?

These errors may be caused by temporary server issues, slight configuration inconsistencies, or a previous failed attempt to create the folder structure. Try the following steps:

1. **Check the URL carefully:** Make sure the folder URL you entered in the command `/setFolder:{folder_URL}` is 100% correct – with no extra spaces at the beginning or end.
2. **Empty the folder completely:** If the error says "Folder is not empty", open the folder on your Google Drive and **delete everything inside it**. This includes any subfolders like `sources`, `ROLES`, etc., which BuddyPro may have partially created during a failed setup. The folder **must be completely empty** before `/setFolder` can succeed. Then try the command again.
3. **Create a brand new folder:** If the problem continues, create a **new, empty folder** on your Google Drive, share it with the email address provided by BuddyPro (with **Editor** access), and try connecting it with `/setFolder` using the new folder URL.
4. **Wait and try again:** Sometimes the error is due to a temporary platform issue. Wait a few minutes and retry the command.
5. **Contact support:** If none of the above steps work, contact support at [`support@buddypro.ai`](mailto:support@buddypro.ai). Include: The exact error message, Your bot’s username, The approximate time the issue occurred. The BuddyPro team may have already identified and resolved the problem on the platform.

## Why do I get the error "The user does not have sufficient permissions for this file" during `/update`?

This error most likely means that BuddyPro is trying to modify or delete a file during the `/update` process, but **doesn’t have permission**—because **you**, not BuddyPro, are the file’s owner. This can happen if you **accidentally created or edited a file inside the `TRANSCRIPTIONS` folder**. That folder is reserved exclusively for files generated by BuddyPro.

**How to fix it:** Go through the `TRANSCRIPTIONS` folders (under both `sources/Files` and `sources/URLs`), and **delete any files you created manually**. Then run the `/update` command again.

## The `/update` command returns the error "subfolders not allowed". What does it mean and how can I fix it?

This error means that inside the `sources/Files` folder (or possibly `sources/Texts` or `sources/URLs`, though less likely), you have **subfolders instead of just files**.

The structure is designed so that these folders contain **only files**, not additional directories.

**How to fix it:**

1. Open the `sources/Files` folder (and optionally the other `sources` subfolders) on your Google Drive.
2. **Move all files** out of any subfolders directly into the `Files` folder.
3. **Delete any empty subfolders** you may have created.
4. Run the `/update` command again.

## What to do if `/update` returns an error about the `language code` in `Transcription settings`?

If the `/update` command returns an error related to the `language code`, check the `transcription_settings.gdoc` file in your BuddyPro folder on Google Drive. Make sure the `LANGUAGE` field contains either: A valid ISO 639-1 language code (e.g. `cs` for Czech, `en` for English), Or is left empty if your materials are in multiple languages. Your BuddyPro instance should notify you of any invalid language code when running the `/update` command.

## I’m having trouble uploading a file containing product URLs (e.g. from my e-shop) via `/update`. It shows a transcription error. What should I do?

Make sure the file containing your URLs follows the correct format:

- URLs should be saved in a Google Document named `URL SOURCES.gdoc`, located in the folder `SOURCES/URLs/`
- Each URL must be on a separate line
- All URLs must be complete, including the `http://` or `https://` prefix
- Check that there are **no extra characters, spaces, or comments** after the URLs
- All URLs must be **publicly accessible**, so that BuddyPro can visit and process their content. If the issue persists after verifying the format and accessibility of the URLs, please contact support and include an example of the problematic URL for analysis.

## My BuddyPro instance stopped responding, and commands like `/update` or `/updateRoles` show an error (e.g. "Cannot read properties of undefined (reading 'id')") or the process gets stuck. What’s going on?

This issue can occur for several reasons:

1. **Cost limit exceeded during `/update`:** When processing large amounts of data (especially audio/video), the system may hit an internal safety limit on operation cost (e.g. $50).In such cases, the instance will notify you with a message like:"Updating Buddy Pro exceeded a $XX cost limit..." To continue, run the `/update` (or `/updateRoles`) command again. To reduce transcription costs, consider disabling `IMPROVED_TRANSCRIPTIONS` in your `transcription_settings.gdoc`.
2. **Folder structure issue on Google Drive:** You may have accidentally deleted or moved a key file or folder that BuddyPro needs (e.g. the `ROLES` folder or the file `ROLES/LIST OF ROLES.gdoc`).

   While the system can sometimes regenerate missing files, major disruptions may cause errors.

3. **Temporary platform issue:** This could be due to a temporary outage or system error on BuddyPro’s side. The team may already be working on a fix. Try again later.
4. **AI credits exhausted:** Make sure your instance still has enough AI credits to operate. Check the credit status via a command (if the instance responds), or contact support.

If the issue persists, contact support at `support@buddypro.ai` and include:

- A detailed description of the error,
- The approximate time it occurred,
- The name (username) of your BuddyPro instance.

## When I ran `/update` after uploading the onboarding messages, Buddy responded with:`Error: Failed to parse <ONBOARDING-MESSAGES> tag content in ONBOARDING document, JSON is invalid`. Where could the problem be?

This error indicates that the structure inside the `<ONBOARDING-MESSAGES>` tag (or possibly `<FIRST-MESSAGES-EXAMPLES>`) in your `onboarding.gdoc` file is **not valid JSON**. The issue is usually a small syntax error such as:

- A trailing comma after the last item in an array (after the final closing curly brace `}` before the closing tag `]`).
- Missing quotation marks around keys or string values.
- Incorrectly written brackets (`{`, `}`, `[`, `]`). Carefully review the syntax of the content between the tags. You can copy the entire contents of the `<ONBOARDING-MESSAGES> [...] </ONBOARDING-MESSAGES>` tag into an online JSON validator to help identify the error. Alternatively, you can ask an AI (e.g., ChatGPT) to fix your JSON by saying something like: “Here is some invalid JSON code. Please fix any typos and return it as valid JSON.”
- The easiest way to resolve the issue is to paste your JSON into ChatGPT and ask: "The following JSON code is invalid. Please correct the errors and reformat it as valid JSON."

## Why does `/connectForm` fail with the error "Form does not exist..." even though `/setupFapi` was successful?

This error can have several causes:

1. **Error in `/setupFapi`:** Even if the command reported success, you may have entered the `{apikey}` **including the curly braces `{}`**. Make sure you entered the key without them, and for certainty, run the command again correctly using `/setupFapi:{username}:{apikey}`.
2. **Incorrect ID:** Double-check that you are entering the **correct form ID (`{id}`)** and **correct product ID (`{productId}`)** in the `/connectForm` command. You can find them in FAPI under the `Forms` and `Templates/Items` sections.
3. **Incorrect link syntax in the email/thank-you page:** Ensure that the activation link contains **exactly** `{invoiceNumber}` (for FAPI), and not `{{number}}` or any other variable format. BuddyPro also checks this configuration in the FAPI form.

If the error persists, contact support and provide the exact command you’re using along with the form/product ID.

## The `/connectForm` command gives me the error "Form does not contain product with id [number]" or doesn’t respond, even though I think I have everything set up correctly. What could be the cause?

If you are experiencing issues with the `/connectForm` command and connecting a FAPI form, check the following:

1. **Only one BuddyPro product in the form:** Make sure that the FAPI sales form you're trying to connect contains **only one product** (item) of the BuddyPro type (whether it's a subscription or a package). The FAPI form **cannot offer multiple different BuddyPro products/plans/packages at once**. You need a separate FAPI form for each individual plan or package.
2. **Correct product and form IDs:** Carefully verify that you're entering the following in the command `/connectForm:{form_id}:{product_id}:{type}:{messages}`:
   - The correct **form ID** (you can get it from the URL of the given FAPI form – it’s the numeric or text value after `/form/` or `?id=`).
   - The correct **product ID** (of the specific item the user is purchasing – you can find it in FAPI under `Templates -> Items`, it’s a numeric value).
   - Typos are very common.
3. **Correct event setup in FAPI:** To enable successful automatic activations, it’s crucial that the FAPI form has the correct "Event" (webhook) set up to notify BuddyPro when an order is paid. Use the `/checkSetup` command in your BuddyPro instance. It will check your connection with FAPI and guide you with the next steps if it finds a missing or incorrect event setup.
4. **Temporary platform issue:** In rare cases, it could be a temporary issue on the side of BuddyPro or FAPI. If you’re sure all IDs and settings are correct, try again after a short delay.

If problems persist, contact support at [`support@buddypro.ai`](mailto:support@buddypro.ai) with the exact command you’re entering, along with the form and product ID from FAPI.

## **What to do if my BuddyPro instance reports low AI credits and stops working – and doesn’t allow me as the owner to top up (e.g. it doesn’t send the `/setupCredits` link)?**

If your BuddyPro instance reports low AI credits and as a result stops responding even to your commands as the **owner** (including credit top-up commands like `/setupCredits` or doesn’t guide you to it), this is considered an **abnormal and critical situation**.

The platform should allow the owner to access administrative credit management functions even when credits are depleted. If this is not happening:

1. **Wait a few minutes:** This might be caused by temporary system overload. Try again after a few minutes.
2. **Contact support immediately:** Email [`support@buddypro.ai`](mailto:support@buddypro.ai) with a clear and urgent description of the issue. Include your bot’s username and the approximate time the issue occurred. To prevent this situation in the future, make sure to properly configure **automatic AI credit top-up** using a linked payment card, and set both: a **high enough credit top-up limit**, and a **sufficiently high threshold** at which auto top-up is triggered.

## The `/checkSetup` command shows: "NOTE: Your Buddy Pro is NOT publicly available through t.me/USERNAME_BOTA – it needs to contain an invite code...". Does this mean something is wrong?

No, this message at the end of the `/checkSetup` output **does not indicate an error** in your setup. It’s simply an **informational note** reminding you of an important principle behind how access to BuddyPro instances works:

- For a new user to start a conversation with your BuddyPro instance and receive trial messages (if you offer them), they must use a **special invite link**. This link usually looks like: `https://t.me/USERNAME_BOTA?start=INVITE_CODE` and contains a unique invite code.
- Alternatively, if a user purchases a subscription via your sales form (Stripe/FAPI), the activation link from the thank-you page or email will also contain the necessary parameters to connect the payment to their Telegram account and activate access. Just the bot's username (e.g. `t.me/USERNAME_BOTA`) without these special parameters (such as `start=CODE`) **will not allow** a new user to automatically start the conversation with trial messages or with an already activated subscription. So this message is simply a reminder to always use correct invite or activation links.

## A client paid for a plan via FAPI, but access wasn’t activated. What should I check?

If your client didn’t get access to your BuddyPro instance after paying for a plan:

1. **Check your FAPI integration settings:** Run the `/checkSetup` command in your BuddyPro instance. This command verifies the key configuration, especially whether the FAPI sales form has the correct “Event” set for “Order paid” – this is what notifies BuddyPro of a successful payment. If `/checkSetup` detects a problem, it will guide you on how to fix it in FAPI.
2. **Did the client click the activation link?:** Make sure the client clicked the activation link they received in the confirmation email from FAPI and that appeared on the FAPI thank-you page. This link contains a unique code that connects the payment to their Telegram account.
3. **Timing delay:** Sometimes there may be a short delay (a few minutes) between completing the payment and FAPI sending the payment data to BuddyPro. If the client clicked the activation link immediately after payment, BuddyPro might not yet have received the confirmation. In that case, ask the client to click the activation link again after a short delay.
4. **Correct transfer of `userId` (when using custom landing pages):** If you’re using your own page (as a pricing hub) with multiple plans that link to FAPI forms, make sure the `userId` parameter (included in the URL when BuddyPro redirects the user to your site, e.g. after a trial ends) is **correctly passed to the final FAPI form**. If the `userId` is lost “along the way,” the system cannot automatically link the payment to the user. _(Note: For Stripe integration, unlike FAPI, the parameter used is `client_reference_id`, not `userId`.)_

If the problem persists, please contact support.

## A client paid for a plan via Stripe, but access wasn’t activated. What should I check?

If your client didn’t get access to your BuddyPro instance after paying for a plan:

1. **Check the Stripe product settings:** Your Stripe product must include the correct metadata:

`case: buddy_pro`, `messages: number`

1. **Did the client click the activation link?:** Make sure the client clicked the activation link they received in the confirmation email. This link contains a unique code that connects the payment to their Telegram account.
2. **Correct transfer of `client_reference_id` (when using custom landing pages):** If you’re using your own page (as a pricing hub) with multiple plans that link to Stripe payment forms, make sure the `client_reference_id` parameter (included in the URL when BuddyPro redirects the user to your site, e.g. after a trial ends) is **correctly passed to the final Stripe form**. If the `client_reference_id` is lost “along the way,” the system cannot automatically link the payment to the user. _(Note: For FAPI integration, unlike Stripe, the parameter used is `userId`, not `client_reference_id`.)_

If the problem persists, please contact support.

## My clients sometimes don’t receive their purchased message packages (or subscriptions don’t activate) immediately after payment, even when they click the activation link from the FAPI email. What could be the issue?

This may be caused by a delay between the moment the payment is successfully processed in FAPI and the moment FAPI sends a notification (event/webhook) about the payment to the BuddyPro system.

If the client clicks the activation link (from the FAPI email or thank-you page) **before BuddyPro has received and processed the payment notification**, the system may not be able to immediately pair the payment with the user.

**Solution:**

- Ask the client to **click the activation link again after a short delay** (e.g., 5–10 minutes). By that time, the payment information should already be available in the BuddyPro system.
- The BuddyPro team is actively working to optimize this process to make it as fast and reliable as possible. Also, if you are using your own landing page as a hub for different pricing plans, make sure the `userId` parameter from the URL (generated by Buddy when linking to your page) is **correctly passed all the way to the final FAPI form**. Without the correct `userId` on the FAPI form (in cases where the user does not follow the email link), automatic pairing is not possible. _(Note: For Stripe integration, unlike FAPI, the parameter used is `client_reference_id`, not `userId`.)_

## Can I change or add the Stripe/FAPI account linked to my Buddy Pro?

No, once you connect your Buddy Pro to your FAPI or Stripe account and start selling, you cannot change the Stripe/FAPI account. Doing so would break the connection with existing subscriptions. This means you **cannot run the `/setupFapi` or `/setupStripe` command again** once the integration is complete and sales have started. You can only make this change if you **haven’t started selling yet**. If you need to transfer a Buddy Pro that is already in use to a different Stripe/FAPI account, please contact support.
