Support Stack Solo Ep 03: How to Build a Fin Procedure in Intercom

In this episode of Support Stack Solo, I walk through building a real Fin Procedure in Intercom from scratch.

Instead of using AI purely to answer support questions, the goal here is different: turning Fin into a qualification concierge on my own website.

The idea is simple. When someone asks about working with me, Fin can guide the conversation by asking a few targeted questions, storing structured information about the lead, calculating a qualification score, and then routing them to the right next step. That might be a call, a workshop, or simply more resources.

In the episode I show the full process live, including how the procedure was designed in advance, how the required attributes were created inside Intercom, and how the procedure itself was generated and refined inside the Fin interface. Along the way, we run tests, review Fin’s event log, and fix some early issues with attribute updates and scoring logic.

A few things become clear during the build:

  • The hardest part of using Fin Procedures is not the AI itself, but designing the workflow and attributes clearly beforehand.

  • Fin can handle surprisingly complex logic inside procedures, including scoring and conditional routing.

  • Testing is essential. Preview users behave slightly differently from real users, so validating procedures in live scenarios is an important step.

If you’re exploring Intercom’s Fin, AI support automation, or conversation design, this episode provides a practical look at how procedures work and how you might apply them to your own workflows.

If you'd like more practical insights like this, you can subscribe to my daily email where I share short ideas, experiments, and lessons from working with Intercom and AI in customer support.

👉 Subscribe here

Episode transcript

Conor Pendergrast (00:00)

Hello and welcome to Support Stack Solo, Episode 3!

So welcome back to Support Stack. This is another solo episode of Support Stack. So it's just me running you through something, something new that I'm working on or something that I'm finding interesting at the moment. And today we're actually going to be building my first procedure for my own website. So you may remember in episode one, we were looking at a procedure that I was planning and the procedure that I was running through the process of, of defining and deciding how to, how to make it run.

is a bit of a different one for me. Most of my client work takes existing processes and then maps them onto Fin, so there's a lot to work with. But this was really me starting afresh and defining the procedure for the first time. So

is the Notion page that we created together, me and you, dear listener, and our friend Claude. And as I said at the last, in the first episode,

This is all about setting up Fin as a qualification concierge on my own website. So what I'd like to do is make sure that anyone who wants to talk to me and work with me gets a good experience talking to Fin and both experiences what Fin can feel like and how good you can get it using procedures and using a couple of other tools, as well as selfishly reducing the number of individual contacts I get that may be better served in other ways.

So I've got this whole Notion page now created. I created this through Claude. Claude created this into Notion as this page. And so now I've got a lot of details in here. The in particular, what I'd like to point out as well is down the bottom, there's a lot of details here, but down the bottom, we actually have the step-by-step here. So it gives me, just in case you really didn't know how to do, how to create procedures, you can exactly see how to do it here.

So I've got these blocks, these instruction blocks that I'm gonna paste into procedures.

Before I do that though, I will show you. ⁓ So this is the procedures page. Now there's one thing to know before you create your first

If you want to store any information on a user level. So if it's not a temporary attribute or on a, so it's storing it about a user or about a lead or about a conversation, then you need to create that beforehand before you're creating your procedure. If you also want to connect any data connectors, so connecting to any

third parties, any APIs, something like Stripe or maybe a different database for your product. You'll need to create that beforehand as well before you get it working in your procedure, obviously enough. What I have done in my people

is I've created a couple of the attributes that I'm going to want to set up or to define through my procedure. So the fin usage depth, the intercom team size estimate, the availability alignment, the fin intent frame, and the qualification score.

So I've already got those set up. They are set up as people attributes because they're going to be defined for the people who are interacting with Fin. So now what I want to do is get started with procedures. So you see, I do have a draft run down here already. That's just a sample one that I was using. I think that was a lot in episode two, think that was where we were doing our first look, ironically, our first look at the actual procedures interface.

So what I'm going to do is in the top right click new procedure and then let AI draft your procedure.

So this gives me two options. We saw this last time as well in episode two. It gives me the option of putting in all the process or I've got some examples here as well. So if this was troubleshooting login issues, I could use those handling damaged items, those sort of things. But that's not what I'm gonna do. What I'm gonna do instead is go back here and I'm gonna copy this, all of this.

and then say down to here, I'm curious. Well, we have enough space. So now I'm going to come to the top.

and I'm going to give it a little bit more context. So I'm going to say...

It's eight characters over the limit. You see they've got a character limit at the bottom. Roots the lead. So I'm just gonna...

see if I can get something else in here so that Fin knows what to do. ⁓ let's see.

Configure Fini Agent to cat, there we go.

Perfect. So configure FinAI agent tactics, qualification concierge for prospects, ask precise qualification questions, store attributes, score the lead and roots the lead. So one of the things I'm immediately thinking based on my experience here is, okay, well, when I'm setting up my Notion page to find the procedure ahead of time, I should make sure that I'm not wasting characters with things like emojis.

