-1

We use a lead generation service that periodically emails us leads. The email we receive has a consistent format with the visitor's name, phone number, email address, and contact form text. They also have an API feed containing all of this information as well.

Right now we are manually entering each contact in, which is fairly inefficient.

The only real implementation I can think of based on InfusionSoft's documentation is to create a cron job that pulls the data from the lead generation service API feed, and then pushes it through to our Infusionsoft account via their API. But this seems incredibly circuitous. Am I missing some obvious means of import?

user2161457
  • 61
  • 1
  • 1
  • 7

3 Answers3

0

What you described is a fairly typical process for getting data from one computer into another. It isn't circuitous at all. Once implemented, it is fast and efficient.

The tricky part is activating the new contacts without going through a double-optin process. I use the following to get contacts in with single-optin.

  1. Add a contact using ContactService.add
  2. Tag new contact using ContactService.addToGroup
  3. Opt-in the new email address using APIEmailService.optIn
Jens Erat
  • 37,523
  • 16
  • 80
  • 96
Helioza
  • 147
  • 1
  • 1
  • 8
0

You did not say which lead gen API you are using. Perhaps they provide a way to POST the information to the URL of your choice which would allow you to easily create a contact with the Infusionsoft API.

If they do not provide a way to POST this information then you can always treat the email as a listener instead of using a cron. When you get an email from the particular lead gen, go look up the contact information. However, this would not be very efficient if you were not able to grab the latest lead.

You can use this method to add the contact to Infusionsoft. If you are using the PHP SDK the contact will be set as opted-in because the SDK will call the APIEmailService.optIn method after the contact has been created.

joshmmo
  • 1,062
  • 2
  • 13
  • 28
0

Your solution is correct. You can easily do this with Infusionsoft SDK. Here's the code for C# SDK to create Contacts (leads).

        const string application = "ab123";
        const string apiKey = "<API Key>";

        var customer = new Customer(application, apiKey);
        var client = customer.Connect();

        client.MethodListener = new ConsoleMethodListener();

        client.ContactService.Add(setter =>
        {
            setter.Set(c => c.FirstName, "FirstName1");
            setter.Set(c => c.LastName, "LastName1");
            setter.Set(c => c.Company, "FirstCompany");
            setter.Set(c => c.Email, "firstlast1@xyz.com");
            setter.Set(c => c.Leadsource, "Website");
            setter.Set(c => c.Phone1, "0405879856");
        });
Dhanuka777
  • 8,331
  • 7
  • 70
  • 126