Download:

Setup Guide

Complete the 10-step Setup Wizard after installing FlowSquad — covering every field, every pre-requisite, and every configuration option from SSL/TLS to license activation.

ℹ️
This guide follows installation
You must have FlowSquad installed and running before starting this guide. If you have not yet installed FlowSquad, start with the Installation Guide. Once the application starts and you open it in a browser for the first time, the Setup Wizard launches automatically.

Before You Begin

Gather the following credentials and settings before starting the wizard. Having everything ready avoids partial completions and reduces the chance of needing to re-run individual steps.

Required ForWhat to Have ReadyWhere to Get It
Step 1 — Infrastructure & DatabaseSSL/TLS certificate + private key paths (if using direct HTTPS). PostgreSQL or MySQL hostname, port, database name, username, passwordYour CA-issued certificate files; your DBA or cloud database service console
Step 2 — Vector DBChromaDB (nothing needed — runs locally)Nothing required — ChromaDB is bundled
Step 3 — LLM ProviderAPI key for at least one provider: OpenAI, Anthropic, GitHub Models, or Ollama URLplatform.openai.com / console.anthropic.com / github.com/marketplace?type=models
Step 4 — AuthenticationLDAP: server URL, bind DN, bind password, user search base. SAML: IdP SSO URL, Entity ID, X.509 certificate. OAuth2: Client ID + Secret from provider's developer consoleYour IT / identity team; IdP admin console
Step 5 — Source ControlPersonal access token or App Password for your Git provider (GitHub, GitLab, Bitbucket Cloud, Bitbucket Server, Azure DevOps, or Gitea)github.com/settings/tokens • GitLab: User Settings → Access Tokens • Bitbucket: Personal Settings → App passwords
Step 6 — CollaborationJira: URL + email + API token. Confluence: URL + email + API tokenid.atlassian.com -> API tokens
Step 7 — Admin UsersFull name, email, and temporary password for each initial adminDecide before starting
Step 8 — License.lic license fileProvided by your FlowSquad account manager or partner portal
Step 9 — System SettingsSMTP hostname, port, credentials (required for MFA email OTP and password resets)Your email provider or IT team; audit retention period decision
⚠️
Only Global Admins can run the wizard
The Setup Wizard opens automatically on first launch and can be re-opened at any time via the ⚙️ Setup button in the top navigation bar (visible to admins only). Only the initial administrator (created in Step 7) or a subsequent Global Admin can access it. Changes made in the wizard take effect immediately.

Step 1 — Infrastructure & Database

Step 1 covers two independent sub-sections: SSL/TLS Configuration and Database Configuration. Both can be configured in either order.

SSL/TLS Configuration (Optional — Direct HTTPS)

ℹ️
Only needed for direct HTTPS (Model B)
If you are using a reverse proxy (nginx, IIS, or a cloud load balancer) to terminate TLS in front of FlowSquad, you do not configure SSL here — TLS is handled at the proxy layer and FlowSquad runs plain HTTP internally. Configure this section only if FlowSquad must terminate TLS directly (e.g. a standalone Windows server with no reverse proxy). See the Installation Guide — Deployment Models for guidance on choosing the right model.
FieldDescriptionExample
Enable HTTPS/SSLToggle to enable direct TLS termination inside FlowSquad.Check only for Model B deployments
SSL Certificate PathFull path to the PEM-format certificate file (.crt, .pem, or .cer). Must include the full chain (certificate + intermediates)./var/lib/flowsquad/ssl/flowsquad.crt
SSL Private Key PathFull path to the PEM-format private key file (.key or .pem). Must be readable by the FlowSquad process and not readable by other users./var/lib/flowsquad/ssl/flowsquad.key
CA Bundle PathOptional. Full path to the intermediate CA bundle if provided separately by your CA. If the certificate file already includes the full chain, leave this blank./var/lib/flowsquad/ssl/ca-bundle.crt

Click Test SSL Configuration to validate the certificate and key can be loaded, then click Save SSL Configuration. FlowSquad will restart on port 443 after the full wizard completes.

