Working With The Infusionsoft API

In this article I am just going to cover the basic concepts for the Infusionsoft API, if you need to review the documentation, you can find it here:

Over the past 2 years my company project Take It National has been integrated tightly with Infusionsoft.  We are planning on adding more integrations to the new Take It National software, when it is ready for the Infusionsoft Market Place.  Basically as a software developer I had a few challenges integrating Infusionsoft with my product.  The docs have gotten better over the past 2 years, but originally it was a difficult road.   The big question is why all the integration.

Why Content?

What I have come to realize about any email or CRM company and any company that is Saas, is that there is often a missing component.  In the case of Take It National, the component that we take care of are events, content, geography and people management.  This means that we allow users to create events or content, mainly in the form of event data, but it could be other data, and that gets populated into the Infusionsoft outgoing emails.  What is so important about content?  Well, first off if you were going to send out an email about 10 different cities and you wanted specialized or personalized data for each person, you would have to create 10 separate templates for emails in Infusionsoft. There is a lot of copying and pasting.  Now try 75 separate cities you are trying to email each week from within Infusionsoft.  Stop Now!  It’s not that it can’t be done, the question is how to automate it all!

Geography and Segments

So, we started by integrating our emails from Take It National to Infusionsoft.  That task meant simply working with the provided Infusionsoft SDK or sample PHP code and making sure we ran the right API call for the right transactions.  Right now we send to over 70 cities with specialty emails through a two click process.  Our power users in Take It National look over the event content and make sure it’s right and then send.  So we are simply broadcasting and sending through the Infusionsoft Send API.

First Things First

So the first place we run an Infusionsoft API is when people fill out our forms on our websites.  We use a two step process where users typically will fill out a short form when runs a check to see if they are in Infusionsoft through their query API:

$contactinfo = $Infusion->dsQuery(“Contact”,10,0,$query,$returnFields);

Once we know they are not in the Infusionsoft contact list, we then run an addCon() function:


So this function puts them into the database.  The next thing is asking them questions.

Multiple Businesses And Custom Fields

So we have multiple businesses, lines or entities in our business.  One secret to using Infusionsoft for this purpose is using a Custom Field to manage something like this.  If  you had multiple divisions, this would make sense, or methods people come through your CRM.  So, we also check in our system to make sure that the person is in the right system by checking on the custom field.  All customer fields need to be prefaced for Infusionsoft with an underscore, so if you needed to create a custom field in Infusionsoft called Division, it would be called “_Division”.


The first time people get on the list for Take It National they are shipped an auto-responder.  We actually house the email that gets sent in Take It National not within Infusionsoft.  This could be done either way.  What we do use is this function:

$sent_status = $Infusion->sendEmail($clist,”$company_name <$events_email>”,”~Contact.FirstName~ <~Contact.Email~>”,””,””,”HTML”,”$fname: $company_name Notification Email Confirmation”,”$email_content”,”$email_content_text”);

If you are a programmer, notice that you can send both HTML and Text through this simple API command send out an email.  We send a copy of our HTML from Take It National’s content system with tagging.

Tag Em And Bag Em

Finally, once we have put the new contact record into the system we tag our records with nice segmented interests.  The call for this starts with checking to see if the record is in the system, through a query of Infusionsoft contact list:

$ContactID = $Infusion->GetContactID($fname,$lname,$email);

And we assign tags to each record using grpAssign:

$result = $app->grpAssign($contactId, $groupId);

There is a lot more to it than just this, but hopefully you get the point that we are tightly integrated with Infusionsoft and using the API and it works well.

Let me know if you have any questions.  They say that you can get all the answers through the Infusionsoft API Forum, but I have had to figure a lot of this out on my own over the past 2 years, so let me know if you have any questions.


Our Infusionsoft Journey

A few years ago, I had to be convinced to switch our email provider to Infusionsoft.  It was a pricey service compared with other services on the market.  Being a software guy, I always think about just doing it myself.  But we were having big issues with email at the time, and I was tired of being in the email business.  Our site was sending thousands of emails a day, much of it manually sent, and we were looking to automate those processes so that we could easily send out segmented or city based email to 50 to 100 different markets.  This was no easy task, and Infusionsoft was not exactly going to solve much for me other than the white listing issue.  The biggest issue was getting the right data with the right message to the right market.  While Infusionsoft does send well and now has Infusionsoft CRM and other great tools like Infusionsoft Ecommerce, it still would mean that we had to build 75 separate pieces of content and send it to 75 separate lists.

Why Such Personalized Email?

Well, our business is events.  We send event notification emails to many many markets and each market has different events.  This kind of information can only be generated through a content management system, and that’s why we created Take It National, a Localization Content Management System.  And then within some of those cities we needed to send to specific groups occasionally that were Catholic, Jewish, African American and other segments. The end result is we need to be very specialized in what we send.

How We Made Infusionsoft Work?

So, if you think about it, the email CRM providers only provide the sending mechanism.  Yes, there may be a place for content like contact information or product information within Infusionsoft, but most companies need to copy and paste their core business content into these Saas packages like Infusionsoft.  That means that there are a lot of copy and paste writers out there prepping data for Infusionsoft.  In the case of “one city” or “one time” events, which often use Constant Contact or Eventbrite this is a relatively easy thing to manage.  You throw many users into the mix and combine that with both multi-city, multi-segment information and you will need more than just Infusionsoft to get your emails out the door.  So, how did we make it work.  We used the Infusionsoft API and wrote a connector between Infusionsoft and Take It National.  Now the two systems talk the same language.  Our local coordinators in up to 100 cities log in to Take It National and create all the content, and the content gets sent out automatically through Infusionsoft.

So Why Is Infusionsoft Just Better

If you talk with Infusionsoft, they will give you all kinds of reasons why they are really better, like the way their Sequences work, Opportunities, and things that do what they are supposed to do, when people click.  Their sequences are killer.  The way the system works is really amazing.  Infusionsoft added Infusionsoft CRM and Infusionsoft Ecommerce, and all of that is terrific. The bottom line is our emails go through to our customers better than any provider we worked with on the market.  That is why we ended up using Infusionsoft and while it did cost more, in the end it cost us less as we grew and grew.  Our business now uses Infusionsoft and we are back as the top provider of Speed Dating in the US.

You will probably notice that this blog article is really pushing Infusionsoft, and that’s because I am not just a user of their service, I am a partner and affiliate and if you use one of the links in this blog to purchase an Infusionsoft license I will get credit.  If you are thinking about signing up and want to find a person who has been through all the things necessary to connect content to Infusionsoft, you should come and knock on my door and fill out the contact info form on this website.    To learn more about Infusionsoft, just follow any of the links on this page and let me know if works out for you.