Administration

# Server Settings

Configure global server settings and integrations

Loading settings
⚠️

## Failed to load settings

### General Settings

Setup Name A name that identifies this CoderFlow setup.
Default Agent
Agent used by default when a task or environment has not chosen one.
Default Environment
Environment selected by default when starting new work.
Max Concurrent Agents Limit how many agents can run simultaneously (tasks exceeding this limit will be queued)
CoderFlow Commit Attribution Appends "Co-Authored-By: CoderFlow" to commit messages
Trust Proxy Enable when CoderFlow is behind a reverse proxy (Cloudflare, nginx, load balancer). Required for HTTPS-aware OAuth callback URLs and accurate client IPs in audit logs. Restart the server to apply.

### Ask CoderFlow

Enable Ask CoderFlow The in-app documentation assistant. Turning it off hides the assistant for all users.
Model
Model that answers questions. For a custom AI endpoint, type its model ID.

#### Usage Telemetry

Captures completed inquiries (question, answer, metadata) and pushes them to a processing server to measure and improve answer quality. Off by default; nothing is captured while off.

Enable Telemetry Requires a processing server URL and signing secret below.
Processing Server URL The inbound-webhook endpoint (includes the secret token). Stored encrypted.
Signing Secret Shared with the processing server's webhook config. Stored encrypted; never shown.
Push Interval (minutes) How often buffered inquiries are pushed.
Status
—

### AI Providers

### Model Configuration

Configure which models to use for each AI provider

Claude Model
Claude Effort Level
Codex Model
Codex Reasoning Level
Gemini Model
Gemini runs via the Antigravity CLI (agy), which selects its own model; this choice is recorded but not applied to task runs.
Grok Model
Grok Effort Level

### Agent Keepalive Settings

Configure automatic token refresh for each agent to keep them authenticated and responsive

#### Claude

Automatically refreshes Claude's login token on a schedule so the agent stays authenticated.
Refresh Interval (hours)
How often the token is refreshed, in hours (1 to 24).
Loading status...

#### Codex

Automatically refreshes Codex's login token on a schedule so the agent stays authenticated.
Refresh Interval (hours)
How often the token is refreshed, in hours (1 to 24).
Loading status...

#### Gemini

Automatically refreshes Gemini's login token on a schedule so the agent stays authenticated.
Refresh Interval (hours)
How often the token is refreshed, in hours (1 to 24).
Loading status...

#### Bob

Automatically refreshes Bob's login token on a schedule so the agent stays authenticated.
Refresh Interval (hours)
How often the token is refreshed, in hours (1 to 24).
Loading status...

#### Grok

Automatically refreshes Grok's login token on a schedule so the agent stays authenticated.
Refresh Interval (hours)
How often the token is refreshed, in hours (1 to 24).
Loading status...

### Git Providers

Configure Git providers for repository authentication. Environments can reference these providers to access private repositories.

Container Token Expiration
days
Containers can access Git credentials until expiration; start a new task to renew
Setup Repository Authentication
Controls how setup repository pull/push operations in Environments and Skills authenticate.
Setup Repo Provider
Required when using Git Provider mode. Uses app credentials from the selected provider.

### Email Settings (SMTP)

SMTP Host Hostname of the SMTP server used to send outbound email.
SMTP Port Port the SMTP server listens on, commonly 587 for STARTTLS or 465 for TLS/SSL.
Use TLS/SSL Enable for port 465, disable for port 587 with STARTTLS
Username Username for authenticating to the SMTP server.
Password
Password for the SMTP user. Leave blank to keep the saved password.
From Address Email address that outbound messages are sent from.
From Name Display name shown alongside the From address.

#### Test Configuration

Test Recipient Address that receives the test email sent by "Send Test Email".

### Slack Integration

Connect a Slack bot so users can @mention CoderFlow, run the generated slash command to create tasks, and use its link command to connect their Slack identity.

Quick Setup: Create Slack App from Manifest

1. Go to api.slack.com/apps and click Create New App → From an app manifest
2. Select your workspace, click Next, choose the JSON tab
3. Copy the manifest below and paste it in
4. Click Next, review, and Create
5. Copy Signing Secret from Basic Information, and Bot Token from OAuth & Permissions (install the app first)

The manifest uses the Slack Webhook Base URL when set, otherwise the Task Link Base URL or current server URL.

Enabled Turn the Slack integration on or off for this server.
Bot Token
Slack bot OAuth token (starts with xoxb-) from the app's OAuth & Permissions page.
Signing Secret
Slack signing secret from the app's Basic Information page, used to verify incoming requests.
Default Environment
Used when no channel mapping or env: prefix is specified
App Suffix Distinguishes this CoderFlow server in Slack. A suffix like team generates CoderFlow Team and /coderflow-team.
Task Link Base URL Base URL for task links and Slack account-link pages. Leaving this blank is only safe when Slack webhooks call the normal CoderFlow app URL; set it explicitly when using Slack Webhook Base URL or the Slack-only ingress listener.
Slack Webhook Base URL Public base URL Slack calls for events, commands, and interactions. Use this for a Slack-only ingress listener; keep Task Link Base URL pointed at the normal CoderFlow app.
Ingress Listener Read-only startup configuration from environment variables. This field does not open ports or change firewall, proxy, or container settings.

#### Channel Mappings

Map Slack channels to specific environments. Messages in mapped channels auto-select the configured environment.

#### Test Configuration

### Microsoft Teams Integration

Connect a Microsoft Teams bot so users can mention CoderFlow or message the bot directly to create tasks.

Quick Setup: Teams App Manifest

