We had a client recently who really wanted to switch to ConvertKit from Infusionsoft. Once the client realized that ConvertKit’s feature set doesn’t match Infusionsoft’s (at all) they still wanted to use ConvertKit for the ease of sending email and keep using Infusionsoft for the CRM, billing, reporting, etc.
So, we set out to build a one-way integration. The plan was that any time an email needed to be sent, or a sequence needed to be started or stopped, Infusionsoft would notify ConvertKit and then ConvertKit would send the email or start/stop the sequence. No information would flow back to Infusionsoft.
We contemplated the type of code that would be required to make this happen. But when we looked at the ConvertKit API, we realized that all of this could be handled without any code being written at all. Everything we needed to do could be achieved by sending HTTP posts from Infusionsoft’s Campaign Builder directly to ConvertKit’s API.
Here’s how it works and how you can do this too:
ConvertKit Primer
In ConvertKit you have 4 things: Tags, Forms, Broadcasts, and Sequences.
Broadcasts: This is self explanatory. When you want to send a broadcast email, you can select who you want to send it to, people who have certain tags, people who are subscribed to certain forms, or people who are in certain sequences.
Tags: In ConvertKit, tags are similar to tags in Infusionsoft. Essentially they’re labels. You can give people tags for whatever you’d like. Tags can also act as triggers to make automation happen. You can set it up so that when a contact gets a particular tag, that person is automatically subscribed to a form, or a sequence, or another tag can be added or removed.
Forms: Forms are set up to capture leads from your website. In ConvertKit they talk about Forms the same way most email service providers talk about lists. When you “subscribe someone to a form”, you’re essentially adding them to a specific list. Contacts can be added to forms by filling out the form or through automation in ConvertKit.
Sequences: Sequences are series of emails scheduled over time. Contacts can be subscribed to, or unsubscribed from, sequences through the automation in ConvertKit.
Setting Up The ConvertKit Automation
Now that we understand the basics of ConvertKit, we need to go in and set up the Automation. The integration with Infusionsoft is easiest if all of the commands from Infusionsoft “add a tag” in ConvertKit. Then the automation in ConvertKit can handle the rest (subscribing to forms, unsubscribing from forms, subscribing to sequences, unsubscribing from sequences, etc.).
So, here are the steps:
- Go to “Automations” from the menu
- Click the “Add Rule” button
- Click the “Tag Added” trigger
- Create a new tag to trigger the automation you want
- Then, under actions, select the automatic things you want to happen
- Lastly, Save the Rule
That’s it.
Get Infusionsoft Talking To ConvertKit
Once your Automations in ConvertKit are set up, you’re ready to get Infusionsoft to start talking to ConvertKit to trigger those automations. Here’s what you need to do:
- Go to the Automations section in ConvertKit
- Click on Integrations in the submenu
- Copy your API key
Save your API key. We’ll need it in a few minutes.
- Next, click on Subscribers in ConvertKit
- You’ll see a list of tags on the right. Click on the one you want to trigger from Infusionsoft.
- When that page loads, look at the URL in your browser. It’ll look something like this: https://app.convertkit.com/subscribers?tag=92566 Get the tag ID from the end of the URL. In this case: 92566. Save the ID.
Now you have the information you need to go set up your HTTP post in Infusionsoft. Just follow these steps:
- Go into the Campaign in Infusionsoft where you want to trigger ConvertKit
- Put an HTTP post snippet into your sequence.
- Enter a URL like this for the Post URL: https://api.convertkit.com/v3/tags/92566/subscribe (replace 92566 with your tag ID
- Then, in the fields being posted, enter api_key for the name and your API key from ConvertKit as the value
- And put email and first_name as names and merge in the values from Infusionsoft, like this:
That’s it!
Pretty easy, right?