and that I'm setting it up in a way that will be easy for Fin to understand and get in this format. So that's an immediate improvement that I can make to the skill that is underlying this. But anyway, I'll click continue. So Fin will go off, try and search conversations. It doesn't actually have anything to work with because I have a very small website at the moment, but it should start to get some work set up.

And now what it should do is come back with questions for me and then I'll start to answer questions.

The procedure description says very large, however the help content, help center content is 400 and large. which thresholds, yep that's probably a contradiction that I have within this page. So I will say great.

just gonna paste in this one again.

The alignment references several people. None of these appear in the available attributes list. They do appear.

Okay, well that's fair enough.

They do, don't you see them there as well? Yeah.

Okay, that's what we'll do.

people attributes are qualification score.

content frame, they're the exact same. So I wonder if it's just having far trouble finding them in usage depth. For the medium, the source has stored email as email, should be stored as the yes, the primary email attribute.

Please, Help Center mentions confirming the lead is not an existing customer before running this procedure. No, do not.

from.

Do not include this step at all.

generate draft. Because what I can do is I can actually just account for that in the procedure itself in the triggers so that it's only triggering for people who are not customers already. ⁓ And so if it went off and tried to collect from the subscription database or from my Stripe account, then it would only be checking users anyway. And so anyone who I have marked as a user or a customer in intercom, I can just filter them out automatically anyway.

So now let's see how Fin goes ahead and creates this procedure. I never know whether to describe this as Fin or this as intercom, because it kind of feels like the same sort of magic AI agent going off and doing things in the background. So I'm curious about how it's going to set the attributes and whether it's going to do those correctly, and also whether it's going to do the maths correctly.

Okay, so our procedure is just, my procedure is just refreshing now and so let's go through it.

Interesting. So it hasn't at all included my attributes. So update attribute as fin usage depth is there. ⁓ Record there. So I need to fix that. Record there as advanced.

So yeah, this is funny.

So I don't know why it didn't break it down, but now I'm gonna break it down into sub points to make it a lot easier. But also it didn't do it this, that's interesting, isn't it?

Yeah, so it's just said internally record. Okay, so not a great experience there. It's a bit weird because it hasn't picked up at all the fact that I have the existing attributes. Okay, so no, I'm not gonna do it this way. I'm going to do the conditional here as well. So we're gonna do a conditional.

So if...

Customer mentions. Cool.

Yeah, great.

So we're gonna acknowledge the customer's response and set.

advanced.

So we're going to do there.

Let's do an else if.

There customer indicates this. So we're going to put that in there as well. Acknowledge the customer's response.

basic.

Yeah, and think it's going to do the maths all wrong as well.

Okay, well let's see what it can do. This is just about getting it.

See, I've already forgotten what I was supposed to set this at. Advanced is 20 points. Of course it is.

Basic. 8 points.

and then else.

This is acknowledge the customer's response.

⁓ bit finicky still but it is in beta so that's all right so it's not enabled

your pots.

That's better.

roughly how many people are using Intercom at your company. now, acknowledge the commercial response and set. Now we can do update attribute and it is ⁓ team size, Intercom team size estimate to very large.

And now all I'll do is just copy this bit and...

go as set and instead of internally record set team size estimate to large great and

set to medium. Much better.

That good and.

small.

Yeah, that's the funny thing. It's only got the three options here. Maybe it's because it's got three conditions. But I don't understand.

does look messier. See, I really like when it has... Sorry, that's wrong one.

I really like it when it has the ifs.

So conditions, so let's say if the customer clearly.

acknowledge the customer's response and...

set and do update attribute available in the alignment to september okay

10 points.

And now I can copy this and do an else if. If the customer indicates that they need something sooner. As if the customer.

that they need something soonest since September. Acknowledge the customer's response and set to need sooner.

zero points and then we'll do an else.

And we'll just do acknowledge the customer's response. Set.

and set

Unsure? Great.

And now can get rid of all of this.

Hmm, yeah, this is

Now that I think through it, I don't think that should be zero points. That should be five points. Because I don't really want to weigh them worse. I will hopefully be able to deliver group offerings sooner than that. So let's do that. Okay, and now.

This is another condition. Yeah. If...

So now

Set.

we're going to update an attribute intent frame to strategic trust goody else if that's

strategy.

Well no, I'll leave that as is actually, if so.

two mixed. Five points. Else.

And set.

Update, so this is the Fin intent frame. Update Fin intent frame to cost focused. Okay, sure I can get rid of that. Calculate the qualification score.

Great.

team member. ⁓ Cool.

Okay cool, pretty good. This maths might not work together perfectly so what I might have to do is put in ⁓

put in some logic here because I could do it's natural language at the moment but it could be code instead so I am curious about whether that would work okay so let's save that there

everyone on all channels well not everyone

have to do an audience later I don't want to interrupt right now so I'll test this and then let's see

Hey, I'd love some information on working with Conor. Can you tell me what his services are?

