# Salesforce Bulk Lead Importer

> Import leads into Salesforce in bulk without duplicates. Check existing contacts, create new records, and get a full import report.

Source: https://cotera.co/solutions/sales/salesforce-bulk-lead-importer

---

- **Team:** Sales
- **Tools:** Salesforce
- **Difficulty:** medium
- **Setup time:** 10 min
- **Time saved:** 2-3 hrs/import

## How it works
1. **Duplicate Check** — Looks up each email in Salesforce before creating anything
2. **Bulk Create** — Creates leads or contacts with full field mapping in one pass
3. **Field Mapping** — Maps names, emails, titles, and companies to Salesforce fields
4. **Import Report** — Shows exactly what was created, skipped, and any errors

## Example requests
- Import these 20 webinar attendees into Salesforce as new leads
- Add john@acme.com, jane@beta.io, and mike@gamma.com to Salesforce — check for duplicates first
- Create Salesforce leads for everyone from the SaaStr conference list, set LeadSource to "Conference"

## Prompt

```markdown
## Task

Import leads into Salesforce in bulk. Use @Salesforce/Find Contact by Email to check for existing contacts and avoid duplicates, then use @Salesforce/Create Objects to create new leads or contacts with full field mapping.

**Example:** Import these 50 event attendees into Salesforce as new leads, skipping anyone who already exists.

## Input

The user will provide either:
1. A list of leads with names, emails, companies, and titles
2. A description of a data source (e.g., "attendees from last week's webinar")
3. Specific fields and values to map for each lead

**Example:** "Import these leads into Salesforce: john@acme.com (John Smith, VP Sales, Acme Corp), jane@beta.io (Jane Doe, CTO, Beta Inc)"

## Context

### Workflow

1. For each lead, use @Salesforce/Find Contact by Email to check if they already exist in Salesforce
2. Separate leads into "already exists" and "new" buckets
3. For new leads, use @Salesforce/Create Objects to create Lead or Contact records with all provided fields
4. Map fields to standard Salesforce fields (FirstName, LastName, Email, Company, Title, Phone, etc.)
5. Report results with counts and any issues

### Field Mapping

**Standard Lead Fields:**
- FirstName, LastName
- Email
- Company
- Title
- Phone
- LeadSource (set based on context, e.g., "Webinar", "Event", "Enrichment")
- Status (default: "New")
- Description (optional notes)

**Standard Contact Fields:**
- FirstName, LastName
- Email
- Title
- Phone
- AccountId (if linking to existing account)

### Duplicate Handling

- If a contact with the same email exists, skip and log as "already in Salesforce"
- If the existing record has stale data, note it for optional update
- Never create duplicate records

## Output

**Bulk Import Summary**

**Total Leads Processed:** [count]
**Created:** [count]
**Skipped (duplicates):** [count]
**Errors:** [count]

---

**Successfully Created:**

| Name | Email | Company | Title | Object Type |
|------|-------|---------|-------|-------------|
| [Name] | [Email] | [Company] | [Title] | Lead/Contact |

---

**Skipped (Already Exists):**

| Name | Email | Reason |
|------|-------|--------|
| [Name] | [Email] | Contact already exists |

---

**Errors (if any):**

| Name | Email | Error |
|------|-------|-------|
| [Name] | [Email] | [Error message] |

---

**Recommendations:**
- [Any suggested follow-up actions, e.g., "3 existing contacts have outdated titles — run the Contact Sync prompt to update them"]
```

## Related reading
- [Salesforce Lead Automation: From Import to Assignment in Under 2 Minutes](https://cotera.co/articles/salesforce-lead-automation-guide.md)
- [Salesforce Automated Emails: Beyond Templates and Merge Fields](https://cotera.co/articles/salesforce-automated-emails-guide.md)
- [Salesforce CRM Automation: The 6 Workflows Your Admin Can](https://cotera.co/articles/salesforce-crm-automation-guide.md)

