This introduces a second problem for us to solve. ThriveCart sends data in an array, which FluentCRM can't unpack. In order for the specific data inside of an array to be dismantled and passed over to FluentCRM in a way it can understand, we need to use a middle-man tool like Zapier, Pabbly Connect, Integrately, or Integromat. Each of these will work, but I find Zapier and Pabbly have the best interface, with Zapier coming out on top for ease-of-use.
I'm going to use Zapier for this tutorial, but the mechanics are the same regardless of which tool you choose.
Understanding webhooks and which settings to use can be confusing if you haven't used them before. Do you post, put, or get? Do you send it as a form, json, or xml? In this tutorial we'll simplify the entire process.
Preparation on the ThriveCart Side
If you're using Zapier, you won't have to do anything on the ThriveCart side. If you're using another service like Pabbly, you'll need to generate an API key under TC's settings.
Later on in the process you'll need to submit a test transaction (in test or live mode) so that Zapier/Pabbly/etc can reference that data.
Preparation on the FluentCRM Side
You'll need to create a webhook under Settings > Incoming Webhooks. You can name this webhook whatever you like (it's for internal purposes only), then decide which list and tags the user is added to when that data comes in.
Once you create your webhook and publish it, you'll be able to copy the webhook address that Zapier will need in order to send the data from ThriveCart.
While you're in FluentCRM, note the keys associated with user data. The user's first name is most likely keyed in the system as "first_name" and the email address is keyed to "email". You will need these keys for each of the fields you want to populate with data from ThriveCart.
Using Zapier to Make the Connection
Now we need to create a new Zap in Zapier and choose ThriveCart as our first app, and the trigger as "Product Purchase."
On the other end, we want to choose "Webhooks by Zapier". If you're not using Zapier, look for FluentCRM in Pabbly or Integrately. The FluentCRM option is simply a webhook just like Zapier uses. With the webhook we're going to choose "Post".
At this point, you'll need to connect your ThriveCart account, either via ThriveCart's direct integration with Zapier or an API connection for the other tools. Each tool walks you through this process and it's as simple as pressing a button on the Zapier side, or copying an API key and pasting it for the others.
Choose your product, pricing options, and other data you want to to use in the trigger. Now you need to submit a test transaction through ThriveCart for us to get some test data to work with.
Lastly, we need to configure the data sent over to the webhook address. On each of these tools, after you've received test data you'll be able to click into a field and have it populate with that test data you just submitted. Here's where those key values come in from our FluentCRM setup phase. Those are your keys, and the value is slotted by using the test data from ThriveCart. The data brought over for the customer's first name is matched with "first_name", and so on.
The last few technical bits you'll need are the Payload Type, and for that you choose Form. If you see info about wrapping data in an array choose not to, and if you have an option to Unflatted choose yes. You won't need headers or basic auth. In Zapier, this means leaving everything default.
Removing People from FluentCRM if they Refund or Cancel
Here's where things are a bit trickier. If you're connecting to something like WishList Member, there are direct integrations in Zapier to do this. If you're just connecting via webhook to FluentCRM, the data is one way from ThriveCart to the middle-man then to FluentCRM.
If someone cancels or refunds, you'll want to have a webhook that tags them as "canceled x product" or "refunds x product". Then create an automation in FluentCRM that removes them from the list and tag of the course they were added to. Then you trigger this tag by basically doing what we just did with Zapier and the webhook, but for this new webhook and the trigger will be "refund" or "cancel subscription."
Direct Integration Between FluentCRM and ThriveCart
I hope that FluentCRM will, one day, give us a direct integration with ThriveCart via ThriveCart's API. ThriveCart has a fantastic API setup that would be very easy for the FluentCRM team to configure and work with on their end. I highly recommend you post on their Facebook Group for FluentCRM if you're interested in such a connection between these two tools.