Building Workflows Without Code: A Visual Guide to Muin Automation
Create powerful business automations using Muin's visual workflow builder—no coding required. Approvals, notifications, and multi-step processes.
The best automation isn’t the most sophisticated—it’s the one people actually use and understand.
Think of a workflow like a recipe. You have ingredients (triggers), cooking instructions (actions), and decision points (“if it looks done, take it out”). The visual builder just makes that recipe visible and editable by anyone, not just developers.
This matters because the no-code movement is accelerating fast. Industry analysts project that low-code and no-code technologies will power a growing majority of new enterprise applications, and knowledge workers widely report that automation improves their job quality and productivity. The tools are ready; the question is whether you’re using them.

Understanding Workflow Concepts
Before building, let’s understand the three building blocks. The diagram below shows how these elements connect:
Triggers
What starts the workflow?
A trigger is the event that kicks off your automation. Something happens, and the workflow begins.
| Trigger Type | Example |
|---|---|
| Document | New invoice uploaded |
| Time | Every Monday at 9 AM |
| Threshold | Expense exceeds $1,000 |
| Status | Approval completed |
| Manual | User clicks “Run” |
Conditions
What decisions need to be made?
Conditions are the “if this, then that” decision points that route work down different paths.
| Condition | Then |
|---|---|
| Amount over $5,000 | Route to Director |
| Amount $5,000 or less | Route to Manager |
| Vendor is Preferred | Auto-approve |
| Document type is Contract | Send to Legal |
Actions
What should happen?
Actions are the tasks that execute when conditions are met.
| Action | What It Does |
|---|---|
| Send Notification | Email, SMS, or in-app alert |
| Create Task | Assign work to someone |
| Update Record | Change status, add data |
| Route for Approval | Send to approval queue |
| Call API | Connect to external system |
| Run Agent | Trigger an AI agent |
Available Triggers
Muin supports a wide range of trigger types:
Document Triggers
New Document Uploaded
- Fires when any document is uploaded
- Filter by document type (invoice, contract, receipt)
- Filter by uploader or department
- Filter by module destination
Document Updated
- Fires when document metadata changes
- Filter by field changed
- Track status changes
Document Deleted
- Fires when document is removed
- Useful for audit logging
Time Triggers
Scheduled
- Run at specific times (daily, weekly, monthly)
- Support for complex schedules
- Time zone aware
Date Approaching
- Fire X days before a date
- Perfect for expirations, deadlines, renewals
Date Reached
- Fire on a specific date
- Contract end dates, payment due dates
Threshold Triggers
Amount Exceeds
- Invoice amount over limit
- Expense over budget
- Vendor spend exceeds threshold
Count Reaches
- Number of items hits target
- Failed attempts threshold
- Queue size limit
Status Triggers
Status Changed
- Item moves to new status
- Approval completed
- Task finished
Approval Event
- Approved, rejected, or escalated
- Can trigger follow-up workflows
Manual Triggers
User Initiated
- Click a button in the UI
- Call from the API
- Useful for on-demand processing
Available Actions
Here’s what your workflows can do:
Communication Actions
Send Email
- To specific people or dynamic recipients
- Use templates with merge fields
- Include attachments
- Track opens and clicks
Send Notification
- In-app notifications
- Mobile push notifications
- Slack messages
Create Comment
- Add notes to records
- Tag team members
- Document decisions
Work Assignment
Create Task
- Assign to specific person or role
- Set due date
- Include context and links
- Auto-assign based on rules
Route for Approval
- Send to approval queue
- Support multiple approvers
- Set escalation rules
Assign Ownership
- Change record owner
- Transfer responsibility
Human-in-the-Loop Tasks
Not every step should run on autopilot. A workflow can assign a task to a person and pause until they complete it before moving on — the automation waits, it does not barrel past a decision that needs human judgment.
- Assign to a person or a role — send the task to a named user, or to whoever holds a role like “approver,” and let the first available person pick it up.
- Escalate if it stalls — reassign or escalate to a manager, a role, or a specific user when a task sits too long, with the escalation recorded in history.
- Resume automatically — the moment the person marks the task done, the workflow continues on its own.
This is what lets a single workflow blend automation with judgment: Muin does the fetching, routing, and drafting; a person makes the call; the workflow picks back up without anyone restarting it.
Data Operations
Update Record
- Change field values
- Update status
- Add tags/categories
Create Record
- Create new documents
- Generate reports
- Add entries
Link Records
- Connect related items
- Create relationships
Integration Actions
Call External API
- POST/GET to external services
- Pass data dynamically
- Handle responses
Sync to Integration
- Push to QuickBooks, etc.
- Update external records
- Trigger external workflows
AI Actions
Run Agent
- Trigger any Muin agent
- Pass context
- Handle agent results
Generate Summary
- AI-generated text
- Combine multiple data sources
Timing: Event-Driven Triggers vs. Time-Driven Schedules
Every automation runs on one of two clocks. Some things should happen the instant an event occurs (a customer submits a form—respond now). Others should happen on a cadence (check for expiring certificates every morning at 6). Knowing which is which is half of good automation design.
Event-driven (triggers) fire immediately when something happens—an invoice is uploaded, an approval is submitted, a threshold is crossed. Best for real-time responses, user-initiated processes, and exception handling. These are the triggers listed above.
Time-driven (schedules) run at predetermined times regardless of other events—every Monday at 8 AM, the first of the month, daily at 6 AM. Best for periodic tasks, batch processing, and recurring reports.
Schedule Frequencies
Schedules run on any cadence:
| Frequency | Typical uses |
|---|---|
| Minutely | Check integration sync status, process a pending queue, refresh dashboards |
| Hourly | Catch stale approvals, sync external data, generate activity summaries |
| Daily | Operations report at 6 AM, pending-task reminder at 8 AM, end-of-day summary, overnight maintenance |
| Weekly | Monday summary, mid-week check-in, Friday weekend handoff |
| Monthly | Generate invoices on the 1st, payment reminders on the 5th, month-end close on the last day |
| Custom | Every other Tuesday, first and third Monday, quarterly dates, annual milestones |
Schedule Options
When you create a schedule, you control:
- Time zone — Schedules respect your organization time zone (Settings → Organization), with per-schedule overrides and user-local delivery for reports. Use your primary business location’s zone for consistency.
- Skip holidays — Optionally skip company or federal holidays.
- Retry on failure — Retry after a delay, up to a set number of attempts, with an admin alert on final failure.
Combining Triggers and Schedules
The most resilient automations use both—triggers for immediate action, schedules to make sure nothing gets stuck:
WHEN invoice uploaded → immediately extract data and route for approval (trigger)
EVERY day at 5 PM → remind on invoices pending approval > 24 hours (schedule)
Invoices process the instant they arrive, and the daily sweep guarantees none sit forgotten. The same pattern applies to compliance (per-certificate expiration alerts plus a weekly status report) and vendor risk (real-time alerts on a score drop plus a monthly portfolio recalculation).
Monitoring Scheduled and Triggered Runs
Both triggers and schedules keep an execution history—start time, duration, status, items processed, and any errors—under Schedules → History and Triggers → Activity. When something looks off:
- Schedule didn’t run — confirm it’s active (not paused), and check the time zone and holiday-skip settings.
- Trigger didn’t fire — verify the conditions match the event and the source integration is connected.
- Running too often — look for duplicate triggers or cascading triggers (trigger A causing trigger B).
Configure alerts for consecutive schedule failures, trigger backlogs (items piling up past a threshold), and executions that run far longer than normal.
Building Your First Workflow
Let’s build a practical workflow step by step. You can always draw it out on the canvas, but if you’d rather start from a sentence, Muin also includes a natural-language generator: describe the automation you want in plain language and it drafts the trigger, conditions, and actions for you to review and adjust — the same describe-it-and-refine approach Smart Forms uses for form building.
Scenario: When a new invoice is uploaded, extract data, route for approval based on amount, and sync to accounting software.
Step 1: Create New Workflow
Here’s what the workflow interface looks like in Muin:

