What is a procedure?
Let Fin make decisions, get data, and take action across systems on behalf of your customers.
When helping a customer means multiple steps, decisions, and actions across systems, good content and guidance aren’t enough. Procedures let you orchestrate complex processes end to end.
Prerequisites
To get the most from this lesson, make sure the following are in place.
- Fin deployed: Ensure Fin is live and handling customer conversations so you can build and test procedures against real interactions. Take the Launch Fin course for everything you need to get up and running.
Video transcript
When you're working with you have a few different tools at your disposal. Content, that's what Finn knows. Guidance controls how Fin behaves. Data connectors give Fin access to your external systems enabling it to make a single API call and return one answer, while procedures help it handle complex processes. The ones that require multiple steps decisions and actions. Now the key is knowing the right situation in which to use each one, But in this video we're focusing on procedures. So just make sure you're not using procedures for the sake of it. If a simpler tool can solve your problem, start there. Okay. Let's dive into the procedure builder. At the top is the trigger. This is what usually kicks the procedure off. It's usually something that the customer says or does. Once that trigger fires, Fin will start working through the steps you've defined. Generally, you can use natural language for most instructions and Fin will figure it out. But for more specific things that's where the tools in the app menu come in. Now these tools are like building blocks. They help you add structure and capabilities to your steps. But a common mistake that people make is using natural language for something that already has a tool. For example, writing hand off to the support team instead of using the hand off tool, which is what's actually gonna write the conversation. Now all these tools help you build procedures. So here's Fin to walk you through the five most important ones. Hey guys, Fin here. So number one is conditions. These let me check if something is true and then take different paths depending on the answer. Here we can see if something's true I go one way, if something else is I go another, otherwise I go with the fallback option. These help me move through the process and decide what to do next. Oh and as a quick FYI, instead of natural language you can write conditions in code too, which is better when something needs to be exact. There's no interpretation. I just evaluate the code which makes it faster and more reliable. Amazing. Okay. On to numbers two, three, and four. I'm kind of cheating here by lumping all these together, but they all relate to data inside a procedure. Let me show you what I mean. So here's the procedure and within it I can use data in a few different ways. One, I can use a data connector to bring in attributes from an external system or push data back out. Two, I can read or update any attributes that already exist in Intercom. That's things like people, company, or conversation data. And three, this one's slightly different, I can create temporary attributes inside the procedure. Okay. Let's take a closer look. So data connectors are what allow me to talk to other systems and without them I get a little bit lonely. I can get data from them or I can push data to them enabling me to take action and actually do things. And once I call a data connector, all the information is now available for me to use within the procedure without the need to call it again. Okay. On to attributes. If you open the app menu, you can see that I can read, update, or create them. Now reading lets me take any data inside Intercom and use it in the flow or update it as part of the procedure. This means I can personalize what I say, make better decisions, and keep everything up to date for your team. And those changes stick around after the procedure too. But creating an attribute is a little bit different. These let me create temporary values that only exist within the procedure. You can think of these temporary attributes like a box. I can ask a customer a question and then save their answer by putting it in the box. I can then use that answer to customize the experience or create different paths. Okay. That was two, three, and four which were all about data. Let's move on to five which is about sub procedures. Sometimes a procedure can get pretty long and quite hard to read. So sub-procedures let me take a group of related steps and move them into their own section. Now this chunk of work exists on its own and when we go back out to the main flow it's cleaner and much easier to read. You can access your sub procedures here and you can kindly think of them as subfolders. And the best part is you can run a sub procedure at any point. I'll jump to it, follow the steps, and then pick right back up where I left off. It's a really good way to build a chunk of work once and then reuse it wherever you need it instead of having to repeat the same steps over and over. Okay. Thanks for that, Fin. So those are the five main tools you do need to know about. There are others but you can learn about them in our health center. Now before we finish up I do wanna flag the right hand tab which is where you can preview and test your procedure. We're gonna be covering this in much more detail later. In the next video, we're gonna be looking at best practices for mapping out your procedure to help you get started faster.
Triggers and steps
Every procedure starts with a trigger: the action that kicks it off. This is usually something the customer says or does. Once the trigger fires, Fin works through the steps you’ve defined in order.
You can write most instructions in natural language and Fin will figure out what to do. But for specific actions, use the tools available in the @ menu. They add structure and precision to your steps.
Use tools, not natural language, for specific actions
A common mistake is writing natural language for something that already has a dedicated tool. For example, writing “hand off to the support team” instead of using the Handoff tool, which is what actually routes the conversation.
If a tool exists for the action you need, use it. Natural language is for instructions and context; tools are for execution.
The five key tools
These are the core building blocks you’ll use most when constructing procedures.
| Tool | What it does | When to use it |
|---|---|---|
| Conditions | Checks if something is true and branches the flow accordingly — IF this, THEN that, OTHERWISE fallback | When the procedure needs to take different paths based on data or context. Can be written in natural language or code — code is faster and more reliable when precision matters |
| Data connectors | Pulls data from external systems into the procedure, or pushes data back out | When Fin needs information from outside Intercom, or needs to update an external system. Once called, all returned data is available for the rest of the procedure without calling again |
| Read/update attributes | Reads or updates existing Intercom data — people, company, or conversation attributes | When you need to personalise responses, make decisions based on existing data, or keep records up to date. Changes persist after the procedure ends |
| Create attributes | Creates temporary values that only exist within the procedure | When you need a scratchpad — for example, saving a customer’s answer to use later in the flow. These don’t persist after the procedure completes |
| Sub-procedures | Moves a group of related steps into their own reusable section | When a procedure gets long or when you want to reuse the same chunk of steps in multiple places. Fin jumps to the sub-procedure, follows the steps, and picks back up where it left off |
Testing your procedure
The right-hand tab in the procedure builder is where you can preview and test your procedure. This lets you walk through the flow before it goes live, catching issues early.