> For the complete documentation index, see [llms.txt](https://help.getmobly.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.getmobly.com/help-center/the-hub/working-with-leads/how-to-upload-csv-for-enrichment.md).

# How to upload a CSV for enrichment

Upload a CSV of leads to a Mobly event or activation — for pre-event registration lists, marketing lists you want enriched and synced, or bulk-loading historical records into a specific event. Uploaded leads flow into your CRM the same way captured leads do.

*This flow is for Mobly Admins with Hub access.*

## When to use CSV upload vs. other options

* **CSV upload (this article)** — you have a list of leads and want them attached to a specific event or activation, running through Mobly's normal enrichment + CRM sync path.
* **Host registration form** — you want leads to flow in automatically as people register for the event. See [How registrants flow into Mobly](/help-center/host/how-registrants-flow-into-mobly.md).
* **Off-Hub enrichment** — if you don't want the leads in your CRM but do want them enriched, send the file to your CSM instead. They'll run it through Mobly's enrichment queue and send back an enriched CSV.

## Uploading

1. Open the event or activation you want the leads to land on, and switch to the **Leads** tab.
2. Click **Add Lead** (top-right of the Leads table), then **Import from CSV**. A three-step upload stepper opens.
3. **Step 1 — Choose the file.** Download the CSV template first (**Download template file**) — it has all the accepted column names. Paste your data into that template, keeping the column headers intact. Every row needs at minimum a first name, last name, and either a company name or an email address. Upload the filled-out template.
4. **Step 2 — Validate.** Mobly checks each row against the required-fields rules. You can fix missing values inline on this screen, or delete rows that can't be salvaged. Only rows that pass validation move to the next step.
5. **Step 3 — Confirm upload.** Pick your enrichment mode and any additional options, then confirm.

## How should we enrich these leads?

Step 3 asks how Mobly should treat the data you're uploading. Three choices, same as [Host's registrant enrichment mode](/help-center/host/how-registrants-flow-into-mobly.md#enrichment-mode-for-registrants):

| Mode                                                             | What it does                                                                                                                                       |
| ---------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Enrich, fill in missing fields only (keep my data)** (default) | Enrichment fills empty fields but never overwrites what you provided. Best when your data is authoritative but you want Mobly to fill in the gaps. |
| **Enrich, overwrite OK**                                         | Enrichment may replace values you provided. Best when your list is old or sparse and you want Mobly's data to take precedence.                     |
| **Skip enrichment**                                              | Import as-is. Mobly never runs enrichment on these leads. They still sync to your CRM.                                                             |

The button label at the bottom of the step reflects your choice — **Confirm and enrich N leads** for a Fill/Overwrite mode, or **Confirm upload of N leads** for Skip.

Leads uploaded under **Skip enrichment** are labeled **"Imported"** on the leads table and are excluded from every re-enrichment sweep. That state is durable until someone edits the lead's mode later.

## Additional options on the confirm step

Two more toggles sit alongside the enrichment mode on step 3:

* **Skip lead owner routing** — bypass any Pulse or org-level lead-routing rules that would normally assign these leads to a rep. Use when you already know who owns each lead and want to preserve that assignment (e.g., a marketing team pre-loading their own list).
* **Mark as registered** — if the event has Mobly Registration enabled, this marks each uploaded lead as **Registered** on arrival, so they're already accounted for in your Registration count and can move straight into check-in on the day.

## What happens next

Uploaded leads land in the event's Leads table right away. Enrichment (if you didn't Skip) runs in the background — most contacts finish within a few minutes; complex ones can take longer. Once enrichment settles, the leads sync to your CRM the same way any captured lead does.

## Troubleshooting

**Rows dropped during validation.** Step 2 requires at least a first name, last name, and either a company or an email per row. Fix or drop rows that don't have all three.

**Leads landed but no enrichment happened.** Check the enrichment mode you picked. If it was Skip, that's expected — the leads show as "Imported" and stay that way. Change the mode on the lead if you want enrichment to run.

**Leads not showing up in the CRM.** Check the [Reconciliation](/help-center/integrations/crm/reconciliation.md) tab on your CRM integration. Any sync error would surface there. See also [How data flows from Mobly to your CRM](/help-center/integrations/crm/how-data-flows.md).

## Related articles

* [How registrants flow into Mobly (Host)](/help-center/host/how-registrants-flow-into-mobly.md) — same enrichment mode choice, applied to Host registrants
* [Mobly fields reference](/help-center/integrations/mobly-fields-reference.md) — every column the CSV template accepts and what it maps to
* [How data flows from Mobly to your CRM](/help-center/integrations/crm/how-data-flows.md)
* [Reconciliation](/help-center/integrations/crm/reconciliation.md) — where CSV-upload sync errors surface
