Overview
Import leads into your workspace using multiple methods: CSV upload, Google Sheets, HubSpot, or Salesforce integration.Quick Start
New to importing leads? Start with CSV Upload for the easiest experience.
CSV Upload
The recommended method for beginners. Upload a CSV file with your lead data.Step 1: Prepare Your CSV File
Your CSV must include these required fields:string
required
Lead’s first name
string
required
Lead’s last name
string
required
Primary email address
string
required
Primary phone number (include country code, e.g., +1234567890)
string
Alternate phone numbers
string
Alternate phone numbers
string
Alternate phone numbers
string
Alternate email addresses
string
Alternate email addresses
string
Alternate email addresses
string
Company or organization name
string
Position or role
string
LinkedIn profile URL
string
Free-text context about the lead. Your team can read and edit it later, and your AI
campaigns and goal bots use it when they write — see Lead notes.
string
Email of the workspace user to assign as owner. Must match a user in your workspace. Invalid or missing values default to the first workspace user.
Any additional columns will be stored as custom fields.
Step 2: Download Template (Optional)
Click the Download Template button to get a pre-formatted CSV with all fields.Step 3: Upload Your File
- Navigate to Leads → Import
- Select CSV File method
- Drag & drop your file or click Choose File
- File size limit: 10MB max
Step 4: Select or Create a List
Choose whether to:- Add to an existing list (select from dropdown)
- Create a new list (enter list name)
Step 5: Map Fields
The system will auto-map common field names. Review and adjust:- Each CSV column maps to one lead field
- Required fields must be mapped
- See live preview of sample data
Custom variables
Any column you do not map to a standard field is imported as a custom variable. The mapping step lists every one of them in a Custom variables section, showing:- a toggle to import it or ignore it (everything is ON by default)
- the variable name, which you can rename
- the exact token it will produce, e.g.
{cf:Industry} - a sample value from your first row
Step 6: Preview & Import
- Review first 10 records
- See validation summary (valid leads, invalid records)
- Custom variable columns appear in the preview table with their real values, so you can confirm the data landed on the right variable before importing
- Click Import to save
- ✅ Number of leads saved
- ⚠️ Invalid records skipped
- 📋 List assignment confirmation
- 🏷️ Custom variables imported, named, with the
{cf:...}syntax to use them
Duplicates
A lead already in your workspace is skipped, not re-imported — matched on any of its phone numbers or email addresses, not just the primary one.Google Sheets Integration
Import leads directly from Google Sheets.Prerequisites
1
Google API Access Token
Generate an access token from Google Cloud Console
2
Spreadsheet ID
Found in your Google Sheet URL
3
Sheet Name
Default: “Sheet1” (optional parameter)
Import Steps
- Navigate to Leads → Import
- Select Google Sheets
- Enter credentials:
- Access Token
- Spreadsheet ID
- Sheet Name (optional)
- Click Connect & Import
Your Google Sheet must follow the same field structure as CSV (see above).
HubSpot Integration
Premium Feature - Requires HubSpot account and premium plan
Features
- ✓ Bidirectional sync
- ✓ Contact properties
- ✓ Deal tracking
- ✓ Activity logs
Setup Steps
- Navigate to Leads → Import
- Select HubSpot
- Click Authorize & Import
- Log in to HubSpot and grant permissions
- System automatically imports contacts
Salesforce Integration
Premium Feature - Requires Salesforce account and premium plan
Features
- ✓ Lead & Contact sync
- ✓ Custom fields support
- ✓ Campaign tracking
- ✓ Opportunity data
Setup Steps
- Navigate to Leads → Import
- Select Salesforce
- Click Authorize & Import
- Log in to Salesforce and grant permissions
- System automatically imports leads
Lead notes
notes is one free-text field on the lead — a place for the context that does not fit a
column. “Quoted in March, went quiet.” “Only answers after 5pm.” “Property address: 8
Williams Wood Rd; lead score: high.”
Where to edit it
- Leads → open a lead → Edit — the Notes box at the bottom of the contact details. The saved note shows as its own Notes card on the lead page.
- Unibox → the contact button on a conversation — opens the same contact panel with the same Notes box, so you can write one down mid-conversation.
- CSV import — map a column to
notes, or sendnoteson the Leads API. This sets the note on new leads only: re-importing someone you already have is treated as a duplicate and leaves their existing note untouched, so notes cannot be bulk-rewritten by re-uploading a file.
- AI campaign steps — the note goes into the prompt, so generated copy can work from it.
- Goal bots and task agents — returned by their
get_lead_detailstool. {notes}in a message template — inserts the note verbatim, so use a fallback ({notes|}) if only some leads have one.
Managing leads in bulk
Everything below lives on the Leads page and respects whatever filter you currently have applied — list, search, or owner.Selecting more than one page
The Leads page shows 50 rows at a time, so the header checkbox selects those 50. When more leads match your filter than fit on the page, Tuco offers a wider scope:- All N matching — every lead in the current list or filter
- All N in HubSpot / LeadConnector — every lead carrying a record ID for your connected CRM (only shown when a CRM is actually connected)
Delete all matching leads
Delete all N removes every lead in the chosen scope, along with their activities, messages, conversation history and campaign stats. You must type the count to confirm. Delete all N keeps the list itself — it only removes the leads. Delete List is the separate action that removes the list as well.Add leads to a list
Add to list moves the selected scope into a list you pick. Because a lead belongs to exactly one list, any lead already in a different list is reported rather than silently moved. Tuco shows a duplicate report naming each one and the list it is currently in, and offers:- Download CSV — the conflicted leads with their current and target list, so you can decide outside the app
- Transfer to this list — moves them, which removes them from their old list
Bulk operations run in the background
A bulk delete or transfer across tens of thousands of leads does not run while you wait. Tuco confirms with a toast — “Deleting 60,000 leads from Q4 Push in the background. This can take a few minutes.” — and works through it. While an operation is in flight, that list is locked: further bulk actions on it are disabled and the list shows as deleting in background in the filter. Other lists stay fully usable.The lock is held on the server, not in your browser, so it survives a reload and is visible
from a second tab. Trying to start a conflicting operation returns a clear error rather than
running twice.
If something goes wrong
Bulk operations are not silent about failure. If one stops early — because it could not remove some leads, or because the server restarted mid-run — Tuco tells you what happened and how far it got:Bulk operation didn’t finish — Deleting 60,000 leads stopped unexpectedly. 12,000 of 60,000 were processed. The server restarted while this was running. Re-run to finish the rest.The operation is safe to re-run: it picks up whatever is still matching and leaves the rest alone. You will see this message once, the next time you open the Leads page.
Data Validation Rules
Phone Numbers
Phone numbers are automatically formatted according to these rules:Email Addresses
- Must contain
@and. - Automatically converted to lowercase
- Whitespace trimmed
Duplicate Detection
API Reference
Upload leads programmatically using our REST API.API Endpoint
View complete API documentation for lead uploads
Quick Example
Error Codes
Best Practices
✅ Use Templates
✅ Use Templates
Download and use our CSV template to ensure proper formatting
📋 Validate Before Upload
📋 Validate Before Upload
Review your data for completeness and accuracy before importing
🗂️ Organize with Lists
🗂️ Organize with Lists
Create specific lists for different campaigns or lead sources
🔄 Regular Syncs
🔄 Regular Syncs
Set up automated syncs with HubSpot/Salesforce for up-to-date data