Okay, so that's the procedure. I can hear the, it's pinging in the background saying, hey, someone's talking. I find the details about Conor's services for you. That's nice. So I click the event log and can see that it is running my qualify and root prospects using Fin, ⁓ agent, concierge flow.

Oh, cool. Okay, so it has got some good stuff. So I'll... Great! How do I get in contact with Conor?

Okay, so we've got the contact them. It's all right. But it's I wonder if it is still inside the procedure. It is still inside the procedure. So that's good. Because you can see because it hasn't ended exited the procedure yet. So what I'll do is I will say

So far we have fin enabled but we haven't done a huge amount of work to set it up beyond that.

And so what it should do at this point is now move on. So let's check the event log and see what happens.

Okay, usage depth is basic, eight points.

Roughly how many intercom are using your company? We have 20 support agents.

Okay, thanks for that information.

Okay, so team size medium, great.

I was really hoping to get someone sooner. Is he really not available until September?

You know, it's always fun to ask these questions.

So we'll see what happens.

⁓ that's good to know.

⁓ Okay, so this is useful for me as well because it's pointing out so as you may already know, Fin will go off and use content as well if it will better answer the question. But of course, these are really old blog posts like this is from a year and a half ago. So I need to go I need to make a note to go back and get rid of those blog posts because it's not not good.

⁓ okay. Okay. Okay.

sooner would be better, I think I'll say.

So now, hopefully, Fin, yeah, so Fin should say, need sooner, great, yep. When you think about Fin, customer trust and experience, I'm definitely keen on bringing the best possible customer support experience using Fin.

Right.

Okay, and now next what Fin should do is get the qualification score. So this is the part genuinely I'm not sure if Fin will be able to do this. And so let's see if it sets a... I forgot to get it to record it. That's annoying. That was silly, but good thing to do. So 10.

So let's check Fin's thoughts. Okay, eight plus five plus five plus 10. Yeah.

So that makes 28. That is score between 18 and 34.

So now it's gone on to 10.2.

While a one-on-one call isn't the right step just yet, here are some options. Group workshops starting soon. Would you like me to send you a guide showing how Conor set up this exact qualification process? So there we go. That's an example of how it can work. So I've got things to fix, obviously. So first of all, I'm going to fix that.

I'm going to do store this score as, and then I'll do update attribute. I think, what was it called? Qualification score. Qualification score. There we go. Now I'll save that. Now if I switch over and find that conversation, so even though it's a preview conversation,

should be able to find it. There it is, all. And so now I've got the details, user data. If I say see all. ⁓ interesting. So it hasn't actually stored the usage depth or anything like that. So I'm curious. I suspect that's because this is a...

preview user. So I'll want to make sure in my testing that I test it live with a real user and that I simulate it. well, I do it not just as a preview user to make sure that that's all getting set correctly for this person. So that's interesting. And another thing to test.

Alright. So there are simulations I can do as well, and so this would be the fun thing to see what happens and make sure that it all gets set correctly. Because we saw, hang on, just going back to that conversation.

So down here it does set, yeah, fin...

Usage depth to eight points. That is curious. I wonder why that's not translating. I'd guess it is just because of the fact that, yeah, that's my guess is because it's a preview user. Okay. So, but anyway, that's the first step, the first version of this. Obviously I can change any of this myself.

So I can change the scoring, I can change the questions, I can change all of that. The next things I'm going to do are edit my content so that it doesn't have that out of it content anymore. Always the best thing to do is content. And then set up some simulations that I can run these in bulk so I can have a bunch of different answers coming in and make sure that it's working as I want it to work. And then test it as well with ⁓ an email.

Make sure it's working well through email as well as through messenger. So that's my first procedure. I'm going to set it live within the next couple of days. You can come to customersuccess.cx and ask questions and see, you know, get Fin to answer. And hopefully by the time this video goes live, this procedure will be live as well. Leave any comments below. If you have any questions about this, I'm happy to answer them. I hope this is really helpful.

a good view on how to set up procedures. The things that you do need to manually at the moment, although I suspect given that

is still in beta, I think there's gonna be a huge amount of improvement here. I've already seen some previews of some things that are really exciting and should really help. But yeah, hopefully this gives you a good view of setting up your first procedure. It's not that scary. ⁓ But if you do need a little bit of help.

I will likely be doing one of the group offerings that I've mentioned here is I will likely be doing in the late summer, a group set up your own first fin procedure So we go through ideation, we go through selecting the right process, we go through scoping it out, we go through writing up the requirements for your data connectors. If it's connecting to other systems, this procedure didn't, but others do.

a small group of people, maybe 10 or 12 people, going through that process of setting it up over the course of four to six weeks. And we sit down together, share your screens, everyone learns from each other, bit of guidance from me, pushing and nudging in the right direction. So if you are interested in that, make sure you're signed up to the daily email list. That's customersuccess.cx/daily, or send me an email, hello@customersuccess.cx and you will.

get through to my friendly Fin. And apart from that, I hope you have a wonderful week and take care of yourselves. Thank you, bye!

Next
Next

Support Stack E12: Rewriting 235 Articles for Fin