Learn how to effectively manage your EdgeFlow workflows - from creation to deployment, organization, and maintenance.
Creating Flows
Method 1: New Flow Button
- Navigate to the Workflows page
- Click the + New Flow button
- Enter a name for your flow
- Click Create to open the Flow Editor
Method 2: Import Existing Flow
- Navigate to the Workflows page
- Click the Import button
- Select a JSON flow file or paste JSON content
- Click Import
Flow Lifecycle
Flow States
| State | Description | Actions Available |
|---|---|---|
| Idle | Flow is saved but has never been deployed | Edit, Deploy, Delete |
| Running | Flow is actively executing | Stop, Edit*, View Logs |
| Stopped | Flow was running but is now stopped | Start, Edit, Delete |
| Error | Flow encountered an error | View Error, Edit, Restart |
*Editing a running flow requires redeployment for changes to take effect.
Deploying Flows
Deploying pushes your flow changes to the runtime engine. Until you deploy, changes only exist in the editor.
Deploy Options
Auto-Save vs Deploy
Starting and Stopping Flows
Start a Flow
- Click the โถ Play button on the flow card
- Or open the flow and click Start in the toolbar
- Or use the API:
POST /api/v1/flows/:id/start
Stop a Flow
- Click the โ Stop button on the flow card
- Or open the flow and click Stop in the toolbar
- Or use the API:
POST /api/v1/flows/:id/stop
Organizing Flows
Naming Conventions
Use descriptive names that indicate the flow's purpose:
- Kitchen Temperature Monitor
- MQTT Sensor Data Logger
- Daily Backup at Midnight
- GPIO LED Controller
- Flow 1
- test
- New Flow (2)
- asdf
Flow Descriptions
Add descriptions to document what your flow does. Open flow settings and fill in the Description field. This appears in the workflow list and helps others understand the purpose.
Export and Import
Exporting Flows
- From the Workflows page, click the โฎ menu on a flow
- Select Export
- Save the JSON file
Or in the editor: Ctrl+E
Import Flow JSON
{
"name": "Temperature Alert",
"description": "Alerts when temperature exceeds threshold",
"nodes": {
"inject-1": {
"id": "inject-1",
"type": "inject",
"name": "Every 30s",
"config": { "repeat": "30" },
"position": [100, 100]
},
"function-1": {
"id": "function-1",
"type": "function",
"name": "Check Temp",
"config": { ... },
"position": [300, 100]
}
},
"connections": [
{ "source": "inject-1", "target": "function-1" }
]
} Duplicating Flows
Create a copy of an existing flow as a starting point for a new automation:
- Click the โฎ menu on the flow card
- Select Duplicate
- Enter a new name for the copy
- Click Create
Deleting Flows
- Stop the flow if it's running
- Click the โฎ menu on the flow card
- Select Delete
- Confirm the deletion
Best Practices
๐ Document Your Flows
Add descriptions and use comment nodes to explain complex logic.
๐พ Export Backups
Regularly export important flows as JSON backups.
๐งช Test Before Deploy
Use inject and debug nodes to test flow logic before running in production.
๐ Version Control
Store exported flow JSON in git for version history.
๐ Monitor Executions
Check execution logs regularly to catch issues early.
๐งน Clean Up
Delete old test flows and unused drafts to keep the list manageable.