CRM
Importing historical sales, leads and calls
Bring past sales, leads and bookings into Wexlyn from a CSV or a pasted list, so reports and journeys start with your history.
Wexlyn matches every imported row to a person the same way a live integration does, so historical sales land on the right lead, tags and stages apply, and reports include them from day one.
Open CRM → Sales, Leads or Calls and click Import in the toolbar. Only workspace owners and admins can import.

Two ways to import
The dialog has two tabs:
- Import CSV for exports from another tool (HYROS, Stripe, Shopify, PayPal, ClickFunnels, Calendly or any spreadsheet).
- Add manually for a short list you type or paste, one person per line.
Both tabs share the same options at the bottom: a default date for rows without one, tags added to every lead, and a stage to move every lead into.
Importing a CSV

- Pick what you are importing at the top right: Sales, Leads or Calls.
- Choose the CSV format on the left. Presets know the column names each tool uses. "Any CSV" matches columns by their header name (email, phone, name, amount, currency, date, product, tag, order id, status).
- Drag the file onto the drop zone or click Browse files. Files up to 20 MB and 25,000 rows.
- Check the Columns box. Every header is listed with the field Wexlyn mapped it to. Change any of them, or set a column to Ignore.
- Read the Preview. It shows the first rows exactly as they will be stored and tells you how many rows have no email or phone (those are skipped).
- Click Import. Large files are sent in batches with a progress bar; you can keep the tab open and it finishes on its own.
What each field does
| Field | Used for |
|---|---|
| Email, Phone | Matching the row to an existing lead, or creating one |
| First name, Last name | Filled in on the lead if it has no name yet. A single "Name" column is split |
| Amount, Currency, Refund | The sale (or call value). Converted into your account currency at the row's date |
| Date | When it happened. Rows without one use the default date you set |
| Product | Shown on the sale and matched to your Products list for hard costs |
| Tags | Added to the lead. Separate several with commas |
| External id | Keeps re-imports from duplicating. Without one, Wexlyn builds a fingerprint from email, amount, date and product |
| Status | paid, refunded, pending, failed for sales; booked, showed, no show, canceled for calls |
| Call type | The calendar or event name for calls |
| Stage | Moves the lead to that stage |
Dates in 2026-09-02 14:12, ISO, US and European formats and Unix timestamps are all understood. Amounts can include currency symbols and thousands separators.
Adding rows by hand

Type or paste one person per line in this order, separated by commas:
email, tag, price, date, currency, phone, product, external id
Only the first value (an email or a phone number) is required; leave the others empty to skip them. Examples:
jane@example.com
jane@example.com,$coaching,2000,2026-10-01,USD
+15551234567,!application
sam@example.com,,750,2026-09-30,USD,,Starter plan,inv_1001
- A line with a price becomes a sale (on the Sales tab) or a call with a value (on the Calls tab). Without a price it only creates or updates the lead.
- Tags can be any name; the prefixes mean the same as elsewhere in Wexlyn:
$revenue,!action,@source.
How rows are matched to people
Every row goes through the lead matching used by integrations: email first, then phone, then any other grouping option you switched on under Settings → Data (session id, IP address, full name, external integration id). A row that matches nothing creates a new lead. Imported sales carry the provider "Import" plus the preset name, so you can filter them in the CRM with the Via filter.
Re-importing the same file is safe: rows with the same external id (or the same email, amount, date and product) update the existing record instead of creating a second one.
Adding data to one person at a time
You do not need a file to adjust a single record.

- Every row in Sales, Subscriptions, Leads and Calls has a … menu to add a tag or move the lead to a stage.
- On a lead's page, the header is editable: click the pencil to change the name or country, add another email or phone number, and add or remove tags. A new email or phone added here is treated like one captured by the script, so later purchases under it land on the same person.

Assign a parent lead
When someone opted in with one email and bought with another, the script may not have connected the two. Open the duplicate record, click Assign parent, search for the real person and merge. Their emails, phones, sales, calls, subscriptions, stage history and journey move onto the parent, and reports count them as one.

Turn on more lead grouping options under Settings → Data to let Wexlyn connect such records automatically in future.
Filtering what you imported
Each CRM list has a date range, search, status and provider filters, and an Attributes panel with traffic source, product, tag, stage and type. Set Show to 100 to review large imports faster. Filters are in the URL, so a view can be bookmarked or shared with a teammate.