How to Handle Refunds Automatically In Your Subscription Business: Zapier Tutorial

Isaac from UpSell.co builds a Zapier workflow that automates refunds across ThriveCart, Kajabi, ActiveCampaign, and ClickUp. When a refund triggers, the Zap revokes course access, adds a refund tag, removes the member tag, and marks the task as refunded. He tests it with a real refund to verify everything syncs correctly.
Chapters
If you have a membership site, coaching program, or a recurring service and you get refund requests every now and then, you're going to want to watch this because most people I know are manually processing refunds every time one comes in. Whether that's removing access to the course or the membership, requesting feedback from the customers, updating their contact information on their marketing tools, and so on, there's a lot that you have to do after someone requests a refund. Good news is you don't have to. Software can do it for you, and I'll show you how in this video. Stay tuned. Hey guys, this is Isaac from UpSell.co where we've helped over 50 companies automate more than half a million tasks using low-code tools like Zapier. And in this video series, I'm breaking down the most common workflows I set up for clients that have some sort of subscription offer, whether that's a course, a membership, or a recurring service of some kind. So feel free to check out a playlist in the description to see those latest videos. And in today's video, we're gonna talk about the second workflow we discussed, which is how to handle refunds. As I discussed in one of our last videos, I'm illustrating this process using ThriveCart as the checkout system, Kajabi and Circle as the course and community platform, ClickUp as the project management, and ActiveCampaign as the marketing tool. However, the same concepts can be implemented on any platform that integrates with Zapier or that is capable of receiving or sending webhooks and has some sort of public API. That said, let's get into the screen and let's get started. All right, so we're here looking at, at a high level how this workflow is gonna work. Essentially, we have the refund as the trigger. Category in ThriveCart following the action of removing access to an offer on Kajabi, removing a member from a space group in Circle. We're going to create an updated contact on ActiveCampaign where we're going to add the refund tag and remove the member tag. That will trigger another automation within ActiveCampaign that's going to send them a particular email. You could choose to do something like a refund survey where you ask your customers that refund why they did so. And then we're going to go ahead and find the tasks that relate to customer, and we're gonna make sure to label it accordingly. So let's jump into Zapier and let's do that step by step. I'm going to go ahead and create a Zap. I'm here on my YouTube folder. I'm gonna click on create and new Zap, and we're gonna go step by step and do what I just described. For the sake of clarity, let's put here what this workflow is about, refund, and I'm going to search for the ThriveCart app in this search bar. When I click here, it's gonna come up event, and the event in this particular case is gonna be the refund. There's a refund event. I'm going to select that, click on continue. My account is already selected. I click on continue again. And here I have the option to select the specific product I want to trigger this workflow from. So I'm going to pick product and here I can specify which product. We're doing this with a testing product that I created. So I'll go ahead and select that testing product. I'm going to click on continue. It's going to prompt me to test the trigger. I'm going to do that so we can pull up example data, the last data that came in. And yeah. We're going to click on continue and let's go with number step number two. Let's add the Kajabi event. It's going to be remove access to an offer, revoke access to an offer in this case. Similar concept. We have the Kajabi account. We click on continue. There's the site ID. We go and select that. In this case, we'll also select the offer, whatever offer it is that you gave that person access to. And here in the external user ID, we're gonna select the customer email. If you remember from the first video we talked about, we added the user ID as the email. So that it's easy to reference back to it in scenarios like this. And I click on continue and I'm gonna skip this test because I want to test everything at the end. Let's keep going. And as I said in one of those, in, in my early videos, unfortunately Circle, the Circle free plan doesn't allow for API integration and I didn't wanna mess up with my client's accounts. But if you use the remove from space group event in Circle, very similarly to what I did with Kajabi, you were able to remove access to particular persons from, from a space group, maybe a space group where you have your paid community or, or an offer or a similar offer. Um, let's go ahead and move forward with ActiveCampaign now where we're going to be create— we're going to select the create or update contact. Let's click on continue. I'm going to select the particular account in question, and here I'm going to go ahead and pick, uh, clients as the list. This is the list that we used earlier in the first workflow. Here I have their email address. I'm gonna click email address, and I'm going to go ahead and add a particular tag that I have. I like this particular naming convention where I have the event refund and then I specify what particular product that refund relates to. Let's click on Continue. Again, I'm going to skip this test because I'm going to be testing this live in a second. And let's continue. Notice that I actually don't have the option to remove a tag. Actually, that's something you have to add as a different event. So let's go ActiveCampaign again. And in this case, we're going to look for Add or remove tag from a contact. Okay. Select the account, click on continue. In this case, it's going to ask me for the contact ID. Fortunately, I just used the create update contact. So in that event, it actually gives me the contact ID of a particular person. So I can use that from that last step. And in action, I'm just gonna do remove. And in the existing tags, I'm going to use the tag that we used earlier for the members with Simply Membership. It should show up here as one of the options. It's already available. And here it is. Let's click on continue. Let's hit on skip step because we're going to test it in a second and let's move forward. Now, lastly, imagine we want to find a task that relates to this person. If you remember, we had added the email address to one of the custom fields so we can easily find it and reference it later. So what we're going to do, we're going to go ahead and find ClickUp as the app. And in the event, we're gonna, we're gonna look for find task by custom. Select that. We don't continue here. I'm gonna select this particular account. I have to select the workspace, the space, in this case, this particular one, the folder, and lastly, the list. Once I pick the list, the custom fields that are within that list will come up like this, and I can choose to within the email field, put the customer's email. I'm going ahead and continue. And this particular step, I do want to test to see something comes in. I'm going to use data, data from it in the next one. As you can see, it found the task that relates to that specific customer. And what I'm going to do now is I'm going to make sure to label that task as refunded. This is an example of where you would I wanna make sure that if there's a service delivery team on the backend that needs to perform certain tasks for the, for that customer on a regular basis, they know that they will be found and make sure to act accordingly. So I'm gonna search now for the update task event, click on continue, click on continue again, and I'm gonna go ahead and fill out the exact, well, it looks like I only have to put the workspace and then select the task. And this is where it comes in handy. Because I can click on custom and make sure that I select the task ID from the step above, which is where I found the, uh, the task. Okay, after that you're going to be able to add a tag, and it doesn't show up because I first have to select the space as I did earlier. So let's go through that process real quick. Okay, so now that we've selected the specific list in question, we should be able to see the different tags that already exist on that particular, on that particular ClickUp list. And we're going to see the refunded option come here available. Now I'm going to click on continue. I'm going to skip the test. And technically our workflow is already done. I'm just going to publish this app, make sure that I turn it on and ta-da! Before this video, I actually went ahead and made a purchase. So there's already a Task exists here. It's March 27th, 10:48, and that person has access to Kajabi. That person's on ActiveCampaign. That person is here in ClickUp. So I should only need to go ahead and refund, process the refund on ThriveCart, and all the other tasks will happen as a result. So let's check that out. In order to refund, you simply have to go to your ThriveCart dashboard, find the particular transaction of the customer, and you'll see the refund button right next to it. When you click on it, you're going to see you can do a full refund or partial refund. You can also So optionally leave a note about the refund in case you want to reference back to it later, why that refund was granted to the customer. In this case, I'm just going to click on full refund. It asks me to confirm it and I'm going to go ahead and confirm. As it processes, I'm going to open up Zapier and I'm going to click on history. So now we're going to sit here and wait for a few minutes to see if that trigger comes in and if everything goes through successfully. Let's wait. All right, so I'm back and as you can see, the Zap went through successfully. And if we clicked on it, we're going to see that the access access was revoked successfully from Kajabi. The tag was successfully put on from this particular person, and the tag— the other tag was removed. You can see how the task was found and updated accordingly. We can check that out if we open up ActiveCampaign real quick. And as you can see, this person made it to ActiveCampaign and they have the event— sorry, the refund tag— and they don't have the membership tag anymore. And you can see some of the events that happened here. For example, he was originally in the retention automation, which is the one we in workflow number 1, but then when this trigger went through, he made it to the second workflow, which is the refund automation, and they automatically exited the first one, which is what should happen at this point. If they refunded, they're no longer a member, and that's something that you want to make sure to happen. If we look at the automation, it's quite simply when the tag is added, you send an email, and as I discussed, you can choose to have some sort of refund survey or any other communications that you want to send. To people that requested. So as you can see, it went successfully. Stay tuned for the 3rd video in this series when we're gonna talk about how to handle cancellations, which are a little different cuz you need to wait until a certain period before you remove access, and that becomes a little tricky. So I'll see you then. Have a nice one.
More from Isaac

This Boring AI Automation Could Save Your Accounting Firm 40 hours (But most ignore it)

How to Build AI Systems With Claude (So Your Accounting Firm Runs Without You)