⚠️
Production certificates only
Self-signed certificates must not be used in production. Use a certificate issued by your enterprise CA or a publicly trusted CA (Let's Encrypt, DigiCert, etc.). Self-signed certificates may be used for local development only.

Database Configuration

FlowSquad requires an external PostgreSQL or MySQL database to store all product data, requirements, artifacts, and users. A small SQLite configuration database (flowsquad_engine.db) is created automatically alongside the application — you do not configure this here.

Pre-requisites

Creating the Database User (PostgreSQL — recommended)

sudo -u postgres psql

CREATE DATABASE flowsquad;
CREATE USER flowsquad_app WITH PASSWORD 'replace-with-strong-password';
GRANT CONNECT ON DATABASE flowsquad TO flowsquad_app;
\c flowsquad
GRANT USAGE, CREATE ON SCHEMA public TO flowsquad_app;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO flowsquad_app;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO flowsquad_app;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO flowsquad_app;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON SEQUENCES TO flowsquad_app;
\q

Creating the Database User (MySQL)

sudo mysql -u root
CREATE DATABASE flowsquad CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'flowsquad_app'@'%' IDENTIFIED BY 'replace-with-strong-password';
GRANT ALL PRIVILEGES ON flowsquad.* TO 'flowsquad_app'@'%';
FLUSH PRIVILEGES;
EXIT;

Fields in the Wizard

FieldDescriptionExample
Database TypeChoose PostgreSQL (recommended for production) or MySQL/MariaDBPostgreSQL
HostHostname or IP of your database server. Use localhost if on the same machine, host.docker.internal if FlowSquad runs in Docker on Mac/Windowsdb.internal.company.com
PortDefault 5432 for PostgreSQL, 3306 for MySQL5432
Database NameThe name of the database you created aboveflowsquad
UsernameThe dedicated application database userflowsquad_app
PasswordThe password for the database user. Stored encrypted in the configuration database.—

Click Test Connection to validate the credentials. FlowSquad applies all required database schema migrations automatically if the connection test passes. Click Save & Continue.

💡
Test Connection must pass before you can proceed
The wizard enforces a successful connection test before allowing you to continue to Step 2. If the test fails, check that the database service is running, the firewall permits the connection, and the credentials are correct.

Step 2 — Vector Database

The vector database stores the semantic embeddings of your codebase and documents. It powers all AI retrieval — Analyze, AskProduct, Quality Score, and Security Scan all query this store.

Options

OptionDescriptionBest For
ChromaDB (default) Runs locally inside FlowSquad with zero additional setup. Persists data to the FlowSquad data directory. All deployments, including air-gapped. The recommended default choice.

Fields — ChromaDB

No fields required. Select ChromaDB (Local) and click Save & Continue.


Step 3 — LLM Provider

FlowSquad requires at least one AI (LLM) provider to generate requirements, epics, stories, designs, and test cases. You must configure the global default here; per-product overrides can be set later from the Admin Panel.

Supported Providers

ProviderModels AvailablePre-requisiteNotes
OpenAIGPT-4o, GPT-4o-mini, GPT-4-turbo, GPT-4, GPT-3.5-turboOpenAI account with billing enabledMost widely used. GPT-4o-mini is recommended for cost-efficiency.
Anthropic ClaudeClaude 3.5 Sonnet, Claude 3 Opus, Claude 3 Sonnet, Claude 3 HaikuAnthropic account with API accessExcellent for long-context reasoning and design generation.
GitHub ModelsGPT-4o, GPT-4o-mini, GPT-4-turboGitHub account with Models marketplace accessFree tier: 15 RPM / 150 RPD. Suitable for low-volume or trial use.
Ollama (Enterprise)Llama 3, Mistral, Code Llama, and any locally pulled modelOllama server running locally or on a reachable hostFully offline — suitable for air-gapped deployments. Enterprise tier only.

Fields — OpenAI

FieldDescription
API KeyStarts with sk-.... Obtain from platform.openai.com -> API keys. Stored encrypted in the configuration database.
Default ModelSelect the model to use for all operations unless overridden per product. GPT-4o-mini is recommended for cost efficiency; GPT-4o for highest quality.

Fields — GitHub Models

FieldDescription
TokenA fine-grained Personal Access Token (starts with github_pat_). Create at github.com/settings/personal-access-tokens/new → under Permissions expand Copilot Request and set to Read-only. No repository access is needed. Classic PATs are not supported by this endpoint.
Text ModelSelect from the models returned after a successful Test Connection (e.g. GPT-4o, GPT-4o-mini, Llama 3.1).
Enrollment requiredYour GitHub account must be enrolled in the GitHub Models marketplace (free). Enterprise-managed user (EMU) accounts cannot access GitHub Models — use a personal GitHub account.

Fields — Anthropic Claude

FieldDescription
API KeyStarts with sk-ant-.... Obtain from console.anthropic.com -> API Keys.
Default ModelClaude 3.5 Sonnet recommended for best quality/cost balance.

Fields — Ollama

FieldDescription
Ollama URLBase URL of your Ollama instance. Default: http://localhost:11434. Must be reachable from the FlowSquad server.
ModelAuto-detected from the Ollama server. Select from the available pulled models.

Click Test Connection to verify the API key is valid and the provider is reachable. Click Save & Continue.


Step 4 — Authentication

Choose how users will sign in to FlowSquad. Multiple authentication methods can be enabled simultaneously — for example, Local Accounts (always on) plus LDAP for corporate users, plus SAML for executive accounts. Each method is independently configured and tested.

Local Accounts (Always Active)

Local authentication is always enabled and cannot be disabled. It provides the initial admin account and is the fallback if SSO is unavailable. Passwords are stored using bcrypt (12 rounds) — never in plain text.

LDAP / Active Directory

Pre-requisites: A dedicated LDAP service account with read-only directory access. The FlowSquad server must be able to reach the LDAP server on port 389 (LDAP) or port 636 (LDAPS).

FieldDescriptionExample
LDAP Server URLFull URL including protocol and port. Use ldaps:// for encrypted connections.ldaps://dc.company.com:636
Bind DNDistinguished Name of the service account used to search the directory.CN=svc-flowsquad,OU=ServiceAccounts,DC=company,DC=com
Bind PasswordPassword for the service account. Stored encrypted.—
User Search BaseThe LDAP subtree to search for user objects. Broader base = more users found.OU=Users,DC=company,DC=com
User Search FilterLDAP filter to locate a specific user. {username} is replaced with the login name at runtime.(sAMAccountName={username})
Username AttributeThe LDAP attribute containing the user's login name.sAMAccountName (Active Directory) / uid (OpenLDAP)
Email AttributeThe attribute containing the user's email address.mail
Group Search BaseRequired for group-to-role mapping. The subtree containing group objects.OU=Groups,DC=company,DC=com
Group Member AttributeAttribute on the user object listing their group memberships.memberOf

Group-to-Role Mapping

Map AD/LDAP groups to FlowSquad roles. Users in the mapped groups automatically receive the corresponding role on every login.

SAML 2.0 SSO

Pre-requisites: You need IdP metadata (SSO URL and X.509 certificate) from your identity provider — Keycloak, Okta, Azure AD, OneLogin, ADFS, Google Workspace, or any standard SAML 2.0 IdP.

There are three fields to fill in. Everything else is auto-generated.

FieldDescriptionWhere to Find
Service Provider Entity IDThe public URL of this FlowSquad server ending in /saml/metadata. Register this exact value as the Client ID in your IdP.You enter this — use the URL users actually access FlowSquad from
IdP SSO URLThe endpoint to which FlowSquad sends SAML authentication requests.IdP metadata — SingleSignOnService Location attribute. For Keycloak: Realm Settings → Keys → Endpoints → SAML 2.0 Identity Provider Metadata
IdP x509 CertificateThe signing certificate from your IdP (base64, no PEM headers). Used to verify SAML assertion signatures.For Keycloak: Realm Settings → Keys → RS256 row → “Certificate” button. Or copy <ds:X509Certificate> value from IdP metadata XML.
Designated Global AdminsOptional. Comma-separated email addresses automatically promoted to Global Admin on first SAML login. Must be email addresses — FlowSquad uses the IdP email attribute as the user identifier.Decide before configuring

The SP fields (SP Entity ID, ACS URL /saml/callback, Single Logout URL /saml/logout) are auto-generated from the Entity ID you enter and displayed as read-only values to copy into your IdP. There is no separate “Attribute Mapping” section — FlowSquad automatically reads the email SAML attribute. For a full Keycloak SAML walkthrough, see the Reference Guide — Keycloak SAML.

OAuth2 Social / Enterprise Login

Pre-requisites: An OAuth2 application registered in your provider's developer console with the correct redirect URI.

The redirect URI to register in each provider's console is:

https://flowsquad.yourcompany.com/oauth2/<provider>/callback

# Examples:
https://flowsquad.yourcompany.com/oauth2/github/callback
https://flowsquad.yourcompany.com/oauth2/google/callback
https://flowsquad.yourcompany.com/oauth2/microsoft/callback
https://flowsquad.yourcompany.com/oauth2/okta/callback
https://flowsquad.yourcompany.com/oauth2/keycloak/callback
https://flowsquad.yourcompany.com/oauth2/custom/callback
ProviderWhere to Create the AppRequired Fields
GitHubSettings → Developer Settings → OAuth Apps → New OAuth AppClient ID, Client Secret
Googleconsole.cloud.google.com → APIs → Credentials → OAuth 2.0 Client IDClient ID, Client Secret
Microsoft (Azure AD)portal.azure.com → App registrations → New registrationApplication (Client) ID, Client Secret
OktaOkta Admin → Applications → Create App Integration → OIDC / OAuth2Client ID, Client Secret
KeycloakKeycloak Admin → Clients → Create client (type: OpenID Connect) → enable Client Authentication → Credentials tabServer URL, Realm, Client ID, Client Secret
Custom ProviderAny standards-compliant OAuth2 / OIDC provider. Supply Authorization URL, Token URL, User Info URL, and scopes.Client ID, Client Secret, endpoint URLs
💡
Test each method before saving
The wizard provides a Test Connection or Test SAML Login button for each authentication method. Always test before clicking Save — a misconfigured auth provider can lock users out.

Multi-Factor Authentication (MFA)

MFA is configured in Setup Wizard Step 4. When enabled, users can enrol MFA from the 🔑 MFA button in the navigation bar. Enforcement policies can make MFA mandatory for all users or admins only.

MFA Methods

MethodDescriptionPre-requisite
TOTP (Authenticator App)Time-based one-time password compatible with Google Authenticator, Microsoft Authenticator, Authy, and any RFC 6238 app. Recommended — works offline.None — no external service required
Email OTPA one-time code sent to the user's registered email address on each login.SMTP configured (Setup Wizard step or Admin Panel → Settings → Email)
SMS OTPA one-time code sent by SMS. Enterprise deployments with an SMS gateway configured.SMS gateway credentials entered in Settings

Enforcement Policies

PolicyEffect
Require MFA for Global AdminsForces all Global Administrator accounts to enrol MFA on next login. Recommended for all production deployments.
Require MFA for All UsersForces every user account to enrol MFA on next login. Enables organisation-wide MFA compliance.
💡
MFA enrolment flow
After MFA is enabled and an enforcement policy is set, users are prompted to enrol on their next login. They can also self-enrol at any time via the navbar 🔑 MFA button → Set up MFA. Backup codes are generated at enrolment time and should be stored securely.

Step 5 — Source Control

Connect FlowSquad to your source control provider to enable direct codebase loading via Git URL in the Analyze tab. This step is optional — you can also load codebases via ZIP file or local path without any configuration here.

Pre-requisites

ProviderToken TypeRequired Scope / PermissionWhere to Create
GitHub Cloud / EnterprisePersonal Access Token (classic or fine-grained)repo (private repos) or public_repogithub.com → Settings → Developer settings → Personal access tokens
GitLab Cloud / Self-hostedPersonal Access Tokenread_repositoryGitLab → User Settings → Access Tokens
Bitbucket CloudApp Password (not account password)Repositories: Readbitbucket.org → Personal Settings → App passwords
Bitbucket Server / Data CenterHTTP Basic or project PATRepository read accessBitbucket Server → Manage account → Personal access tokens
Azure DevOpsPersonal Access TokenCode: Readdev.azure.com → User Settings → Personal access tokens
Gitea / ForgejoAPI TokenRepository read accessGitea → Settings → Applications → Access tokens

Enter the token and click Test Connection. FlowSquad attempts to list repositories accessible to the token to confirm it is valid. Click Save & Continue (or Skip if not configuring source control now).


Step 6 — Collaboration Tools

Connect FlowSquad to Jira and Confluence to enable pushing generated artifacts (Epics, Stories, Tasks, Designs) directly to your project management and documentation tools. Both integrations are optional and can be configured or updated later via Admin Panel -> Settings.

Jira Setup

Pre-requisites: A Jira account (Cloud or Server/Data Center). For Jira Cloud, you need an API token (not your account password). For Jira Server, you use your username and password.

FieldDescriptionExample
Jira TypeSelect Jira Cloud or Jira Server/Data Center. This changes the authentication method used.Jira Cloud
Jira URLThe base URL of your Jira instance.https://yourcompany.atlassian.net
Email / UsernameCloud: your Atlassian email. Server: your Jira username.john.doe@company.com
API Token / PasswordCloud: API token from id.atlassian.com -> API tokens. Server: your Jira password.—
Default Project KeyOptional. The Jira project key where artifacts are pushed by default. Can be overridden per product.ENG

Confluence Setup

Pre-requisites: A Confluence account with create-page permissions in your target space.

FieldDescriptionExample
Confluence URLFor Confluence Cloud, include the /wiki path.https://yourcompany.atlassian.net/wiki
Email / UsernameYour Atlassian email (Cloud) or Confluence username (Server).john.doe@company.com
API Token / PasswordSame API token as Jira if using Atlassian Cloud (the token works for both).—
Default Space KeyOptional. The Confluence space key where design documents are published by default.ENG
⚠️
Save Confluence settings before testing
Always click Save before clicking Test Connection for Confluence. If you test without saving, the Confluence URL may show as blank in the Analyze tab even if testing appeared to succeed.

Step 7 — Create Admin Users

Create the initial administrator account(s). Accounts created here receive the Global Administrator role, which grants unrestricted access to all products, all user management functions, and all system settings.

Fields

FieldDescriptionRequirements
Full NameDisplay name shown in the UI and audit logs.Required
Email AddressUsed for login and system notifications. Must be unique.Required, valid email format
PasswordInitial password for local authentication. The admin should change this on first login.Minimum 12 characters; mix of uppercase, lowercase, numbers, and symbols recommended

You can create multiple admins in this step by clicking + Add Another Admin. At least one admin account is required to proceed.

⚠️
Global Admin accounts are powerful
Limit Global Admin accounts to 2-3 trusted individuals. The system prevents the last remaining Global Admin from being demoted or deleted — this is a safety measure to prevent lockout. Additional admins can be created later from Admin Panel -> User Management.

Step 8 — License Activation

Upload your FlowSquad Enterprise license file (.lic). License validation is performed locally — no internet access is required.

Pre-requisites

Uploading the License

  1. Click Upload License File and select your .lic file.
  2. FlowSquad validates the RSA-4096 signature, expiration date, and machine ID binding.
  3. If valid, license details are displayed: license type, company name, maximum products, and validity period.
  4. Click Activate & Continue.
ℹ️
Need a license?
FlowSquad ships with a bundled evaluation license (1 product, 30 days, full feature access) that activates automatically — no action needed to start evaluating. Contact support@flowsquad.ai to obtain an enterprise license for production use.

Step 9 — System Settings

Step 9 configures system-level services. Both sub-sections are optional but Email (SMTP) is strongly recommended — it is required for MFA email OTP, password reset emails, and audit alert notifications.

Email Server (SMTP)

FieldDescriptionExample
Enable Email ServerToggle to enable outbound email. Must be on for MFA email OTP and password resets to work.Recommended: ON
SMTP HostHostname of your SMTP server.smtp.office365.com, smtp.gmail.com, smtp.sendgrid.net
SMTP Port587 for STARTTLS (recommended), 465 for SSL/TLS, 25 for unauthenticated relay.587
SecuritySTARTTLS (recommended) upgrades the connection after EHLO. SSL/TLS uses implicit TLS from the start. None uses plain-text with auto-upgrade if the server supports it.STARTTLS
SMTP AuthenticationEnable if your SMTP server requires a username and password.ON for most cloud providers
SMTP UsernameYour SMTP account email or username.noreply@company.com
SMTP PasswordSMTP account password or app password. Stored encrypted. For Gmail, generate an App Password at myaccount.google.com → Security.—
From Email AddressThe “From” address shown on all system emails.noreply@company.com
From NameDisplay name on outbound emails.FlowSquad Notifications

Click Send Test Email to verify the SMTP configuration, then click Save Configuration.

Audit Logging

Audit logging is always enabled and cannot be disabled — it is a compliance requirement. You can configure retention and alert behaviour:

FieldDescriptionDefault
Retention Period (Days)How long audit log entries are kept. Minimum 30 days.365 days
Failed Login Alert ThresholdShow a warning in the Admin Panel after N consecutive failed login attempts for the same account.5
Allow CSV ExportPermits Global Admins to download audit logs as a CSV file from Admin Panel → Audit Logs.ON
Alert on Privilege EscalationShow an Admin Panel alert when any user’s role is changed.ON
Alert on User DeletionShow an Admin Panel alert when a user account is deleted.ON
Enable Email AlertsSend email notifications for critical audit events (privilege escalation, account deletion). Requires SMTP to be configured above.OFF (requires SMTP)

Step 10 — Complete Setup

The final step presents a summary of your complete configuration. Review each section:

Configuration Database Security

The configuration database (flowsquad_engine.db) stores API keys, credentials, and license information. All sensitive values are automatically encrypted at the field level before storage — no additional configuration is required. Click Complete Setup to finish.

Click Complete Setup. FlowSquad saves the configuration and applies any final database migrations. You are redirected to the login page.

💡
Wizard can be re-run at any time
Global Admins can re-open the Setup Wizard at any time from the top navigation bar (the ⚙️ Setup button). Changes take effect immediately — no restart is required. This is the correct way to change your database, LLM provider, or integration settings after initial setup.

Post-Setup Checklist

After completing the wizard, verify the following before onboarding users:


Troubleshooting

Database Connection Failed

Symptoms: "Connection refused" or "could not connect to server" when clicking Test Connection in Step 1.

Solutions:

  1. Confirm the database service is running: sudo systemctl status postgresql (Linux) or Get-Service postgresql* (Windows)
  2. Check that listen_addresses in postgresql.conf includes the FlowSquad server's IP (or '*')
  3. Verify the firewall allows the database port from the FlowSquad host: sudo ufw allow 5432/tcp
  4. Test the connection manually: psql -h <host> -U flowsquad_app -d flowsquad

LLM "Invalid API Key" (401)

Symptoms: Test Connection returns authentication error in Step 3.

Solutions:

  1. Verify there are no leading/trailing spaces in the pasted API key
  2. For OpenAI: check billing is active and the key is not restricted to specific IPs at platform.openai.com -> API keys
  3. For Anthropic: confirm the key starts with sk-ant- and was created in the correct workspace
  4. Generate a new key from the provider's console and re-enter it

LDAP "Invalid Credentials" (Correct Password)

Symptoms: Test Connection fails with "LDAP bind failed" even though the service account password is correct.

Solutions:

  1. Verify the Bind DN format exactly — use ldapsearch to confirm: ldapsearch -H ldap://ad.company.com -D "CN=svc-flowsquad,OU=ServiceAccounts,DC=company,DC=com" -W -b "DC=company,DC=com" "(sAMAccountName=svc-flowsquad)"
  2. Check the service account password has not expired in Active Directory
  3. If using LDAPS (port 636), ensure the server's certificate is trusted: import the CA certificate to the FlowSquad server's trust store
  4. Broaden the User Search Base to DC=company,DC=com to cover users across all OUs

SAML "Invalid SAML Response"

Symptoms: User authenticates at IdP but FlowSquad shows "Invalid SAML response" or "Signature validation failed".

Solutions:

  1. Verify the SP Entity ID in your IdP matches the auto-filled value in FlowSquad exactly, including port number: https://flowsquad.company.com:5000/saml/metadata
  2. Download the SP certificate from FlowSquad (Step 4 -> SAML -> "Generate SP Certificate" -> Download) and import it into your IdP
  3. Confirm both "Sign Assertions" and "Sign Document" are enabled in your IdP
  4. Check that the Email Attribute name in FlowSquad matches the attribute name your IdP sends

License "Validation Failed — Machine ID Mismatch"

Symptoms: License upload fails with machine ID or cluster ID mismatch error in Step 8.

Solutions:

  1. For Docker: verify FLOWSQUAD_CLUSTER_ID environment variable in docker-compose.yml matches the ID provided when the license was issued
  2. For Linux: check /etc/machine-id is correctly mounted into the container: - /etc/machine-id:/etc/host-machine-id:ro
  3. For Kubernetes: confirm the flowsquad-machine secret contains the correct cluster ID
  4. Contact support@flowsquad.ai with your deployment type and machine ID if re-issuance is needed

Setup Wizard Does Not Appear on First Load

Symptoms: Navigating to FlowSquad shows a login page or a blank page instead of the Setup Wizard.

Solutions:

  1. If the wizard was previously partially completed, navigate to /setup directly
  2. If the wizard is locked due to a previous failed run, stop FlowSquad, remove the flowsquad_engine.db file from the data directory, and restart — this resets all setup state (warning: all previous settings are lost)
  3. Check the application logs for startup errors: Linux: sudo journalctl -u flowsquad -f; Docker: docker compose logs -f

->
Setup complete — next step: Admin Guide
Your FlowSquad instance is now configured across all 10 steps. Proceed to the Admin Guide to create your first product, assign Product Admins, configure per-product LLM settings, manage users, and review audit logs.

Frequently Asked Questions

When does the Setup Wizard appear?

The Setup Wizard launches automatically the first time you access FlowSquad in a browser after installation. It is also accessible to Global Admins at any time via the ⚙️ Setup button in the top navigation bar, or by navigating directly to /setup. The wizard must be fully completed before any other functionality is available on first run.

Can I skip optional wizard steps?

Steps 5 (Source Control) and 6 (Collaboration Tools) are optional — they can be skipped and configured later from Admin Panel -> Settings. Steps 1 (Database), 3 (LLM Provider), 7 (Admin Users), and 8 (License) are mandatory and must be completed before you can finish the wizard. Step 4 (Authentication) requires at minimum Local Accounts, which is already active by default.

What database does FlowSquad require?

FlowSquad uses two databases. The configuration database (flowsquad_engine.db) is always a local SQLite file — it is created automatically and requires no setup. The application database — which stores all product data, requirements, artifacts, and users — must be PostgreSQL 14+ or MySQL 8.0+. You must provision this database and user before running the Setup Wizard.

Can I change the LLM provider after setup?

Yes. Re-run the Setup Wizard via the ⚙️ Setup button in the top navigation bar to change the global default LLM provider. Per-product LLM overrides are available in each product's Settings -> LLM Configuration page without requiring a wizard re-run.

How are API keys and passwords protected in the configuration database?

All sensitive values — API keys, integration passwords, SAML keys — are encrypted at the field level using Fernet AES-128-CBC before being written to the database. This is done automatically; no configuration is required. The encryption key is derived from a per-installation secret stored in the same database.

Can multiple authentication methods be active at the same time?

Yes. FlowSquad supports multiple authentication methods simultaneously. Local Accounts are always active. You can additionally enable LDAP, SAML 2.0, and/or OAuth2 — all at the same time. The login page shows login buttons for each enabled method. Users are matched to their account based on the email address returned by the authentication provider.