I am looking for the easiest option to create a Lead using an email. Ideally I would send an email to a predefined email address, and it would automatically create a Lead in my Salesforce.com organisation.


There are some AppExchange apps that do this, or you can create an Email Service (under Develop, in Setup) to do the same.

There's VCS Smart Email, Email to Lead, and I think Marketo does it as well.

Honestly, though, if I were doing it, I would just create an Email Service.

  • Can you update your answer with the apps that you are referring to? – Anup Aug 1 '12 at 15:11
  • Anup -- added some links, but if it were me, I'd do an Email Service. – Tom Gersic Aug 1 '12 at 16:07
  • 3
    Agree with Tom - an Apex based Email Service is very easy to setup and develop, and can be customized to be exactly what you need. – joshbirk Aug 1 '12 at 19:18
  • 2
    I would also go with an email service. There was a recent contest on Cloudspokes to create an email to anything service(cloudspokes.com/challenges/1630). Sometimes the winners get open sourced. Kevin Swiggum had a neat video showing his solution: radialweb.com/2012/07/cloudspokes-entry-email-to-anything – Daniel Hoechst Aug 2 '12 at 22:03
  • Yes that Cloudspokes winner solution was very nice. I can see lots of interesting uses for that if it gets released as an app, or even the code. – JodieM Aug 4 '12 at 6:47

One of the packaged apps mentioned in other answers may well be the easiest option, but it's pretty straightforward to create an Email Service in Apex. The sample code in the docs creates a Contact and a Task; here is code to create a Lead instead:

global class CreateLeadExample implements Messaging.InboundEmailHandler {
  global Messaging.InboundEmailResult handleInboundEmail(Messaging.inboundEmail email, 
                                                       Messaging.InboundEnvelope env){
    // Create an InboundEmailResult object for returning the result of the  
    // Apex Email Service 
    Messaging.InboundEmailResult result = new Messaging.InboundEmailResult();
    String myPlainText= '';

    // Add the email plain text into the local variable  
    myPlainText = email.plainTextBody;

    // Check for existing leads with this email address   
    Lead[] leads = [SELECT Id, Name, Email
      FROM Lead
      WHERE Email = :email.fromAddress];

    if (leads.size() == 0) {
      // New Lead object to be created - set LastName and Company to
      // dummy values for simplicity
      Lead newLead = new Lead(Email = email.fromAddress, 
        LastName = 'From Email', 
        Company = 'From Email');

      // Insert a new lead
      insert newLead;    

      System.debug('New Lead record: ' + newLead );   
    } else {
      System.debug('Incoming email duplicates existing Lead record(s): ' + leads );    

    // Set the result to true. No need to send an email back to the user      
    // with an error message   
    result.success = true;

    // Return the result for the Apex Email Service 
    return result;

There's an app on the AppExchange: http://appexchange.salesforce.com/listingDetail?listingId=a0N30000003HuI9EAK Or were you looking for help coding this?

  • 1
    I've used Email-to-anything and it takes a bit of getting used to to set it up, but once you have it working it does work quite well. – JodieM Aug 4 '12 at 3:51

Complementing Tom Gersic's answer, there are two versions of VCS Smart Email in the Appexchange. One for Enterprise and above editions, that he mentionned.

One for Group and Professional editions here.

Both are private.

Thank you for the editor of VCS Smart Email.


The app Email To Lead might be able to help you in this instance. You might also want to checkout the walkthrough of the setup with screenshots.


If you use Gmail, then you wanna check out Ecquire - http://appexchange.salesforce.com/listingDetail?listingId=a0N30000005vHq6EAE

Disclaimer: I work there.

If you're using Outlook, LinkPoint360 has one of the most comprehensive integrations for Salesforce - http://appexchange.salesforce.com/listingDetail?listingId=a0N30000001qTIuEAM


enter image description here

If you are looking for appexchange app for advanced email to lead conversion which does following

  1. Configure data elements for parsing using simple configuration page (instead of coding)
  2. Support multiple email templates/formats
  3. Set default values to lead fields (e.g. for record type, Lead source, Campaign)
  4. Attach lead to a campaign
  5. Process attachments
  6. Simulate parsing of text to Lead (Built in simulator)
  7. Extensive Error/Warning reporting

Then try Email2LeadPro AppExchange package: https://appexchange.salesforce.com/listingDetail?listingId=a0N3A00000EFoGaUAL

More details at: http://www.cloudgofer.com/email2lead/

disclaimer: I work here.


I felt the need to answer this after reviewing the other email to lead salesforce solutions and the functionality they provide.

We've had a few clients use some of the solutions provided here. They weren't able to isolate the exact data required to actually feed into Salesforce. We're able to do that fairly easily from an incoming email and also incoming email attachments.

Fields like "first name" or "last name" can be filled from any text in the body of the email by adding rules to extract what you need. Like this really:

enter image description here

Disclaimer: I work for Parserr but do feel its a superior solution purely based on our clients reviews of the other solutions listed here.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.