Support Stack Solo Ep 02: First Look at Fin Procedures in Intercom

Intercom’s introduction of Fin Procedures marks a meaningful shift in how structured automation works inside Fin.

In this solo episode of Support Stack, I walk through Fin Procedures and compare them directly to Fin Tasks. Not as a feature list, but as an operator who has built and maintained complex Tasks using branching logic, simulations and data connectors.

The key question behind this episode is simple: Are Fin Procedures just a cleaner interface, or do they change how we should design AI-driven support systems?

What this episode explores:

  • The move from multi-block workflows to a single linear flow

  • How sub-procedures replace duplicated logic

  • AI-assisted drafting and what it improves

  • New branching options using natural language or code

  • Audience targeting changes and channel controls

  • Procedure switching between live Procedures

  • Enhanced simulations and deeper visibility into Fin’s reasoning

One of the biggest shifts is in complexity management.

Fin Tasks gave teams a lot of flexibility, but that flexibility often created friction in setup, debugging and iteration. Procedures simplify the structure, making it easier to understand what is happening and why.

But simpler setup does not remove the need for careful design.

As Fin becomes more capable, the responsibility shifts from writing good answers to designing resilient systems. That includes thinking about triggers, edge cases, data connectors, handoffs and ongoing QA.

If you run support in Intercom and are working to increase Fin resolution without introducing fragility, this episode will help you think more clearly about how to approach structured automation going forward.

If you want regular, practical insights on CX, AI in support, and getting more from Intercom, subscribe to my daily email.

If you want to make the most out of Fin AI Agent, you should also check out 5 Mistakes You’re Making with Data Connectors.

Episode transcript

Conor Pendergrast (00:03) All right. Hello, and welcome to Support Stack solo. This is a live episode. So it is the first look. It's episode two of Support Stack. ⁓ And it's a first look at FIN procedures, and specifically through the lens of what's different since tasks. So for those who know, tasks were a structured way of giving FIN direct instructions, step-by-step instructions to follow a process. For example, it could be collecting information from a customer.

using that to look up information in another system through a data connector. That's how I've mostly used it. And going from there. I've got a chat. YouTube YouTubeing. ⁓ Yes. Thank you, John. Sorry. I think we can confirm that that's my mistake, not YouTube's. Cool. so what when Intercom launched, Fint asks,

they were, they're very powerful, but I think they were finding there was quite a, quite a bit of challenges with getting them set up, getting them tested and making sure that they were working. And then also with, with making sure that they're working on an ongoing basis. So thin procedures is an attempt to address a lot of that and make that whole thing better. And so I will just claim, I know this is a first look I actually did for a client, ⁓ because we have a procedure set up. I did go in and I did do some.

some looking of my own. But that hopefully helped me to prepare a little bit better and get my notes for today's session. So I will try and personify someone who's used to tasks and who has used the fin tasks quite a bit, but someone who also is relatively new to procedures and bring that as my lens. Ask any questions in the chat, either whether you're watching. ⁓

If you're watching a Riverside, I'm very impressed because I didn't post that link anywhere. If you're watching on LinkedIn or ⁓ on YouTube, then that's also great as well. ⁓ So what I'll start by doing is by sharing your ⁓ sharing your screen, sharing my screen. And I will press this button and share procedures. All right.

This is in my, so you're gonna see, it's pretty basic what you'll see, ⁓ because this is my test account and the test account doesn't have a huge amount in it, obviously enough. This is, guess it's my test account, it's my it's my actual customer success.cx intercom account. ⁓ obviously it's ⁓ a sales and marketing website, so it doesn't have ⁓ much on it, apart from my own stuff. ⁓

but it does give me the ability to test stuff out in an isolated way. So we've got get started with procedures. We've got any data connectors down here. And then from another client, I know that if you did have procedures or tasks, they would be listed here as well. And you've got the nice button in the top right, which is the new procedures button. So it gives you two choices. You can let AI draft your procedure, or you can create it from scratch. And I'm actually going to go through the

the AI draft your procedure process. ⁓ So this is quite handy. And I actually really like this idea of being able to drop in an existing process and then it will try and create that in the procedure as much as possible. it's what I would have done anyway. obviously in customer support, have our processes and a lot of the time they're a bit...

What's a polite way putting it? They're a bit of a... They're not a guarded secret. It's just they're not well documented. I like our nice listed documents with our step-by-step processes and our nice little sub bullets and their numbers and it's got clear logic behind it. So what you could do is if you also have those, you can paste those in here and then Intercom will try and pull out the procedure from here. So...

It's exactly as it's saying. And you can edit it all afterwards. So it's also got examples at the bottom here, SaaS, e-commerce, fintech, and gaming. ⁓ Let me try, let's say, cancel or pause a subscription. So I'm going to use the test I did last week for a client was I, this was actually creating a new procedure, but I'm going to use one of their example ones here. So create a procedure to handle when a customer wants to cancel or pause the subscription.

