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

# Manually Uploading Events to Extole

> Upload events directly into Extole for testing or resending past events

# Overview

Manually uploading events allows you to trigger actions in Extole without relying on real-time integrations. This is useful for one-off or bulk actions where events were not automatically captured especially or during testing.

# Why Would You Manually Upload Events?

You may want to manually upload events if you need to:

* Send emails to a large group of participants at once
* QA the flow of your campaign
* Backfill events that were missed or failed to be sent to Extole automatically

# What You’ll Need

Before getting started, make sure you have the following:\
​

### **CSV File Requirements**

At a minimum, your CSV file must include the following headers:

* email
* event\_name

Each row should represent a single event tied to a participant’s email address.

>

> **Important:**

> Depending on the event or flow you are triggering, additional headers may be required (such as reward identifiers, timestamps, or custom properties). Be sure to confirm the required fields for your specific program or flow before uploading.

### Attributing the Event to a Program

An uploaded event that carries no program label is still processed, but it isn't attributed to a campaign. On the **User Support** page it appears with no program, no campaign, and no journey, at **Quality = NONE**, and no reward rule evaluates it.

To attribute the event, add a `required_labels` column and set it to your program label. Find the program label on the **Programs** page.

| Column | Example | Description |
| - | - | - |
| `event_name` | `outcome` | The event name your campaign listens for. |
| `email` | `jane@example.com` | The participant's email address. |
| `required_labels` | `offer` | The program label of the program the event belongs to. |

<Warning>
  `program_label` is not a column Extole reads. Attribution comes from `required_labels`, `labels`, or `campaign_id`. A header with any other name is treated as ordinary event data, so the upload succeeds, no error is reported, and the event arrives unattributed.
</Warning>

For a worked example, see [How to Set Up a Reward for Action Offer Program](/guides/programs-and-campaigns/how-to-set-up-a-reward-for-action-offer-program).

# How to Upload Events Manually

> Follow these steps to upload your CSV file into Extole:

1. Log in to your Extole program.

2. Navigate to **Tech Center -> Batch Jobs**.

3. Select + **New Batch Job**.

4. Upload your prepared CSV file.

5. Configure the batch job settings based on the event you are uploading.

6. For most event files, Source Type should be New File and the Batch Jobs Type should be Event.

7. Submit the batch job to begin processing.

# After Uploading

> Once submitted:

* The batch job will process each row in your CSV as an individual event.
* You can monitor the status of the upload from the **Batch Jobs** page.
* Once completed, you can search for that user or event on the **User Support** page to ensure it fired as expected.
* If errors occur, review the error logs to identify missing or incorrectly formatted fields.

# Best Practices

* Always test with a small CSV file before uploading a large batch.
* Double-check event names to ensure they exactly match the expected values in Extole.
* Confirm required headers for the specific flow to avoid processing errors.


## Related topics

- [File-based Events](/technical/platform-integrations/files/file-based-events.md)
- [Integrating with Extole](/technical/integration-overview/integrating-with-extole.md)
- [Sending Data to Extole](/product/product-overview/integration-and-launch/sending-data-to-extole.md)
- [How to Manually Create a Referral or other Event](/guides/rewards-management/reward-fulfillment/how-to-manually-create-a-referral-or-other-event.md)
- [Uploading an Eligibility Audience File via SFTP](/guides/platform-overview/uploading-an-eligibility-audience-file-via-sftp.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.