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

# Variables in Bulk Messages

> Guide to personalise bulk messages with variables

## Adding Bulk Message Variables

Variables allow you to personalize a bulk message for each recipient — inserting values like a contact's name, company, or any custom field into the message text. You can see exactly what value each contact will receive, with a live preview before you send.

<Steps titleSize="p">
  <Step title="Navigate to the Draft Message screen">
    Go to `Bulk messages > New bulk message`, select your contacts, and proceed to the Draft Message step.
  </Step>

  <Step title="Add a variable">
    Click the `{}` button in the message toolbar, or type `{` directly in the message body. Enter a name for the variable and a fallback value. The fallback value is used for any contact where you leave the field empty.

    <Frame caption="Add a Variable">
      <img src="https://mintcdn.com/bharatkumarramesh/QcFc_mtwjVzqh4PR/features/images/add-variable.png?fit=max&auto=format&n=QcFc_mtwjVzqh4PR&q=85&s=d6136eab9fc882e6f3dbc33eaf92cbee" alt="add-variable" width="2272" height="1308" data-path="features/images/add-variable.png" />
    </Frame>

    <Frame caption="Variable Modal">
      <img src="https://mintcdn.com/bharatkumarramesh/nLZLyDfnObVs3JXO/features/images/add-variable-modal.png?fit=max&auto=format&n=nLZLyDfnObVs3JXO&q=85&s=2e8ba15594c7f213453544e7cdc2e33a" alt="add-variable-modal" width="832" height="688" data-path="features/images/add-variable-modal.png" />
    </Frame>
  </Step>

  <Step title="Insert the variable into your message">
    After creating a variable, insert it by selecting it from the pop-up menu that appears when you type `{`.

    <Frame caption="Insert Variable">
      <img src="https://mintcdn.com/bharatkumarramesh/eWtBV2eYIgtIYxbf/features/images/insert-variable.png?fit=max&auto=format&n=eWtBV2eYIgtIYxbf&q=85&s=ff52b1c13d518c8eb3fcdee2e3bff19b" alt="insert-variable" width="1102" height="1268" data-path="features/images/insert-variable.png" />
    </Frame>
  </Step>

  <Step title="Fill in variable values for each contact">
    Click `Next Step` to go to the Fill Variables screen. Each contact is shown as a row in the table. Fill in the variable values for each contact directly in the table.

    <Frame caption="Fill Variables">
      <img src="https://mintcdn.com/bharatkumarramesh/hz7lf2Fm42TCjPEk/features/images/fill-variables.png?fit=max&auto=format&n=hz7lf2Fm42TCjPEk&q=85&s=050b6775d13e348f7af0e33e3c3b3416" alt="fill-variables" width="2938" height="1664" data-path="features/images/fill-variables.png" />
    </Frame>

    You can also fill variable values using a CSV. Download the CSV file from the top right corner of the screen.

    Fill in the variable values for each chat using a CSV editor like Google Sheets or Excel.

    <Frame caption="Edit CSV File">
      <img src="https://mintcdn.com/bharatkumarramesh/IzTgyiP5udfKpAu_/features/images/edit-csv.png?fit=max&auto=format&n=IzTgyiP5udfKpAu_&q=85&s=3c1a9dcc381f5e5a1275f65227f98e62" alt="edit-csv" width="844" height="502" data-path="features/images/edit-csv.png" />
    </Frame>

    <Warning>
      Do not modify the columns or add/remove rows in the downloaded CSV. If you need to add variables or chats, make those changes in the table and then download a new CSV file.
    </Warning>

    Upload the modified CSV to Periskope by clicking the `Upload Variables` button. You will notice the table has been populated with the values that you provided. Once you have verified all the variable values, click on `Preview & Send`.

    <Frame caption="Upload CSV">
      <iframe width="560" height="315" controls loop src="/features/images/upload-variable.mp4" alt="upload-csv" />
    </Frame>
  </Step>

  <Step title="Preview the messages before sending">
    Click through each contact in the preview panel to see exactly how the final message will look for that recipient, with all variables replaced by their actual values.

    <Frame caption="Preview Variables">
      <img src="https://mintcdn.com/bharatkumarramesh/hz7lf2Fm42TCjPEk/features/images/preview-variables.png?fit=max&auto=format&n=hz7lf2Fm42TCjPEk&q=85&s=b73711c117d6c0277041bfd4d5bdcb2d" alt="preview-variables" width="2940" height="1666" data-path="features/images/preview-variables.png" />
    </Frame>
  </Step>

  <Step title="Choose a delivery mode and send">
    Once you are happy with the preview, choose a delivery mode:

    * **Send now** — sends immediately
    * **Schedule once** — sends at a specific date and time
    * **Schedule repeating broadcasts** — sends automatically on a recurring cadence
  </Step>
</Steps>