That's fine. I actually do have a data connector to my Stripe account that should help with this as well. Cool. Okay. This looks pretty good. If I did have my own procedure, I would be on my own process to create. would be going through more detail here. That's interesting. Yeah, cool. Okay. So I'm going to click continue and then intercom will go off and analyze the context. If anyone's watched any podcasts where they have.

where they're going off and using AI. This is the point at which they have a little bit of banter and a little bit of fill in time and, ⁓ and fill in the blanks. But, ⁓ but luckily they, luckily this is pretty quick. So the procedure mentions using a script subscription data connector to retrieve plans and details. Hmm. That's what I, that's what I thought was interesting last time as well is, ⁓ there. You can, it will ask questions and the way it asks questions is it.

fills in all of these, it gives you all these text boxes that you can type into and give you an answer. So is there a tool or I guess my, let me just move this here. Yeah, I guess my Stripe connection is in draft, is it? ⁓ Can you use get subscription info?

Data connector. Please. The policy rules that determine whether a subscription is eligible for cancellation. Three, are there minimum commitment periods? Yeah, let's say yes. There is a minimum six month commitment period. You know, I just do the typos just to make sure they understand. Should the AI agent verify that the customer is the account owner or authorized contact?

Should it match? Yes, always match email address and user ID.

No need for any other checks. You could do that. So I guess how could you do that? You could use another data connector to send or to trigger a two factor authentication check at this point if you wanted to. ⁓ A lot of the time, you're, I mean, if you're, you could also limit this to just messenger conversations. So that's a nice little bit of, assuming you're using the JWT. ⁓

authentication that's a lot more secure and means that you have less risk of someone spoofing an email address, for example. So that would be one way of making it more secure without having to add any other checks. But if you weren't doing that, you could trigger some sort of two factor authentication. Sort of. You probably wouldn't want to do that. Yeah, you probably wouldn't want to get people used to the idea of sending two factor authentication codes to anyone else. So bad example.

But you could do ⁓ an email-based flow for that instead. When a customer cancels or pauses mid-cycle, what are the refund or proration rules? I'm going be grumpy and say, no refunds. OK. And then the call to action there is interesting, which is generate draft. So it's clearly telling you this is not going to be set live yet. So there we go. It's going to review my answers. I'm curious about whether it'll come back and say,

Hey, get subscription info isn't live. So you need to set it live first.

Let's just see what happens.

Are you seeing my camera?

I know if you are when I'm on this one. I think you're seeing my camera when I'm on this one. But I think you're not seeing my camera when I actually switch to that tab. All right. So let's find out the details.

So one thing I noticed, one practice I used to have, I used to have until last week when I access to procedures, one thing that I would do is I would tend to go through the process of creating the task before the data connectors were live. In other words, if I was creating a new process from scratch, then I would ⁓ create the task and then slot in the data connectors afterwards.

⁓ and I found that that was a really helpful way of crystallizing exactly what I needed from the data connectors. And I'll show you in a couple of minutes. Well, no, can tell you now, guess, but because of the fact, okay, so here's the procedure, but we'll get to it in a second because it's asking for the data connector information here during the AI generation step. I think I'm probably going to wait and generate the procedure after the data connectors are alive.

So that will be a bit of a process change for me, which is fine. But I'm curious about how that'll work for everyone else. Like if everyone else does the task upfront and then adds the data connectors in after you. you can see me. Thank you very much, John. All right, so here we go. Here's the procedure. we've got, this is the new UI for procedures. So if you were familiar with procedures, or excuse me, with tasks, the biggest change is

the UI is dramatically simpler. So tasks were built around workflows. so you could have, although I have spoken to one unnamed expert who didn't know this, but you could have multiple blocks. And so you could use branches and logic to get into different blocks of instructions. And there were advantages to that, which means you could separate out the flows really effectively. But it made it very difficult to get everything set up correctly.

and then to iterate on it and change it over time and also to work out where any errors were happening. So the biggest change that ⁓ intercom has made is that they have changed it so that you only have one flow here. So it's a top to bottom process, although you can do what are called sub procedures here. just looking through the UI, you've got the name of the procedure at the top. You've got the

the list of the procedures on the side here, as well as any sub procedures. So sub procedures are really useful because there are sub processes. So something that maybe happens multiple times in a procedure, could do that there. So process cancellation is an example there. So if there are several flows that would lead to process cancellations, instead of having to rewrite them every time, you can just do a single sub process and call it.

I don't know if it's going to happen in the future, but you can't reuse subprocesses, subprocess procedures across different procedures. ⁓ which I, I feel like is a bit of a missed opportunity because certainly there are some that, that would be useful to use multiple times. ⁓ so that you don't end up with like, with ironically the same sub procedures repeated across multiple procedures. so

