> For the complete documentation index, see [llms.txt](https://support.pipefile.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://support.pipefile.com/requests/bulk-send.md).

# Bulk send

Send a separate request to each row of a CSV contact list, all from one template.

{% hint style="info" %}
Available on the **Professional** and **Enterprise** plans.
{% endhint %}

Bulk send creates one request per row of a CSV file, using a template you choose. Use it to send the same checklist to many clients at once, such as every client at the start of tax season.

Each row becomes its own request with its own recipients, link, reminders and progress. Recipients in different rows never see each other.

## Before you start

* **Build a template.** Bulk send always sends from a template, and every request copies its checklist, subject, message, reminders, expiration, tags, language and notification sequence. See [Create and edit templates](/templates/create-and-edit-templates.md).
* **Prepare your CSV.** Download the sample file from the **Bulk Send** dialog, or set up your own with these column headers:

| Column                                                    | Required       | Notes                                                                                                      |
| --------------------------------------------------------- | -------------- | ---------------------------------------------------------------------------------------------------------- |
| `recipient1_name`                                         | Yes            | The recipient's full name.                                                                                 |
| `recipient1_email`                                        | Email or phone | A valid email address.                                                                                     |
| `recipient1_phone`                                        | Email or phone | A valid phone number. US numbers can omit the country code. Text messages need SMS reminders on your plan. |
| `recipient2_name`, `recipient2_email`, `recipient2_phone` | No             | A second recipient on the same request. Continue with `recipient3_…` and so on.                            |

Leave the extra recipient columns empty for rows with only one recipient. Every recipient needs a name and at least one of email or phone.

```csv
recipient1_name,recipient1_email,recipient1_phone,recipient2_name,recipient2_email,recipient2_phone
Maria Lopez,maria@example.com,,,,
Sam Chen,sam@example.com,,Alex Chen,alex@example.com,
```

{% hint style="warning" %}
A file can have up to 2,000 lines, including the header row. Split larger lists into several files.
{% endhint %}

## Send

{% stepper %}
{% step %}

### Open Bulk Send

On your dashboard, click **Bulk Send** in the left sidebar, below the request list links.
{% endstep %}

{% step %}

### Upload your CSV

Drop your `.csv` file into the upload area, or click to choose it.
{% endstep %}

{% step %}

### Choose a template

Pick the template from the **Template** menu.
{% endstep %}

{% step %}

### Send

Click **Bulk Send**. Pipefile shows a running count of requests sent. Keep the dialog open until you see **Success!**
{% endstep %}
{% endstepper %}

Requests are sent straight away, not saved as drafts. Each one appears in your **Inbox** like any other request.

## Rows that fail

A row is skipped if a recipient is missing a name, has neither an email nor a phone number, or has an email or phone number that isn't valid. When any rows are skipped, your browser downloads `bulk_send_failed_rows.csv` with just those rows. Fix them and upload that file to send the rest.

<details>

<summary>I don't see the Bulk Send button.</summary>

Bulk send isn't included on your plan, or your team has limited it to admins. Check your plan at [Billing → Current Plan](https://pipefile.com/dashboard/settings/billing#current-plan), or ask a team admin.

</details>

<details>

<summary>Can I personalize each request?</summary>

Not through the CSV. Every request uses the template's content as is. To change one afterward, open it and click the **Edit request** icon.

</details>

## Related

* [Send from a template](/templates/send-from-a-template.md)
* [Plans and features](/getting-started/plans-and-features.md)
* [Track and organize requests](/requests/track-and-organize-requests.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://support.pipefile.com/requests/bulk-send.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