1. Create an Azure Bot / Microsoft app registration and set its messaging endpoint to ``
2. Paste the Microsoft App ID and client secret below
3. Copy the manifest below into a Teams app package with color and outline icons
4. Upload the app in Teams for your tenant or team

The manifest uses Task Link Base URL when set, otherwise the current server origin. Teams app packages also require icon files.

Enabled Turn the Microsoft Teams integration on or off for this server.
Microsoft App ID The app ID from the Azure Bot or app registration used by the Teams bot.
Client Secret
Client secret value from the Azure Bot or app registration. Leave blank to keep the saved secret.
App Type
Use SingleTenant only when the bot app registration is restricted to one tenant.
Tenant ID Microsoft Entra tenant ID. Required when App Type is SingleTenant.
Default Environment
Used when no Teams channel mapping or env: prefix is specified.
Task Link Base URL Required when Teams is enabled. Use the public HTTPS base URL for task links, account-link pages, and the generated Teams messaging endpoint.

#### Channel Mappings

Map Teams channels or conversations to specific environments. Use the channel ID from Teams activity logs or admin inspection.

#### Test Configuration

### Jira Integration

Connect to Jira so users can import issues as tasks and post results back as comments.

Enabled Turn the Jira integration on or off for this server.
Account Type
Service accounts use api.atlassian.com with a Cloud ID for API routing
Jira Site URL Your Jira instance URL (used for browse links and API calls)
Cloud ID
Enter the Site URL above, then click Fetch to auto-detect, or enter manually
Email The email address associated with the Jira account
API Token
Jira API token for the account above, created from your Atlassian account security settings.
Force Locale Optional. Forces the language of Jira field names (issue type, status). Leave blank to use the service account's language. Set to en-US if imported fields appear in another language.

#### Test Configuration

### Single Sign-On (OIDC)

Behind a reverse proxy serving HTTPS (Cloudflare, nginx, load balancer)? Enable Trust Proxy in General settings so OAuth callback URLs are sent as `https://`.

Enable SSO Allow users to sign in through the configured OIDC identity provider.
Identity Provider
Button Text Label shown on the SSO button on the login page.
Client ID * Application/Client ID issued by your identity provider.
Client Secret *
Leave blank to keep existing secret
Issuer URL *
The OIDC discovery URL for your identity provider
Auto-provision users

Automatically create user accounts when someone logs in via SSO for the first time.

Default access

Access binding assigned to auto-provisioned users. Can be changed later per user.

Allow local login

Show username/password form alongside SSO button. Disable for SSO-only authentication.

### CA Certificates

Add custom CA certificates for containers to trust internal/corporate certificate authorities.

### Update Management

Configure how the server can be updated and restarted from the Administration page.

Enable Web Updates

When enabled, admins can apply updates and restart the server from the Health tab on the Server Administration page.

Update Command

Command to install a new version. Use `{version}` as a placeholder for the target version number.

Restart Command

Command to restart the server process after an update. Leave empty to use SIGTERM and rely on an external process manager to bring the service back up.

## Add Git Provider

Choose the type of provider to add:

## Create GitHub App

Create a GitHub App for repository access. When you click Next, you'll be redirected to GitHub to approve and install the app.

Note: You must be logged into GitHub logged into GitHub before proceeding.

Provider Name * Lowercase alphanumeric with hyphens. Used to reference this provider in environments.
GitHub App Name * Name for the GitHub App (visible on GitHub)
Description Optional description for the GitHub App, shown on GitHub.
GitHub Host *
Hostname * Your GitHub Enterprise Server hostname
Owner *
Organization Name * The GitHub organization where the app will be created

## Add Git Provider

Configure a GitHub or Azure DevOps provider so environments can authenticate to private repositories.

Provider Name * Lowercase alphanumeric with hyphens
Provider Type *
App ID * Numeric App ID from the GitHub App's settings page.
Installation ID * Numeric ID of the GitHub App installation on your account or organization.
Installation Settings
Client ID * OAuth client ID of the GitHub App, used for per-user access token flows.
Client Secret OAuth client secret of the GitHub App. Leave blank to keep the saved secret.
Private Key (PEM) * PEM-encoded private key generated for the GitHub App. Leave blank when editing to keep the saved key.
Organization * Azure DevOps organization name
Tenant ID * Microsoft Entra ID tenant ID (GUID format)
Client ID * App Registration client ID (GUID format)
Authentication Method *
Client Secret * Client secret for the Azure DevOps app registration. Leave blank when editing to keep the saved secret.
Certificate (PEM with Private Key) * PEM bundle containing the certificate and its private key for the Azure DevOps app registration.

## Delete Git Provider

Are you sure you want to delete the git provider ""?

This action cannot be undone.

## Manage Teams —

Control which teams can use this Git provider when configuring environment repositories.

Access Mode
Controls which teams can use this provider when configuring environment repos.
Assigned Teams
Add Team
Select a team to grant access to this provider.

## Add CA Certificate

Add a custom CA certificate for task containers to trust internal or corporate certificate authorities.

Name * A name to identify this certificate in the list.
Certificate (PEM) * Paste the CA certificate in PEM format, or import it from a file.

## Certificate Viewer:

View the issuer, validity period, and fingerprints of an installed CA certificate.

#### Issued To

Common Name (CN)
Organization (O)
Organizational Unit (OU)

#### Issued By

Common Name (CN)
Organization (O)
Organizational Unit (OU)

#### Validity Period

Issued On
Expires On

#### SHA-256 Fingerprints

Certificate
Public Key

## Git Connection Required

Connect your account to the following Git provider to continue: