---
title: Import messages from a spreadsheet
sidebarTitle: Import from CSV
description: >-
  Write your whole path in a spreadsheet and upload every message at once with a
  CSV file.
audience: luminary
feature: paths
type: guide
availability: live
last_verified: '2026-10-13'
keywords:
  - csv import
  - spreadsheet
  - bulk upload messages
  - import path
  - upload prompts
url: >-
  https://help.bringsoul.life/luminaries/offerings/paths/import-messages-from-a-spreadsheet
---

# Import messages from a spreadsheet

> Write your whole path in a spreadsheet and upload every message at once with a CSV file.

## When to use this

- You've written your 21, 30 or 90 messages in a spreadsheet already.
- You'd rather edit in bulk than add messages one at a time.
- You're moving a sequence over from another tool.

## Import a schedule

**Step 1: Open the import dialog**

Open the path from [Offerings → Paths](https://portal.bringsoul.life/paths). On the Schedule
tab, click Import CSV.

**Step 2: Download the template**

Click Download Self-Paced template or Download Scheduled template. The dialog offers the one
that matches your path's type.

**Step 3: Fill it in**

Add one row per message, using the columns below. Save the file as CSV.

**Step 4: Upload and review**

Click Click to upload CSV file and choose your file. Soul shows a preview of every row it read.
Rows with a problem are skipped and listed (for example *Row 4, column "delivery_time": required
(HH:mm)*).

**Step 5: Create the messages**

Click Create Schedules. The messages are added to the path's existing schedule.

## Columns

**Self-Paced**

| Column | What to put in it |
| --- | --- |
| `type` | `prompt`, `pro-tip` or `task` |
| `delivery_day` | Day number: 1, 2, 3… (1 is the first day) |
| `delivery_time` | 24-hour time, such as 07:00 or 14:30 |
| `english` | The message in English |
| `spanish` | The message in Spanish (optional) |

**Scheduled**

| Column | What to put in it |
| --- | --- |
| `type` | `prompt`, `pro-tip` or `task` |
| `delivery_date` | YYYY-MM-DD or MM/DD/YYYY |
| `delivery_time` | 24-hour time, such as 07:00 or 14:30 |
| `channel` | `sms` (Text), `email` (Email) or `both` (Text + Email) |
| `english` | The text message in English |
| `spanish` | The text message in Spanish (optional) |
| `email_english` | Email body in English (optional; falls back to `english`). Plain text, or HTML if it starts with `<` |
| `email_spanish` | Email body in Spanish (optional) |

## Good to know

- Use the right template. A file with `delivery_day` is read as Self-Paced and one with `delivery_date` as Scheduled. Importing the wrong kind shows an error asking you to download the matching template.
- Scheduled dates must be on or after the path's start date (the day you created the path).
- Importing adds, it doesn't replace. Importing the same file twice creates duplicates. Delete any extras from the schedule list.
- Attachments can't be imported. Add images, video or audio afterwards by editing the message.
- Email-only rows need either `english` or `email_english`.

## What your members see

Exactly the same as messages added by hand. Each one arrives on its day or date.

## Related

- [Run a 21-day self-paced challenge](https://help.bringsoul.life/luminaries/offerings/paths/run-a-self-paced-challenge)
- [Add or edit messages on a live path](https://help.bringsoul.life/luminaries/offerings/paths/add-or-edit-messages-on-a-live-path)
