Skip to content

Organizing Projects

Projects help you organize related flows within your workspace. This guide covers project management and best practices.

What is a Project?

A project is a container for related flows:

┌─────────────────────────────────────────────────────────────────────┐
│ Workspace: My Organization                                          │
├─────────────────────────────────────────────────────────────────────┤
│ 📁 Project: E-commerce Platform                                    │
│ │   ├── 📊 Flow: Order Processing                                  │
│ │   ├── 📊 Flow: Inventory Sync                                    │
│ │   └── 📊 Flow: Customer Notifications                            │
│ │                                                                   │
│ 📁 Project: Marketing Automation                                   │
│ │   ├── 📊 Flow: Email Campaigns                                   │
│ │   └── 📊 Flow: Analytics Pipeline                                │
│ │                                                                   │
│ 📁 Project: Internal Tools                                         │
│     └── 📊 Flow: Slack Bot                                         │
└─────────────────────────────────────────────────────────────────────┘

Creating Projects

New Project

  1. Navigate to your workspace
  2. Click New Project
  3. Enter project details:
┌─────────────────────────────────────────────────────────────────────┐
│ Create New Project                                                  │
├─────────────────────────────────────────────────────────────────────┤
│ Name: E-commerce Platform                                          │
│                                                                     │
│ Description:                                                       │
│ ┌─────────────────────────────────────────────────────────────────┐│
│ │ All flows related to our e-commerce operations                 ││
│ └─────────────────────────────────────────────────────────────────┘│
│                                                                     │
│ Target Cluster: [production-gke ▼]                                 │
│                                                                     │
│ Tags: [ecommerce] [production]                                     │
│                                                                     │
│                                         [Cancel] [Create]           │
└─────────────────────────────────────────────────────────────────────┘
  1. Click Create

Project Settings

Configure project properties:

SettingDescription
NameDisplay name
DescriptionPurpose and notes
ClusterDefault deployment target
TagsOrganization labels
AccessPermission settings

Project Dashboard

Each project has a dashboard showing:

┌─────────────────────────────────────────────────────────────────────┐
│ E-commerce Platform                                [Settings] [+]   │
├─────────────────────────────────────────────────────────────────────┤
│ Flows (3)                                                          │
│ ┌──────────────────┬──────────────┬────────────┬─────────────────┐ │
│ │ Name             │ Status       │ Last Run   │ Actions         │ │
│ ├──────────────────┼──────────────┼────────────┼─────────────────┤ │
│ │ Order Processing │ 🟢 Deployed  │ 2 min ago  │ [Edit] [...]    │ │
│ │ Inventory Sync   │ 🟢 Deployed  │ 5 min ago  │ [Edit] [...]    │ │
│ │ Notifications    │ 🟡 Draft     │ Never      │ [Edit] [...]    │ │
│ └──────────────────┴──────────────┴────────────┴─────────────────┘ │
│                                                                     │
│ Quick Stats                                                        │
│ ├── Total Flows: 3                                                 │
│ ├── Deployed: 2                                                    │
│ ├── Executions Today: 1,234                                        │
│ └── Errors Today: 2                                                │
└─────────────────────────────────────────────────────────────────────┘

Organizing Flows

Naming Conventions

Use clear, descriptive names:

✅ Good names:
- "Process Customer Orders"
- "Sync Inventory to Warehouse"
- "Send Order Confirmation Email"
- "Handle Stripe Webhooks"

❌ Poor names:
- "Flow 1"
- "Test"
- "New Flow"

Using Tags

Tag flows for easy filtering:

TagPurpose
productionProduction flows
stagingStaging/test flows
scheduledTimer-triggered
webhookHTTP-triggered
criticalHigh-priority

Flow Categories

Organize by function:

📁 E-commerce Platform
├── 🏷️ Orders
│   ├── Process Orders
│   ├── Refund Orders
│   └── Order Reports
├── 🏷️ Inventory
│   ├── Stock Updates
│   └── Low Stock Alerts
└── 🏷️ Customers
    ├── Welcome Email
    └── Order Confirmation

Project Structure Patterns

By Domain

Organize by business domain:

📁 Orders Project
📁 Payments Project
📁 Shipping Project
📁 Customer Service Project

By Environment

Separate by deployment stage:

📁 Production Flows
📁 Staging Flows
📁 Development Flows

By Team

Organize by ownership:

📁 Backend Team
📁 Data Team
📁 Marketing Team

Hybrid Approach

Combine patterns:

📁 Orders (Production)
📁 Orders (Staging)
📁 Payments (Production)
📁 Payments (Staging)

Managing Flows

Moving Flows

Move flows between projects:

  1. Open the flow
  2. Click Settings
  3. Select Move to Project
  4. Choose target project
  5. Confirm

Duplicating Flows

Copy flows:

  1. Right-click the flow
  2. Select Duplicate
  3. Choose:
    • Same project
    • Different project
  4. Rename the copy

Archiving Flows

Archive unused flows:

  1. Select the flow
  2. Click Archive
  3. Flow moves to archive

Archived flows:

  • Don't run
  • Don't count against limits
  • Can be restored

Project-Level Configuration

Default Cluster

Set default deployment target:

  1. Project Settings
  2. Select Default Cluster
  3. New flows deploy here by default

Environment Variables

Project-wide environment settings:

yaml
variables:
  API_BASE_URL: "https://api.example.com"
  LOG_LEVEL: "info"
  ENVIRONMENT: "production"

Available in all project flows via expressions.

Shared Secrets

Project-level secret management:

  1. Project Settings > Secrets
  2. Add secrets:
    • API keys
    • Database passwords
    • Service credentials
  3. Reference in flows

Collaboration

Project Access

Control who can access:

RolePermissions
OwnerFull control
EditorCreate, edit, deploy
ViewerView only

Activity Log

Track project changes:

┌─────────────────────────────────────────────────────────────────────┐
│ Activity Log                                                        │
├─────────────────────────────────────────────────────────────────────┤
│ 📝 Alice edited "Order Processing"              Today, 10:30 AM    │
│ 🚀 Bob deployed "Inventory Sync"                Today, 9:15 AM     │
│ ➕ Alice created "Notifications"                Yesterday          │
│ ⚙️ Bob updated project settings                 2 days ago         │
└─────────────────────────────────────────────────────────────────────┘

Best Practices

1. Keep Projects Focused

One domain or purpose per project:

✅ "Order Management" - all order-related flows
❌ "Everything" - mixed unrelated flows

2. Document Projects

Add descriptions:

  • What the project does
  • Key flows and their purposes
  • Dependencies
  • Contacts

3. Use Consistent Naming

Establish naming conventions:

[Domain] - [Action] - [Trigger]

Examples:
- Orders - Process - Webhook
- Inventory - Sync - Scheduled
- Customers - Notify - Event

4. Regular Cleanup

Periodically review:

  • Archive unused flows
  • Remove obsolete projects
  • Update documentation

5. Environment Separation

Keep environments separate:

  • Production project
  • Staging project
  • Development project

Next Steps

Build flow-based applications on Kubernetes