Voznest Forge

Workspace

WorkspaceProjects

Development

DocsAPI ReferenceSDKsEmbed StudioChangelog
  1. Forge
  2. /Docs

Start here

Getting StartedQuickstartPlatform ConceptsEnvironments

Build

ProjectsIdentityAgentsGatewayCapabilitiesPermissions ReferenceInstallationsLive activity

Commands & interactions

CommandsContext-menu CommandsInteractionsComponentsModals (Forms)Activities (Embedded Apps)

Acting in hubs

MessagesEmbedsEmbeds v2 (Blocks)Embeds v3Incoming WebhooksHub Management APIEvent StreamDelivery

Sign in with Voznest

AccessOpenID Connect

API

APIAuthenticationErrorsRate LimitsSecurity

Publish & operate

App Market & ListingTemplates & SandboxObservability & Team Tools

Tools

SDKsExamplesFAQ & TroubleshootingReference

Start here

Environments

Development, Staging and Production: separate agents, credentials, configuration and hubs.

Every project has three environments. They share the project's identity, commands and team, but nothing secret: each has its own agents, tokens, OAuth client, API keys, signing keys, event subscriptions and delivery endpoints.

EnvironmentTypical useWhere its agents run
DevelopmentLocal work, breaking changesTest hubs you manage (and your sandbox hub)
StagingPre-release checks with real-looking dataTest hubs you manage
ProductionWhat your users installEvery hub that installed the project (App Market / install link)

Development and Staging are off until you enable them in Environments. A hub runs exactly one environment of a project: installing Staging into a hub that already has Production is refused.

Test hubs

From Agents → Install in a test hub, put the Development or Staging agents into a hub where you have Manage Hub. Commands used there are answered by that environment's agent, never by Production. The quickest way to get one is a sandbox hub.

Configuration

Each environment stores plain key/value configuration (up to 50 entries, values up to 1000 characters) — feature switches, log levels, URLs. It is not for secrets. Agents read their own environment's values:

ts
// Read the configuration of the agent's own environment (Environments → Configuration).const { data } = await fetch("https://api.voznest.com/api/v1/developer/agent/config", { headers: { Authorization: `Bot ${token}` } }).then((r) => r.json());// → { environment: "development", config: { LOG_LEVEL: "debug", FEATURE_X: "on" } }

OAuth client ids

Production uses the project id as client_id; the others append the environment: <project id>.development, <project id>.staging. Redirect URLs, scopes and PKCE are configured per environment. Development additionally accepts http://localhost redirects.

API restrictions

Per environment you can restrict API keys to an IP allowlist (up to 20 entries), choose which OAuth scopes may be requested, and require PKCE.

Who can change what: Developers manage Development and Staging; production credentials and the production environment are managed by Managers and the Owner.
PreviousPlatform ConceptsNext Projects