stepbase
← Blog

How-to guides

How to Build an Approval Workflow Without Writing Code

A step-by-step guide to designing multi-stage approval processes, from simple sign-offs to complex conditional routing with multiple reviewers.

stepbase Team·January 15, 2025
Approval workflowsNo-codeProcess design

What is an approval workflow?

An approval workflow is a structured process where a request moves through a defined series of steps, each requiring a decision from a designated person or team, before it reaches a final outcome. Common examples include purchase requisitions, employee leave requests, vendor onboarding, and content publishing.

When these processes live in email threads or spreadsheets, context gets lost, approvers miss requests, and nobody knows where anything stands. A purpose-built approval workflow solves all three problems.

The anatomy of an approval workflow

Every approval workflow has the same core building blocks:

  1. Submission stage: someone fills out a structured form with the details of their request
  2. Review stage(s): one or more approvers evaluate the submission
  3. Decision: the approver approves, rejects, or requests changes
  4. Outcome: the system routes to the next step based on the decision

More complex workflows add conditional routing, for example routing high-value purchase requests to a CFO that would otherwise go straight to a manager.

Step 1: Map the process on paper first

Before touching any tool, write down:

  • Who submits the request?
  • What information do they need to provide?
  • Who reviews it? Is it one person, or multiple people in sequence?
  • What can reviewers do: approve, reject, send back for revision?
  • Are there thresholds or conditions that change the path?

This map becomes the blueprint for your workflow designer.

Step 2: Define your stages

Each decision point becomes a stage. Stages have a type:

  • Form stage: collects data from the submitter
  • Review stage: presents the data to an approver who takes an action
  • Routing stage: evaluates conditions and branches automatically

For a simple purchase approval, you might have three stages: Submit Request, Manager Review, Finance Confirmation.

Step 3: Configure assignments

For each review stage, specify who is responsible. Good workflow tools support:

  • Specific user: assign to a named person
  • Team queue: assign to a shared team; anyone on the team can claim and complete it
  • Role-based: route to whoever holds a role (e.g., "Department Head")
  • Dynamic: use data from the form to determine the assignee (e.g., route to the submitter's manager)

Dynamic assignments dramatically reduce maintenance as your org changes; you don't need to update the workflow every time someone changes roles.

Step 4: Add conditional routing

Not every request should follow the same path. Conditional routing lets you branch based on:

  • Form field values ("amount > 10,000")
  • Reviewer decisions ("action = rejected")
  • External data ("credit score < 700")

In a workflow designer, you add a condition block (often shown as a diamond shape, like in BPMN diagrams) and define the rules for each path.

Step 5: Set up your forms

The data quality coming into your workflow determines the quality of every downstream decision. Good intake forms:

  • Only ask for what's needed to make the decision
  • Use structured fields (dropdowns, numbers, dates) rather than free text where possible
  • Validate at submission time so reviewers don't have to chase missing info

Step 6: Test with a real scenario

Walk through an actual request end-to-end before rolling out to your team. Check:

  • Does every stage route to the right person?
  • Do your conditions fire correctly?
  • Are email notifications clear?
  • Is there an audit trail showing who did what and when?

Common mistakes to avoid

Designing for the happy path only. What happens when someone rejects? What if a reviewer is out of office? Design for the exceptions too.

Too many stages. Every stage adds friction. Only add a review step if that review genuinely changes outcomes.

Vague assignments. "Manager approves" is not a workflow. Who is the manager? Do they get notified? What happens if they don't respond in 48 hours?

No visibility for the submitter. People want to know where their request stands. Make status visible without requiring them to chase approvers.

What good looks like

A well-designed approval workflow does three things well:

  • Clarity: every participant knows exactly what they need to do and when
  • Traceability: every decision is logged with a timestamp and actor
  • Adaptability: conditions and assignments can be updated without rebuilding from scratch

When you get these right, approval processes that used to take days compress to hours, not because people are working faster, but because the work is never stuck waiting in someone's inbox.

Ready to build your first app?

stepbase gives you a visual designer, conditional routing, and a full audit trail. No code required.