> For the complete documentation index, see [llms.txt](https://userguide.zappost.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://userguide.zappost.com/zap-post-web-app/zap-post-user-guide/zap-app/using-the-zapp/sending-zaps.md).

# Sending Zaps

At this point your campaign should be set up, the design created and published, and ready for data upload.

## Uploading Data

There are multiple ways to being the journey to send data in the ZAP APP. Users can:&#x20;

* Select Send Postcards on the Campaign Page<br>

  <figure><img src="/files/zeIFlAspNCkZQclj4zpc" alt=""><figcaption></figcaption></figure>
* Select Send Data on the Campaigns Page<br>

  <figure><img src="/files/glwoumDm4eVTXmjhYbsc" alt=""><figcaption></figcaption></figure>

Each of these options will take you to the Submission Wizard. This will guide you through the process of submitting your ZAPs.&#x20;

{% hint style="info" %}
You can also submit data directly from the integrations page this is covered in the [integrations documentation](/zap-integrations/zap-post-integrations.md)
{% endhint %}

## Submission Wizard

### Step 1 - Selecting your data source

The first step of sending mail is to tell us where the data for the campaign is going to come from.&#x20;

<figure><img src="/files/uUET7Z03oZWmivRumFbs" alt=""><figcaption></figcaption></figure>

If you wish to upload via csv select the option, click continue and follow the [csv steps](#step-2-csv-upload-a-csv-file)

If you wish to upload vis a connected integration select the integration you wish to use, click continue and follow the [integration steps](#uploading-data-using-an-integration)

If you need to connect a your first, or a new integration you can select the option to set up a new integration this is explained per integration in our [integration documentation](/zap-integrations/zap-post-integrations.md)

<figure><img src="/files/L88x7lXBT4WeObQz3Qhx" alt=""><figcaption></figcaption></figure>

### Step 2 (CSV) - Select your send Date

The next Step is to Select a Send Date. This will be the date your mail is posted.&#x20;

<figure><img src="/files/D04ONvDA9q3xW4NNNTW8" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/ddpBNdvF1NtA6VBD3ODQ" alt=""><figcaption></figcaption></figure>

### Step 3a (CSV) - File Upload

This is the part where your file is uploaded, this will then be used to confirm your mapping and complete the data validation.

{% hint style="info" %}
There are several validation steps your data will go through before it is posted, this is the first set of validation.&#x20;
{% endhint %}

<figure><img src="/files/zZo5cuOgv5H7P195qz7Z" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Any blank rows in your CSV will automatically be removed upon upload.

We only allow certain characters into the name and address fields. We will attempt to clean up data that does not meet the character expectations. Accented characters will be replaced by non-accented equivalents and certain UTF-8 representations of MS ANSI characters will be replaced by equivalents. All other characters will be stripped before ingestion into our system.
{% endhint %}

### Step 3b (CSV) Mapping -&#x20;

When a file is uploaded you will be taken to the mapping screen. When we validate the file we will attempt to match your column names to the field labels. If we find a match we will automatically select that option for you. If we cannot find a matching column, or if you want to change any of the values, each column is available to select in the dropdown.

<figure><img src="/files/UUtKvKcLuCrhAAwy0JQP" alt=""><figcaption></figcaption></figure>

You will not be able to confirm your changes until, as a minimum, all mandatory fields are mapped.

<figure><img src="/files/g43I3YriV8AL2DXvqF5D" alt=""><figcaption></figcaption></figure>

### Step 3c (CSV) - CSV Summary

Upon clicking confirm, the ZAP APP will continue validation, checking missing mandatory data and any validation requirements.&#x20;

<figure><img src="/files/JeGcDoLYKYPoW5YZWK03" alt=""><figcaption></figcaption></figure>

You will then be presented with a summary that will show:&#x20;

* How many records were found in the csv
* How many fields were mapped for the submission
* If a file with invalid records is uploaded the user will be shown how many records are invalid and will have an option to download a file explaining why each record failed validation.
* If the submission contains any records that pass validation, then the user will see the total there too

<figure><img src="/files/qmWKly66vSjjLmY7lxxm" alt=""><figcaption></figcaption></figure>

### Step 4 (CSV) - Review and Confirm

The final step of the submission process is to review the CSV data provided and confirm you're happy to send the mail to your intended recipients. \
Should you have a promotional code to use or a Purchase Order Number you wish to use you will be afforded the opportunity to provided them at this stage.&#x20;

<figure><img src="/files/KNiiwOT2cSHmKEvCCn8N" alt=""><figcaption></figcaption></figure>

The summary should contain the following information:&#x20;

* Number of ZAPs to send
* The Campaign that's being used
* The Date of the send and estimated arrival
* Credit allocation usage (If you're unsure about credits you can visit our [FAQ](https://zappost.com/faq/))

If you're happy with all of the information you can download your invoice and submit your data. \
From there it will go through our internal data processes. These are outlined on [our website academy](https://zappost.com/academy/lessons/recipient-data-cleansing/)

### Step 2 (Integration) - Selecting your customer segment

Various integrations are available to connect your data directly with ZAP-POST, these include:

* Klaviyo
* Hubspot
* DotDigital
* Braze
* Ometria

For detailed information on our integrations, see our [Integration Documentation](https://integrations.zappost.com/) for your specific integration steps.&#x20;

For this example we're using a Klaviyo connection. Once selected all of the Klaviyo customer segments are presented for selection. \ <br>

<figure><img src="/files/Xhatv2xPLM6FTSNxC20f" alt=""><figcaption></figcaption></figure>

### Step 2a (Integration) - Mapping

Once you've selected your segment(s) you'll be given the opportunity to map the necessary fields. We will populate any standard fields that we can for you however some manual mapping may be necessary.&#x20;

{% hint style="info" %}
For Static segments (sometimes called lists), your data connection will be a one off submission. Any time you wish to use this list again you can select the sync option in your integration and we'll create another submission. \
\
For Dynamic Segments we will create a data connection that polls every 12 hours for any new recipients that have been added and create daily submissions on your behalf. These can be paused or updated at any time. \
\
For more information view your [integration specific documentation ](/zap-integrations/zap-post-integrations.md)
{% endhint %}

<figure><img src="/files/P9ZTYr5r1BpLNybwllxu" alt=""><figcaption></figcaption></figure>

Once you're happy with your mapping you can confirm the mapping.&#x20;

Should you wish to add more than one data connection for the campaign you can do so now by selecting another segment to map, however if you're happy you can select continue<br>

<figure><img src="/files/9RGSmundQTfg4PxaCrVx" alt=""><figcaption></figcaption></figure>

### Step 3 (Integration) - Review and Confirm

The final step of the submission process is to review the configuration and confirm you're happy to send the mail to your intended recipients.&#x20;

<figure><img src="/files/6NtXplPHAdf60W145Eo2" alt=""><figcaption></figcaption></figure>

The summary should contain the following information:&#x20;

* The integration platform
* The Campaign that's being used
* How many data connections were configured
* Data Connection type - One off or Ongoing
* Credit allocation usage (If you're unsure about credits you can visit our [FAQ](https://zappost.com/faq/))

If you're happy with all of the information you can confirm your data connections and we'll poll them for your submission data. \
From there it will go through our internal data processes. These are outlined on [our website academy](https://zappost.com/academy/lessons/recipient-data-cleansing/)

### Dealing with Records that failed validation

If any of your records are rejected from the submission process you can download the invalid records file and understand what was wrong. <br>

<figure><img src="/files/Ygr42W4aBDiT3rcXChwU" alt=""><figcaption><p>Example of Failed Records</p></figcaption></figure>

After you have corrected or removed any failed records, you can upload the file again from the campaigns page.

## Submitting Data via the API&#x20;

Should you wish to use the ZAP POST API you can configure your API Consumers and submit data as you wish. \
To manage your API consumers visit the [API Consumers section](/zap-post-web-app/zap-post-user-guide/zap-app/using-the-zapp/settings/api-consumers.md)

To understand more about our API view the [API document on submissions](/zap-api/api-endpoints/submissions.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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://userguide.zappost.com/zap-post-web-app/zap-post-user-guide/zap-app/using-the-zapp/sending-zaps.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
