> For the complete documentation index, see [llms.txt](https://distance.gitbook.io/distance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://distance.gitbook.io/distance/getting-started/campaigns/sending-an-sms-campaign.md).

# Sending an SMS campaign

### **Introduction**

**SMS campaigns** allow your team to proactively reach customers using SMS while keeping responses organized in Distance. You can upload recipient lists, customize messages using variables, schedule delivery, and decide how replies should be handled.

This makes it easy to follow up with leads, request feedback, collect payments, or ask for reviews while keeping conversations tracked in one place.

***

### **How to create an SMS campaign**

Navigate to the **Campaigns** section on the sidebar, then click **Create campaign** in the top-right corner to open the campaign builder page.

<div data-with-frame="true"><figure><img src="/files/V2y5IrHd90EzUf1YXfSM" alt=""><figcaption></figcaption></figure></div>

#### **Set up your campaign**

Enter a name for your campaign. This is used to identify and organize campaigns in Distance.

<div data-with-frame="true"><figure><img src="/files/JPwtbb49zl6d7afnEN7i" alt=""><figcaption></figcaption></figure></div>

#### **Choose your goal**

Select the campaign objective from the dropdown menu.

You may select one from the following options: **Sales**, **Payments**, **QA**, or **Review**. The selected goal determines the default message template.

<div data-with-frame="true"><figure><img src="/files/7vRi06VQbjObsJ1REMI3" alt=""><figcaption></figcaption></figure></div>

#### **Pick your audience**

Upload a CSV file containing recipients. The maximum file size is 10 MB.&#x20;

<div data-with-frame="true"><figure><img src="/files/rEYi2geBusAFn2sJUMuz" alt=""><figcaption></figcaption></figure></div>

Upon clicking **Upload new CSV** button, you will be routed to [**Import contacts**](/distance/getting-started/contacts/how-contacts-are-created.md#importing-contacts) page.

<div data-with-frame="true"><figure><img src="/files/0e4GsquNyla16EeeffYH" alt=""><figcaption></figcaption></figure></div>

Once uploaded, **click the drop-down menu again** to select the contact list.

<div data-with-frame="true"><figure><img src="/files/VEgwCXmPzmqHPGCS4fAX" alt=""><figcaption></figcaption></figure></div>

#### **Craft your message**

First, select a channel from the dropdown menu. Available options are SMS and Email. For this article, select SMS.

<div data-with-frame="true"><figure><img src="/files/4B5rTze2baHYBMY4LEsM" alt=""><figcaption></figcaption></figure></div>

Then customize the **Message template** using the text editor. A preconfigured message appears based on the selected goal, and available variables are displayed below the editor.

<div data-with-frame="true"><figure><img src="/files/FasghkXGTHyetqIpYJLF" alt=""><figcaption></figcaption></figure></div>

The available variables will depend on the field headers within your selected contact list.&#x20;

{% hint style="info" %}
Variables allow you to personalize your SMS messages using data from your contact list.

There are two types of variables:

* **Contact fields**. These are standard fields stored in each contact’s profile, such as name, phone number, email address, or address. These values are automatically available and commonly used for basic personalization.
* **Custom properties**. These are additional fields created from your imported CSV or contact data. For example, service type, appointment date, or account details. These allow you to tailor messages based on more specific information.

The variables available in the editor depend on the field headers included in your selected contact list. This helps ensure messages feel personalized and relevant to each recipient.
{% endhint %}

Enable **Include STOP opt-out** **message** to include an opt-out message in your SMS content. This is required for marketing messages and optional for transactional messages. You are responsible for ensuring your messages comply with applicable regulations.

<div data-with-frame="true"><figure><img src="/files/w0WJKhW1uhqupuWExJgU" alt=""><figcaption></figcaption></figure></div>

You can also use the [**Generate with AI**](#generate-with-ai-recommended) feature to quickly create a personalized message based on your goal and contact fields.

<div data-with-frame="true"><figure><img src="/files/pwuQIKnohBT8BI2oXBf1" alt=""><figcaption></figcaption></figure></div>

#### **Reply handling**

Choose how replies to this campaign should be handled.

<div data-with-frame="true"><figure><img src="/files/llIMvG689hoa7FfRwHUV" alt=""><figcaption></figcaption></figure></div>

#### **Schedule this campaign**

Choose whether to send the first message **Now** or **Schedule for later** by selecting a date and time.

<div data-with-frame="true"><figure><img src="/files/Qc8PzDeDqYLJ58zrPiP4" alt=""><figcaption></figcaption></figure></div>

#### **Send confirmation**

Review the campaign details. Check the confirmation box confirming permission to message the contacts, then click **Send to X recipients**.

<div data-with-frame="true"><figure><img src="/files/Ab6lIc3hqUdRtK8fVYP1" alt=""><figcaption></figcaption></figure></div>

***

### **Generate with AI (Recommended)**

We recommend using **Generate with AI** to quickly create and refine your SMS messages based on a short description.

<div data-with-frame="true"><figure><img src="/files/FKgsAlYkv811p7a2rOAG" alt=""><figcaption></figcaption></figure></div>

Click **Generate with AI**, then enter the message you want to create or describe your goal (for example, a follow-up, reminder, or review request). You can also specify which contact fields or custom properties to include, such as name, service type, or appointment date.

<div data-with-frame="true"><figure><img src="/files/m6RLfT2r2HU6QSWcjISn" alt=""><figcaption></figcaption></figure></div>

Click **Generate message** to proceed.

<div data-with-frame="true"><figure><img src="/files/LpGzDzYfaGkigv6xVeO0" alt=""><figcaption></figcaption></figure></div>

The AI will generate a message using your input and automatically insert relevant variables where appropriate. Clicking **Use this** will replace the text in the **Message Template** field (under **Craft your message** step).

<div data-with-frame="true"><figure><img src="/files/6NkXw5A5rVjG6bq40wFm" alt=""><figcaption></figcaption></figure></div>

Review and edit the generated message as needed to ensure it matches your tone and intent. Using this feature helps keep your messages clear, consistent, and personalized without writing them from scratch.

***

### **Preview panel**

On the upper-right side of the page, the **Preview** panel shows how the SMS message will appear to recipients.

If your message includes variables, the **Preview** panel will display sample values for those variables, such as a contact’s name or other available data like job creation date or custom properties. This helps you verify how the message will look when sent.

<div data-with-frame="true"><figure><img src="/files/HZbDgKQdV47CmoOhASqd" alt=""><figcaption></figcaption></figure></div>

If a variable appears as a variable label instead of a sample value, it means the variable is not being resolved correctly and may not be mapped to a valid field in the selected contact list.

<div data-with-frame="true"><figure><img src="/files/QFhDs42OFbeuxtbzlJzh" alt=""><figcaption></figcaption></figure></div>

Click **Cancel** on the upper-right corner to discard the campaign.

<div data-with-frame="true"><figure><img src="/files/ynwR4GQs6nmtgUWRTTVc" alt=""><figcaption></figcaption></figure></div>

***

### **Managing campaign replies**

When recipients reply to an SMS campaign, their responses appear in [**Inbox**](/distance/getting-started/inbox.md), where your team can review and manage follow-ups.&#x20;

You can also configure [**campaign/automation email notifications**](/distance/getting-started/notifications/campaign-and-automation-notifications.md) to alert selected team members whenever a recipient replies, helping your team follow up promptly without manually monitoring replies.

This workflow ensures your SMS campaigns are accurate, personalized, and tracked in Distance, keeping your team organized and customer communications consistent.