So that's the list on the left. You've got the description of the procedure here. when to trigger it, the kind of, whoopsie daisies, let me expand that out. The kind of triggers that would be used and the kind of triggers that shouldn't be used. asking about upgrades or downgrades or anything like that. And then you've got the examples. So the examples, switch us over to the right hand pane here. So use when and don't use when. these examples are not.

are not based on customer questions. And I can tell you that because I don't have anyone asking these. But you can, if you wanted to, you could search them down here to get exact customer language. So that's the first thing I like, don't just rely on these prompts, because these are nice phrasing, but they might not be precisely how your customers would phrase it. So that's for use when and do not use when. And also just as a helpful hint,

I would not add more than 25 examples of this. You get pretty diminishing returns pretty quickly once you get above that. And you can start to really, really get messy and get a lot of false positives for tasks anyway, probably for procedures once you get beyond that. Right, so that's the UI from the top. Oh, and then you've got channels. excuse me, the audience targeting. One thing I did notice was interesting. So you've got your channels here.

So as I said, I would do this on web iOS and Android and just limit it that way. Or you can do it through email as well. And then you can do a bit of a branch later or a of a branch, a bit of logic later on to say if they're coming through email, make sure to verify them first. One thing I did notice was interesting is you can only use the intercom audiences now. You can't use user filters. So you used to be able to say, oh, well, you can use the sort of fin audiences.

Or you can use filters. So ⁓ yeah, you can only use audiences now. So if you want to limit this, you'll have to create ⁓ an audience to limit it instead. That was another thing that I noticed. Ticking the things off. And then what are the settings up here?

yeah, the guidance. this is really useful in case there's things that will be coming back from data connectors, for example, where you will always want Finn to interpret the information correctly. And reasoning. Ooh, interesting. ⁓ I didn't see this one last week. So procedure switching. When enabled, Finn will have the ability to agentically switch from this procedure to other live procedures. Yes, please. I love that. Okay, that's really helpful. So with a client, I have lots of...

Lots of related tasks. I have one, one of them, have this like huge mega task. And when I switch those over procedures, we will be breaking them up, but being able to agentically switch between the procedures is going to be massively helpful to get the right thing because there's a lot of language overlap between them. ⁓ so that's going to be helpful. ⁓ and then we've got the step-by-step of the actual, the actual procedure. So it goes and yep, this is where I guess it's not.

live. let's look it up. Call data connector. Yeah, I don't I clearly haven't set it live yet. ⁓ Okay, but what are the other things? So conditions? Yeah. And sub procedures, reading attributes, looking up content. That's a new one. Hmm. Yeah, that's fun. Looking up explicit content. Cool. Of course, look up my previous episodes of support stack. Of course, you want to do that. ⁓

And so this is step by step. So it's gonna be start at the top, work your way down with handoff process and everything like that. And then these are just placeholders until I type in the actual details from the Stripe connector. You can add another step using the plus button on the side. So in the past, one other change that I've noticed in the past in tasks, one of the piece of advice I got from one of the engineers that...

Was he a forward deployed engineer? I've forgotten his role. Anyway, sorry. Was to give them a title. So give each step a title. Verify the.

Verify the user, for example, and that would improve the performance of Finn here. So that doesn't appear to be the case for Breast Practice any more because it's not actually detailed in here. And then you go into the branches. So while in the past branches would be done using different blocks, like in a workflow, now the branches all come in here and I think are going to be much easier to understand. So you've got your ifs, and these are not, you

This is very nice. You can do natural language ones or can do code ones. ⁓ So the code, yeah, the code you can insert attributes. So that's very fun. ⁓ Yeah, so you can do, I think it's Python here, yeah. And make that a lot more specific or you can switch to natural language and then keep it nice and easy. ⁓ That's fun, yeah. ⁓ And then...

you're running your sub procedures. if I click on, sorry, I'll just show you that again. if I, oops, I don't go back to there. I'm gonna go back to there. good. So if I click on, you've got the run sub procedure. If you run, click on that, you can process cancellation. It shows you the exact details of the sub procedure. So it just makes the overall UI for the main procedure a lot easier to read because you just know it's going off and doing the process cancellation or the process pause.

⁓ And then that's cool. Okay, interesting. And then the test is a test. Yeah, test. Test is where you've got the preview and the simulations. So one thing I noticed is I've got the event log. So it's a toggle now, ⁓ broadly the same UI you used to switch between tabs. ⁓ Hey, I, this is not gonna work at all because I don't have the data connector set up or anything. Can I cancel my account please?

⁓ and then just like with tasks, you can click on the preview user and switch to a different user and then also use the data connectors that they would use. ⁓ so if I click, yeah, cool. If I click event blog, can see it started the, started that procedure and then it's got my, the details of the procedure there. But then, ⁓ God, this is so good. So the simulations are really good. I, I've been using simulations in tasks for a client for a long time, for a couple of months.

