Intermediate Course
Practice designing Flows on NARA through three independent Mini Projects — connecting over HTTP, sending automated email notifications, and simulating a production line process.
The basic course got you to the point where you can build a single-path Flow and make it run. This course takes you a step further: seeing that different kinds of work need different Flow shapes, and choosing a design that fits each one.
What makes this course different is that it does not build one large continuous system. It is made of three unrelated Mini Projects. Each project is a different kind of task, with its own starting Trigger, its own data handling, and its own result. The goal is to show that NARA can build many kinds of Flow depending on the work — not just one single pattern.
Before you start
This course assumes you have finished the Basic Course and can build simple Flows on your own. We will not go back over installation, signing in, or the interface tour.
Where this course takes you
Each Mini Project simulates a different real-world situation.
| Project | Kind of work | What you practice |
|---|---|---|
| Mini Project 1 · HTTP Connection | Connecting to an external system or service | Request–Response pattern, sending and receiving data, checking the result |
| Mini Project 2 · Email Notification | Detecting an event, then alerting | Event-driven Flow, conditions, automated email sending |
| Mini Project 3 · Production Line | Simulating a repeating process | Sequencing, state, looping, and stopping safely |
This structure keeps the three projects independent while sharing a common learning core: choosing the right Trigger for the job, laying out the working path, passing data between Nodes, and testing the Flow systematically.
By the end you will be able to
Design Flows around the purpose of different tasks, choose Triggers that fit the way the work runs, tell Trigger, Input, Process and Output apart, reference and pass data between Nodes, build conditions and multiple working paths, connect NARA to external systems or programs, build alert Flows driven by a defined event, build Flows that repeat and manage process state, test and troubleshoot Flows systematically, and apply the Flow patterns you learn to other work.
Course structure
The course opens with a single concept-setting chapter, followed by three Mini Projects that stand apart from one another. Difficulty rises with each project — from a single-path Flow, to a Flow that branches on conditions, and finally to a Flow that carries state and loops.
Course Introduction (concept setup, no Workshop)
│
├── Mini Project 1 · HTTP Connection → single-path Flow
├── Mini Project 2 · Email Notification → branches on conditions
└── Mini Project 3 · Production Line → carries state and loopsWhy not chain them into one system
The three projects are meant to be separate — not HTTP → Email → Production Line flowing into each other. Merging them into one system would confuse learners about which Flows relate to which, cause multiple Triggers to collide, and make each Workshop harder to test or reset. Keeping them separate makes it clear that each task is a different kind of example.
Recommended time
| Section | Time |
|---|---|
| Course Introduction | 15 min |
| Mini Project 1 · HTTP Connection | 45 min |
| Mini Project 2 · Email Notification | 40 min |
| Break | 10 min |
| Mini Project 3 · Production Line | 60 min |
| Review and wrap-up | 10 min |
| Total | 180 min |
Organizing the projects
Each Mini Project should be stored as its own Project or Flow file. Do not put all three in one project — this reduces the chance that Variables, Setup Nodes, and Connections collide, and lets you hand out sample Flows separately per chapter.
NARA Intermediate Course
│
├── 01_HTTP_Connection
│ ├── Starter Flow
│ └── Completed Flow
│
├── 02_Email_Notification
│ ├── Starter Flow
│ └── Completed Flow
│
└── 03_Production_Line
├── Starter Flow
└── Completed FlowEach project should include a Starter version for learners to begin from, a Completed version to compare against, any Test Data or simulator needed, the Expected Result, a Troubleshooting Checklist, and a challenge exercise to take further.
Flow patterns taught in the course
The three projects each teach a different Flow design pattern that transfers to other work.
The first is the Communication Flow, used in Mini Project 1 — start from a Trigger, then connect, exchange data, and validate the result.
Trigger → Connect → Exchange Data → Validate ResultThe second is the Event-driven Flow, used in Mini Project 2 — start from a Trigger, then check an event, evaluate a condition, and take action.
Trigger → Check Event → Evaluate Condition → Perform ActionThe third is the Stateful Process Flow, used in Mini Project 3 — start from a Trigger, then run the process, update state, and decide whether to repeat or stop.
Trigger → Execute Process → Update State → Repeat or StopIn this course
Course Introduction · Designing Trigger-Based Flows
Sets up the idea that a Trigger is the start of a Flow Path, and how to choose one that fits the job.
Mini Project 1 · HTTP Connection
Connect to and exchange data with an external program over HTTP.
Mini Project 2 · Email Notification
Detect an event, then send an email alert automatically.
Mini Project 3 · Production Line
Build a process with sequencing, state, and repetition.
Custom Models
A guide to using Object Detection models trained in Reva within Nara
Course Introduction · Designing Trigger-Based Flows
Sets up the mindset before the three Mini Projects — a Trigger is the starting point that defines when and why a Flow Path begins running — and introduces each Trigger type and how to choose one for the job.