Creating Your First Flag
Learn how to create and configure feature flags in the Flagpool dashboard
This guide walks you through creating a feature flag in the Flagpool dashboard.
Accessing the Dashboard
- Log in to app.flagpool.io
- Select your project (or create a new one)
- Navigate to Flags in the sidebar
Creating a New Flag
Step 1: Click "New Flag"
Click the New Flag button in the top right corner of the Flags page.
Step 2: Configure Basic Settings
| Field | Description | Example |
|---|---|---|
| Key | Unique identifier used in code | new-checkout-flow |
| Name | Human-readable name | New Checkout Flow |
| Description | Optional description | Enables the redesigned checkout experience |
| Type | Flag value type | Boolean, String, Number, JSON |
Flag keys should be lowercase with hyphens. They cannot be changed after creation.
Step 3: Set the Flag Type
Choose the appropriate type for your flag:
- Boolean — simple on/off flags (most common)
- String — for A/B tests with string variations
- Number — for numeric configurations
- JSON — for complex configurations
Step 4: Configure Default Values
Set the default value that will be returned when the flag is:
- Off — returned when the flag is disabled
- On — returned when the flag is enabled and no targeting rules match
For boolean flags:
- Off value:
false - On value:
true
Flag States
Each flag has an enabled/disabled toggle per environment:
| State | Behavior |
|---|---|
| Disabled | Always returns the "off" value |
| Enabled | Evaluates targeting rules, returns "on" value if rules match |
Environment-Specific Configuration
Flags can be configured differently per environment:
- Select an environment tab (Development, Staging, Production)
- Toggle the flag on/off for that environment
- Configure environment-specific targeting rules
Changes in one environment don't affect other environments. Always test in Development or Staging before Production.
Organizing Flags with Tags
Add tags to organize and filter flags:
- Click Add Tag when creating or editing a flag
- Enter tag names (e.g.,
checkout,experiment,mobile) - Use tags to filter flags in the dashboard
Best Practices
Naming Conventions
✓ new-checkout-flow
✓ enable-dark-mode
✓ max-upload-size
✓ experiment-pricing-v2
✗ newCheckoutFlow (avoid camelCase)
✗ flag1 (not descriptive)
✗ test (too generic)
Grouping with Underscores
Use an underscore (_) in your flag key to automatically group flags in the dashboard. The text before the underscore becomes the group name, and flags within the same group are displayed together in a collapsible directory structure.
backend_new-checkout-flow
backend_enable-rate-limiting
frontend_dark-mode
frontend_redesigned-nav
experiment_pricing-v2
Groups are filterable in the dashboard, making it easy to manage large projects with many flags across different domains. This is especially useful for separating concerns — for example, grouping flags by team (payments_, growth_), by layer (api_, ui_), or by purpose (experiment_, ops_).
Flag Lifecycle
- Create the flag before deploying code that uses it
- Test in Development environment
- Validate in Staging with real-world conditions
- Roll out gradually in Production
- Clean up by removing flag code once fully deployed
Next Steps
- Using Flags in Code — implement flags in your application
- SDK Reference — explore all SDK capabilities