To convert a Lead in Salesforce, you take it from the unqualified-prospect pool and transform it into the working sales schema: Account, Contact, and (optionally) Opportunity. The conversion happens through the Convert button on the Lead record and is, by design, a deliberate one-way action — once converted, the Lead is locked.
Step-by-step (Lightning UI)
- Open the Lead record.
- Click the Convert button (top right, in the action ribbon).
- The Convert Lead dialog opens with three sections:
- Account — Create a new Account or attach to an existing one
- Contact — Create a new Contact or attach to an existing one
- Opportunity — Create a new Opportunity, attach to an existing one, or skip (check “Don’t create an Opportunity”)
- Choose the Converted Status from the picklist (e.g., “Closed - Converted”).
- Optionally set the Record Owner for the new Account/Contact/Opportunity.
- Optionally check “Send Email to the Owner.”
- Click Convert.
What Salesforce does behind the scenes
When you click Convert:
- A new Account is created (or you’ve attached to an existing one). Lead fields map to Account fields: Company → Account.Name, Industry → Account.Industry, NumberOfEmployees → Account.NumberOfEmployees, address fields → Account address.
- A new Contact is created (or you’ve attached to an existing one). FirstName, LastName, Title, Email, Phone, Mobile, address → Contact fields. The Contact is linked to the Account.
- An Opportunity is created (unless you skipped it). The Opportunity Name defaults to “[Company] - ” plus what you type. CloseDate, Amount, Stage are set during conversion.
- The Lead is marked
IsConverted = true, withConvertedAccountId,ConvertedContactId,ConvertedOpportunityId,ConvertedDatepopulated. - Activities (Tasks, Events, Notes) on the Lead are reassigned to the new Contact/Account/Opportunity per your org’s conversion settings.
- Campaign Members are migrated from Lead → Contact.
- Custom Lead fields are not mapped automatically — you must configure Lead Field Mapping in Setup.
Custom field mapping
This is the part admins most often miss. To map a custom Lead field to a custom Account/Contact/Opportunity field:
Setup → Object Manager → Lead → Fields & Relationships → Map Lead Fields
You see the Lead’s custom fields. For each, pick the corresponding field on Account, Contact, and/or Opportunity. The data types must match. Without this mapping, custom Lead field values are lost at conversion.
Duplicate detection during conversion
Salesforce shows matching Accounts and Contacts during conversion if Duplicate Rules are active. You can choose to attach to an existing record rather than create new — preventing dupes. This is critical for orgs with high inbound lead volume.
What if you don’t want an Opportunity?
Check “Don’t create an Opportunity on conversion” in the dialog. Useful when:
- The Lead represents an info request, not a deal
- You need to qualify further before creating the Opp
- Your sales process creates Opportunities later via a separate workflow
Permissions to convert
A user needs:
- Convert Leads permission (on profile or permission set)
- Create access on Account, Contact, and (if applicable) Opportunity
- Edit access on the Lead
- Field-level access to all fields involved in mapping
Without these, the Convert button is hidden or the conversion fails.
Via Apex (programmatic conversion)
You can convert leads in code:
Database.LeadConvert lc = new Database.LeadConvert();
lc.setLeadId(myLeadId);
lc.setConvertedStatus('Closed - Converted');
lc.setDoNotCreateOpportunity(false);
lc.setOpportunityName('Acme - 50 Widgets');
Database.LeadConvertResult result = Database.convertLead(lc);
System.assert(result.isSuccess());
You can pass an existing AccountId / ContactId to attach instead of create. Useful for batch conversion or custom UIs.
Via Flow
In Flow, use the Convert Lead Core Action (introduced in Spring ‘21 or so). Same parameters as Apex.
After conversion
- Lead is locked (read-only except for a handful of system fields).
- Tasks, events, attachments, notes appear under the new Contact/Opportunity per org settings.
- Activity History shows on the Account.
- The Lead URL still works — users can navigate to it via reports or list views, but cannot reopen the qualification.
You generally can’t undo a conversion
Salesforce does not provide an “unconvert” button. If you converted in error:
- Delete the new Opportunity/Contact/Account (if appropriate)
- Manually flip
IsConvertedto false via the API or Data Loader (this is unsupported and can leave the record in a weird state) - Or — the cleanest — leave the converted records and create a new Lead if you really need to re-qualify
Bottom line — the simple flow
Open Lead → Convert → choose/create Account → choose/create Contact → choose/create Opportunity (or skip) → set Converted Status → click Convert. Custom field mapping must be set up in advance.
Verified against: Salesforce Help — Convert Qualified Leads. Last reviewed 2026-05-17.