Skip to main content
In this tutorial, you’ll build a workflow for NestEgg, a fictional Canadian financial guidance platform. Workflows are step-by-step flows where every step runs in sequence, exactly as you designed it, with no room for the agent to improvise. They’re ideal for processes that must happen in a specific order, like compliance disclaimers, identity verification, or onboarding checklists. When a user asks Nesty, NestEgg’s assistant, for financial advice, the agent will route to the workflow you build. The workflow will display a legal disclaimer, present buttons to accept or decline, and hand off to a playbook for a flexible financial conversation if the user agrees. If they decline, control returns to the agent. This should take about 5 minutes.
1

Clone the template project

Open the NestEgg Agent template below and click Clone project to add it to your workspace.

Clone NestEgg Agent template

Pre-configured NestEgg agent with playbooks and knowledge base content.
The template comes pre-configured with a global prompt, instructions, and knowledge base content for NestEgg. Two playbooks, Explain NestEgg and Glossary Helper, are already attached to the agent and handle platform questions and financial term definitions. A third playbook, Explore Finances, is included but not yet connected. You’ll embed it inside the workflow you’re about to build.The only piece missing is a Financial Guidance workflow that gates financial advice behind a legal disclaimer. You’ll build that now.
2

Create the Financial Guidance workflow

In the Agent tab, click + in the Skills panel to create a new workflow. Name it “Financial guidance”.Set the LLM description to:
Displays the financial disclaimer and collects the user's agreement before providing financial guidance.
Then click Create workflow. You’ll be taken to the canvas where you’ll build the workflow step by step.
3

Add the disclaimer message

Drag a Message step onto the canvas and connect it to the Start chip. If you don’t see the Message step, press the  button at the top of the step sidebar to show scripted steps.In the message step, write the following disclaimer message:
Before we continue, please review the following disclaimer:

NestEgg provides general financial education and information only. Nothing shared in this conversation constitutes personalized financial advice, investment recommendations, or a solicitation to buy or sell any financial product. Your financial situation is unique. Please consult a licensed financial advisor before making any investment decisions.
Leave Wait for user input disabled. The buttons in the next step will handle that.
4

Add buttons to accept or decline

Drag a Buttons step onto the bottom of your Message step to add buttons to your message. Then, add two buttons:
  • I agree
  • I don't agree
Each button creates its own connection point on the step. You’ll wire each one to a different path.
5

Connect the 'I agree' path to the Explore Finances playbook

Drag a Playbook step onto the canvas and connect it to the “I agree” button’s connection point. If you don’t see the Playbook step, click the  button at the top of the step sidebar to switch back to agentic steps.Then, click into the Playbook step you just added and select the “Explore finances” playbook. You should also ensure the Playbook talks first is enabled so the playbook greets the user immediately after they accept the disclaimer.Once you select the playbook, you’ll see an exit condition called “User is finished exploring” appear as a connection point on the step. This is how the playbook signals to the workflow that the conversation is finished. Leave it unconnected - when a connection point in a workflow has no target, control passes back to your agent automatically.
6

Connect the 'I don't agree' path back to the agent

Drag a Message step onto the canvas and connect it to the “I don’t agree” button’s connection point. Write a short acknowledgment:
No problem. If you change your mind, just ask and I can bring up the disclaimer again. Is there anything else I can help you with?
Enable Wait for user input on this message so the workflow pauses for the user to respond before handing off to the agent. Leave the output port unconnected. This returns control to the agent.Your completed workflow should look like this:
Finishedworkflow
7

Test your agent

Click Run in the top-right corner to test your agent. Try the following:Trigger the workflow:
"What's the difference between a TFSA and an RRSP?"
The agent should route to the Financial Guidance workflow. You should see the disclaimer message followed by the two buttons.Accept the disclaimer:Click “I agree”. The Explore Finances playbook should take over and start a conversation about your financial question. Try asking follow-up questions to see the playbook navigate the conversation.Decline the disclaimer:This time, open the Agent tab and press the Run button in the top right of that tab. This will allow you to fully test whether the workflow passes control back to the Agent after the user fails to agree to the terms and conditions.Ask the same question as before - "What's the difference between a TFSA and an RRSP?" , but this time click I don’t agree. The Agent will switch to the financial guidance workflow and you should see the acknowledgment message, and then be returned to the agent. Then, try asking a non-financial question to confirm the agent is back in control: Tell me about NestEgg. You’ll see that this question is still answered using the Explain NestEgg playbook, as this doesn’t require the terms to be accepted.

Tips for building workflows

  • Use workflows for things that must happen in order. Legal disclaimers, identity verification, onboarding checklists. Anywhere you need guaranteed steps in a guaranteed sequence, use a workflow. If the conversation can be flexible, use a playbook instead.
  • Embed playbooks for flexible moments. The Explore Finances playbook inside this workflow is a good example. The disclaimer and button choice are deterministic. They happen the same way every time. But the financial conversation afterward is open-ended, so a playbook handles it. This pattern is useful any time you need a controlled entry point followed by a free-form conversation.
  • Leave output ports unconnected to return to the agent. When a step in a workflow has an empty output port, control passes back to your agent. You don’t need to explicitly route back, just leave the port empty.
  • Remember the user’s agreement with variables. Right now, the disclaimer appears every time the workflow runs. In a production agent, you could use a set step to save a variable like {disclaimer_accepted} after the user agrees, and a condition step at the start of the workflow to skip the disclaimer if it’s already been accepted.

What’s next?

You’ve built your first workflow with a deterministic disclaimer flow and an embedded playbook. Explore these resources to go deeper.

Workflows

Learn about all the steps available in workflows, nesting workflows, and more.

Playbooks

Write better playbook instructions, configure exit conditions, and add tools.