- Navigate to Workflows in the left menu
- Click Create New Workflow
- Name it: “Invoice Processing Workflow”
- Add description: “Process invoices from upload to accounting”
Step 2: Add the Trigger
- Click Add Trigger
- Select Document Uploaded
- Configure:
- Document Type: Invoice
- Module: Finance
- Click Save
Your workflow will now start whenever an invoice is uploaded.
Step 3: Add AI Processing
- Click + Add Step after the trigger
- Select Run Agent
- Choose Invoice Extraction Agent
- This extracts vendor, amount, date, line items
Step 4: Add Conditional Routing
Now we’ll branch based on invoice amount:
-
Click + Add Step
-
Select Condition
-
Configure the first branch:
- If: Invoice Amount under $500
- Label: “Auto-Approve”
-
Click Add Branch
-
Configure second branch:
- If: Invoice Amount $500+ AND Invoice Amount under $5,000
- Label: “Manager Approval”
-
Click Add Branch
-
Configure third branch:
- If: Invoice Amount $5,000+
- Label: “Director Approval”
Step 5: Add Actions for Each Branch
Auto-Approve Branch:
- Add action: Update Record
- Set Status: “Approved”
- Add action: Send Notification
- To: Finance Team
- Message: “Invoice auto-approved: [vendor] - $[amount]”
Manager Approval Branch:
- Add action: Route for Approval
- To: Department Manager
- Deadline: 2 business days
- Add action: Send Email
- To: Requester
- Subject: “Invoice submitted for approval”
Director Approval Branch:
- Add action: Route for Approval
- To: Finance Director
- Deadline: 3 business days
- Add action: Send Email
- To: Requester AND Manager
- Subject: “High-value invoice requires director approval”
Step 6: Add Post-Approval Action
After any approval path completes:
- Click + Add Step (after all branches converge)
- Add condition: If Status = Approved
- Add action: Sync to Integration
- Integration: QuickBooks
- Action: Create Bill
Step 7: Test Your Workflow
- Click Test Workflow button
- Select a sample invoice from your documents
- Watch the workflow execute step by step
- Review each decision point
- Verify notifications were sent (to test recipients)
- Check the audit log
Step 8: Activate
- Review the workflow diagram
- Click Activate
- Your workflow is now live!
Workflow Templates
Don’t start from scratch. Muin includes templates for common processes:
Invoice Approval Template
- Amount-based routing
- Multi-tier approval
- Auto-approve for trusted vendors
- Accounting sync
Document Review Template
- Assign reviewer
- Set SLA deadline
- Escalation on delay
- Completion notification
Certification Renewal Template
- Date-based triggers (90/60/30 days)
- Multi-tier notifications
- Escalation path
- Compliance tracking
Vendor Onboarding Template
- Multi-stage process
- Document checklist
- Verification steps
- Approval gates
- Activation workflow
Expense Approval Template
- Policy checking
- Amount-based routing
- Receipt validation
- Reimbursement tracking
Testing and Debugging
Before going live, thoroughly test your workflows:
Test Mode
Run workflows in test mode to:
- See step-by-step execution
- Verify conditions evaluate correctly
- Check notification content
- Confirm data updates
Enable Test Mode:
- Click Test Workflow
- Select test data
- Watch execution in real-time
- Review each step result
Execution Logs
After workflows run, review logs:
- Timestamp for each step
- Decision paths taken
- Actions completed
- Errors encountered
Access Logs:
- Go to workflow
- Click Run History
- Select specific run
- Expand steps for detail
Error Handling
Workflows can fail. Handle gracefully:
Retry Policy
- Automatic retry on failure
- Configure retry count and delay
- Final failure notification
Error Actions
- Add “On Error” actions
- Notify admin of failures
- Log error details
- Skip or abort options
Advanced: Conditional Logic
For complex scenarios, use advanced conditions:
If/Then Branching
Multiple conditions can be combined:
- IF Amount > $1000 AND Vendor = “Preferred”
- IF Status = “Urgent” OR Days Until Due < 3
Parallel Paths
Steps can fan out and run simultaneously, then merge back together:
- Send notification AND create task at the same time (parallel branches)
- Wait for all, any, or a quorum of the branches to finish before continuing
- Continue to the next step once the join condition is met
Nested Conditions
Conditions within conditions — branch, then branch again:
- IF Amount > $1000
- IF Vendor is Preferred → Auto-approve
- IF Vendor is New → Require review
- IF Amount $1000 or less → Standard process
Each condition can also combine AND / OR / NOT rules, so a single branch can express as much logic as you need.
Loop Actions (Coming Soon)
Process multiple items:
- FOR each line item in invoice
- Check against budget
- Flag if over category limit
- Continue when all items checked
Best Practices
Start Simple
Your first workflow should be:
- Single trigger
- 2-3 actions
- No complex branching
Add complexity once the basics work.
Use Descriptive Names
- Workflow: “Invoice Approval - Standard”
- Steps: “Route to Manager” not “Step 3”
- Branches: “High Value Path” not “Branch A”
Include Error Handling
Always consider:
- What if the document is malformed?
- What if the approver is on vacation?
- What if the external API is down?
Document Your Workflows
Add descriptions to:
- Overall workflow purpose
- Each major branch
- Complex conditions
- Integration points
Monitor and Iterate
After deployment:
- Review execution logs weekly
- Track failure rates
- Gather user feedback
- Optimize based on data
Get Started
If you want to try this, join the private beta and build something small first. The invoice approval workflow is a good starting point—it’s practical, you’ll see results immediately, and you can expand from there.
The best workflows evolve. Start with something that works, then make it better based on what you learn. That’s how good systems get built.
Related Reading
- Muin Agents Explained: What They Do and How They Work — The AI agents you can trigger from workflow steps
- Muin for Finance: AI-Powered Financial Operations — Invoice approval workflows and AP automation
- Muin for Vendors: Complete Vendor Management for SMBs — Vendor onboarding, risk scoring, and compliance workflows in one module
- Muin for Compliance: Regulatory Intelligence — Compliance workflows with automated deadline tracking
- Introducing Muin: AI-Powered Business Operations for SMBs — The platform overview and where workflows fit
- Building Workflows — Step-by-step documentation for the visual workflow builder
Part of our Platform Features Series. Next up: Agents vs. Workflows: When to Use Each