Support Stack Solo Ep 05: Test Your Fin Procedures with Mock Data

If you’ve built a Fin Procedure, you’ve hit the testing problem: to check what happens in a specific scenario — a churned customer, someone on Enterprise, an annual plan — you need a real user whose live data matches. Finding one is fiddly, and forcing it by editing a real customer’s data is asking for trouble.

In this Solo episode, I show a much simpler way on screen: mocking a data connector’s response. You take the connector your Procedure calls, switch it from the live connection to a mock response, and edit the values to whatever scenario you want to test. Fin then uses your mock instead of live data, so you can run the Procedure in preview against churned, active, Enterprise — anything — in a couple of minutes. I also show a handy Operator shortcut that turns a preview conversation straight into a saved simulation.

It’s a quick, responsible way to test the full range of what can go right and wrong with a Procedure, without ever touching real customer data. If you own Fin content, run a help centre, or you’re an Intercom admin trying to lift answer quality, this is a practical look at testing Procedures properly.

🔗 Resources mentioned:

Want daily, practical tips on getting the most out of Fin and Intercom? Subscribe to my daily email list.

Episode transcript

Conor Pendergrast (00:00)

Hello and welcome to Support Stack Solo episode 5. So if you’ve been using Procedures for a while, one thing that I reckon you’ve come up against is you’ve got to test them. And if you’re not testing them, you’re not testing out the whole range of possibilities for what can go right and what can go wrong with a Procedure.

Conor Pendergrast (00:17)

Now there’s a bunch of different ways to do this. My general pattern is: use preview while you’re making big changes, to test the main flows. And then also use simulations. So let’s say you’ve got this — this is one of my Procedures in a demo workspace — and this calls a couple of data connectors. It calls “get company subscription info”, and also it calls “update company subscription plan” down below.

Conor Pendergrast (00:45)

So if I wanted to test this properly and fully, and maybe I was adding in a new scenario that I wanted to encounter, I would have to go off and find a specific customer. So once I’d found that customer, I would click in here and I’d go user or lead, and then I’d find them in the list here.

Conor Pendergrast (01:02)

But there is another way, and one that doesn’t involve accidentally — or risking — changing actual customer information. And that is with mock data in a data connector.

Conor Pendergrast (01:09)

So I’m in the test thing, you can see this panel on the right-hand side. We’ve got preview user here. When you select preview user, what this does is it actually uses the defaults for your data connectors. So when I call “get company subscription information”, it’s just using the default response. So if I click on JSON, you can see what the default response would be.

Conor Pendergrast (01:29)

If I switch over here, then you can edit this as well. So this is my actual data connector — or the data connector that the Procedure uses. And you can see in here, it’s got the test section. And I can test the live connection by putting in a company ID.

Conor Pendergrast (01:46)

The other thing you can do, though, is click on mock response. Now, instead of the live connection — this one — click mock response, and then you can edit whatever is in here. So you could change this plan to Enterprise, for example. You could change status to churned, for example, and you could change this to annually.

Conor Pendergrast (02:05)

So now that I’ve entered this data here, I’ve entered the values I want, I’m gonna do set changes live — set live anyway — and I’m gonna say “entered mock data for testing purposes”. Right, let’s set that live.

Conor Pendergrast (02:22)

Now I’m gonna switch back here and I’m gonna say, “Hey, please can you help me update my subscription?” Right. So Fin will now go off and it will use the data connector’s response, pull that in, and then interpret it that way instead of using the live data connector.

Conor Pendergrast (02:37)

So Fin’s saying — and it’s cool — “So I’ve checked your account and it appears that your subscription is already inactive. As it is currently churned, there’s nothing further to cancel.” So that’s because I’ve put in the return status of subscription status is churned.

Conor Pendergrast (02:49)

But if I go back here, let’s say instead of having to hunt around for another user, I can change that to active, set it live, and put in — cool, I’ll reset that — “Please can you help me cancel my subscription?”

Conor Pendergrast (03:02)

So now Fin will go and retrieve the data connector response again, and this time, because it’s not churned, it’ll interpret it differently. So there you go. Fin’s now using these different subscription details instead of the ones that are coming from the live data connector.

Conor Pendergrast (03:18)

So this is a really quick and easy way to test all your various scenarios. You can do this in a couple of minutes, as you’ve seen, and it’s a really good way of being responsible and testing it all out.

Conor Pendergrast (03:31)

The other nifty thing — I’ve shown this before — but then what you can also do is open this conversation in an inbox and ask Operator about the conversation. In this case: create and run a simulation for the conversation’s Procedure with success criteria and using the exact data connector responses. Operator goes off, makes the changes, mocks up the simulation, proposes it to you, and then you can test it and make sure it’s working correctly.

Conor Pendergrast (03:56)

Easy peasy lemon squeezy. Don’t forget to go back to your data connector, switch it back to test live connection so you’re not confusing yourself, retest, and then you can set changes live again.

Conor Pendergrast (04:07)

Right, I really hope that helps. Thank you very much for watching. You can find future episodes of this at youtube.com/@support-stack. I’ve been Conor Pendergrast, and see ya. Bye.

Next
Next

Support Stack E19: The Masterclass in Fin Procedure QA with Brian Branca (Fin)