And they have been very helpful to help me find my own mistakes in those tasks. So yeah, cool. You can add these. Let's see, eligible cancellation confirmed. Goodie. ⁓ Yeah, save. ⁓ that's because I broke it, didn't I? So if user wants to cancel.

And then if user wants to pause.

Right, there we go. So.

What if I missed this time code? Hang on. no. Is it? Air running simulation code. Yeah, okay. It's not gonna work because I don't have anything in it. But you could... Let's just look at the simulation. So you can add the opening message and then any additional details from the customer. ⁓ You could also... It's not showing here, but if it's... ⁓ If my... ⁓ my God. If my data connector was live, you can also do in...

⁓ You can also specify the precise response to expect from the data connector, which I've found very useful as a way of ⁓ simulating, as a way of showing, getting Finn to show what actually should happen. There's a lot of criteria. And these are the success criteria at the bottom. So this is how Finn knows it's been successful or not. So yeah, it's very cool. And actually, yeah, cool.

The other thing I noticed, I'm just remembering, ⁓ I don't want yeah, I don't want to use my subscription. How do I cancel? ⁓ Let me see if I can trigger this here. It's a bit difficult because I've got no real stuff in this account, but let's see if it'll do it. Cause it had more, you probably have seen. Yeah. So Finn's thoughts.

And then it had the see more here. Yeah, this is it. So you've got the Fin's thoughts, step one. So it's starting step one of the process, but then it actually goes into more detail about what it's thinking, which I think is probably going to be useful. So this is very like LLM's like Claude code. It's making a plan as far as I can tell, it's making a plan behind the scenes. And so the first not completed step in the list is step one. So it seems like it's reading through the procedure.

looking through the conversation and they're making a plan based on based on the combination of those two. And then every time it's like, okay, well, what do I do next? This is not completed. So great. So this is the, the other thing that I've seen from simulations now is that they, they do show even more detail about what, what Finn is thinking. So I think that's pretty, pretty cool.

Uh, simulations, but yeah. So the, the other thing I was thinking was I'm, I'm curious to how this is going to look once I get, once we get like 15 to 20 steps in here, cause that's, that is possible with some of the bigger tasks that I've worked on. Um, so that's, that's going to be, that's going to be curious. The only thing I, what I would really like though, and this was something that they showed in, I did a, a,

a very, very, very early preview of this, ⁓ in God, think it must've been October or November or something like that. So it was, it was unbuilt. was just, like a mock-up or a prototype. And, and one of the things that I, that was useful for that was they had an AI editor as well. So this has had an AI creation mode, but I could see, I, I could see it be very helpful to have an AI editor process as well.

Because now, for example, if I go ahead and create my data connector, well, then I have to manually update all these places to pull in the data connector and then to get the attribute references. I could imagine, I'd be surprised if Injcom didn't do this, but I can imagine Injcom looking at me like, okay, let's find a way of editing through AI as well. I would selfishly find that very useful.

⁓ but yeah, those are the, those are the main things I was finding with, ⁓ with switching with the switched procedures. It's, think it's largely going to be a lot clearer for people. can see people finding it a lot easier to get procedures set up than to get tasks set up, especially with the templates. Those are good, but also with the AI, the AI model, like there always was a way of getting feedback on the process on the tasks that you've created, but

the actual AI generator is, I think, going to be a lot easier for creating procedures right in the first place. Cool. So that is broadly it for today. I've got a couple of things to promote as well, just so you know about. So the next support stack solo, so this is our support stack solo, is going to be where I decide how, where I show how to decide what procedures you should and shouldn't build. So it's Monday the 23rd of February now, so it'll be out on Wednesday, actually.

Wednesday, the 25th of February. The next main episode of Support Stack will be from Gabriella from AutoDS. She'll be back again. And this time, she'll be talking about rewriting your articles for FinAI agent and how they trimmed, when they switched to Intercom, how they trimmed from 235 to 55 articles, I think it was. So if you want to see both of those, you just have to sign up to my daily email list, which is at customersuccess.cx.daily. ⁓

You've got a bunch of helpful information in there. So that's customersuccess.cx slash daily. And then the other thing to share as well is the five mistakes you're making with Fin's data connectors. So this is ⁓ an email series that I've just created and set live. And it is basically five of the most common mistakes that you might be making with Fin's FinAI agents data connectors and how to avoid those mistakes as well.

⁓ Yeah, apart from that, I will see you on the next episode of Support Stack. yeah, thank you very much for watching. This has been my second solar episode. The first one will come out on Wednesday. Right, hopefully that was helpful and a helpful look at the differences between tasks and procedures. And thank you very much and goodbye.

Next
Next

Support Stack Episode 11 - Teaching Fin Your Product Language