> For the complete documentation index, see [llms.txt](https://voicegenie.gitbook.io/voicegenie-ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://voicegenie.gitbook.io/voicegenie-ai/product-guides/dynamic-personalization-detailed-explanation..md).

# Dynamic Personalization Detailed Explanation.

### Brief Explanation

Dynamic user properties, also called **dynamic variables**, are placeholders defined in your assistant's **script** or **call opening message**.\
During a call, these placeholders are automatically replaced with individual user or callee details.

### In-depth Overview

Suppose you want your assistant to address each of your leads or users by their **name** while calling a large list of contacts. To achieve this:

1. Add **user variables** to your assistant’s **call opening message** or **script**.
2. Upload a **contact list** containing the relevant user details.

During calls, your assistant will automatically **replace these variables** with the corresponding values for each user.

**How It Works**

1. When you upload a contact list — either via **file upload** or **manual entry** — VoiceGenie tracks all **user properties**:
   * **File Upload:** Excel column names are used as variables.
   * **Manual Upload:** Field names are used as variables.
2. You can then use these variables within your assistant’s script or call opening message.

{% hint style="success" %}

**Important Notes:**

* You can only use variables corresponding to the fields provided in your uploaded contacts.
* If a variable exists for some contacts but is missing for others, the assistant will insert an **empty string** for those missing values and ignore it during the call.
  {% endhint %}

🎉Congratulations! you now have a basic idea of dynamic variables.

<https://app.voicegenie.ai/>
