Overview
Create a new workflow application in Dify from scratch, configure start node, and set up basic workflow structure.
Access Studio
- Navigate to Dify instance (e.g.,
http://{DIFY_HOST}/apps) - You should see the Studio page with your existing apps
Create New App
UI Elements
- button "Create from Blank" - Start empty app
- button "Create from Template" - Use pre-built template
- button "Import DSL file" - Import workflow definition
Steps
- Click "Create from Blank"
- Dialog appears: "Choose an App Type"
App Types
| Type | Description | Use Case |
|---|---|---|
| Workflow | One-shot execution, API-callable | Data processing, automation |
| Chatflow | Multi-turn conversation with memory | Chatbots, interactive assistants |
| Chatbot | Simple chat interface | Basic Q&A |
| Agent | Autonomous tool-using agent | Complex reasoning tasks |
| Completion | Text completion | Simple generation |
- Click "Workflow" or "Chatflow" based on your needs
- Enter "App Name & Icon":
- input "Give your app a name" - Required
- input "Enter the description of the app" - Optional
- Emoji icon selector (default: robot emoji)
- Click "Create" button
Select Start Node
After creation, dialog appears: "Select a start node to begin"
Start Node Options
-
User Input (original start node)
- Allows setting user input variables
- Supports: web app, service API, MCP server, workflow as tool
- Best for: API integration, web interface
-
Trigger
- Scheduled tasks
- Custom webhooks
- Integrations with other apps
- Best for: Automation, scheduled jobs
Click the appropriate start node option.
Workflow Editor
After selecting start node, editor opens with:
- Canvas area for building workflow
- Top bar: App name, tabs (Orchestrate, API Access, Logs, Monitoring)
- Right panel: Node configuration
- Bottom bar: Auto-save status, "Test Run" button, "Publish" button
Editor Tabs
- Orchestrate - Visual workflow editor (default)
- API Access - Get API keys and endpoints
- Logs - View execution history
- Monitoring - Performance metrics
Adding Nodes
Right-click on canvas or drag from node palette to add:
- LLM nodes (GPT, Claude, Gemini, etc.)
- Code execution nodes
- HTTP request nodes
- Conditional branches
- Iteration nodes
Publish Workflow
- Configure all nodes
- Click "Test Run" (shortcut: ⌥R) to verify
- Click "Publish" button to deploy
- Status changes from "Unpublished" to "Published X ago"
Get API Access
- Click "API Access" tab
- Find "API Key" section
- Click "Create" to generate new key (format:
app-xxxxxxxx) - Copy the API endpoint URL
- Use in your application:
curl -X POST '{DIFY_HOST}/v1/workflows/run' \
-H 'Authorization: Bearer {API_KEY}' \
-H 'Content-Type: application/json' \
-d '{"inputs": {"query": "Hello"}, "response_mode": "blocking", "user": "user-id"}'
Tips
- Workflow apps execute once per API call (stateless)
- Chatflow apps maintain conversation context
- Use "Test Run" frequently during development
- Check "Logs" tab for debugging failed executions
- Published workflows can be updated without changing API endpoint