Skip to content
Proud to collaborate with Microsoft for Startups

data.spad.site.create ​

Register a SpadSite and its initial SpadBuildConfig so the SPAD provisioning workflows (spad.site-creation-gcp, ...) have a site to dispatch onto. DB-only; idempotent on (organization, name).

Create a SpadSite row (+ linked SpadBuildConfig) so SPAD sites can be stood up via workflows.

Overview ​

PropertyValue
Workflow typeAtomic
LibraryApp-spad
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
organization_uuiduuidYes—UUID of the organization that will own the site
namestringYes—Display name for the site. Slug is generated from this (SpadSite.generate_slug).
repositorystringNo—GitHub repository as 'owner/name' (e.g. 'islasoftwarefactory/calendar'). Resolved to github_repository_id inside the org. Mutually exclusive with gitlab_project_uuid.
gitlab_project_uuiduuidNo—Optional GitLab project UUID, as an alternative source repo to 'repository'.
cloud_connection_uuiduuidYes—UUID of the CloudConnection that hosts the site (GCP, AWS, Cloudflare, ...).
runner_group_uuiduuidNo—UUID of the RunnerGroup used for SPAD build execution. Required unless cloud_connection_uuid points at a Cloudflare connection; must share the same cloud connection as the site.
branchstringNomainSource branch to build from. Default 'main'.
provider_typestringNo—Optional hosting provider key passthrough (e.g. 'gcp'); informational only, the effective provider is always derived from cloud_connection_uuid.
frameworkstringNo—Build framework hint (react, vue, angular, next, ...).
node_versionstringNo18Node.js version for the build. Default '18'.
install_commandstringNo—Optional install command override.
build_commandstringNonpm run buildBuild command. Default 'npm run build'.
output_directorystringNodistBuild output directory. Default 'dist'.
environment_variablesjsonNo—Environment variable KEYS (values live in the secrets manager).
deployment_strategystringNoimmediateDeploymentStrategyType: immediate
rollout_configjsonNo—Optional rollout configuration stored on the site.
auto_deploy_enabledbooleanNoTrueWhether pushes auto-deploy. Default true.
deploy_on_releasebooleanNoFalseWhether repo releases trigger a deploy. Default false.
deploy_on_release_actionstringNoreleasedGitHub release action that triggers a deploy. Default 'released'.
include_prereleasesbooleanNoFalseWhether prereleases count for deploy_on_release. Default false.

Output Schema ​

FieldTypeRequiredDefaultDescription
site_uuiduuidYes—UUID of the created (or existing) SpadSite
slugstringYes——
namestringYes——
cloud_connection_uuiduuidYes——
github_repository_uuiduuidNo——
gitlab_project_uuiduuidNo——
runner_group_uuiduuidNo——
branchstringYes——
deployment_strategystringYes——
current_build_config_uuiduuidNo—UUID of the SpadBuildConfig linked as current_build_config. Set whenever a build config exists (created now or on the pre-existing site).
createdbooleanYes—True when this run inserted a new row
already_existsbooleanYes—True when a matching (organization, name) site already existed
failure_reasonstringNo——
failure_typestringNo——
failed_actionstringNo——
failed_at_statestringNo——
failed_stepstringNo——
failed_layerstringNo——
errorstringNo——
error_typestringNo——
organization_uuiduuidNo—UUID of the organization that will own the site
repositorystringNo—GitHub repository as 'owner/name' (e.g. 'islasoftwarefactory/calendar'). Resolved to github_repository_id inside the org. Mutually exclusive with gitlab_project_uuid.
provider_typestringNo—Optional hosting provider key passthrough (e.g. 'gcp'); informational only, the effective provider is always derived from cloud_connection_uuid.
frameworkstringNo—Build framework hint (react, vue, angular, next, ...).
node_versionstringNo—Node.js version for the build. Default '18'.
install_commandstringNo—Optional install command override.
build_commandstringNo—Build command. Default 'npm run build'.
output_directorystringNo—Build output directory. Default 'dist'.
environment_variablesjsonNo—Environment variable KEYS (values live in the secrets manager).
rollout_configjsonNo—Optional rollout configuration stored on the site.
auto_deploy_enabledbooleanNo—Whether pushes auto-deploy. Default true.
deploy_on_releasebooleanNo—Whether repo releases trigger a deploy. Default false.
deploy_on_release_actionstringNo—GitHub release action that triggers a deploy. Default 'released'.
include_prereleasesbooleanNo—Whether prereleases count for deploy_on_release. Default false.

States ​

StateInitialTerminalSuccessAuto-advanceDescription
pendingYesNo—completeCreate SpadSite
completedNoYesYes—Created
failedNoYesNo—Create failed

State Diagram ​

Transitions ​

FromActionToDescription
pendingcompletecompleted—
pendingfailfailed—

API Usage ​

bash
POST /api/workflows/start
Content-Type: application/json

{
  "workflow_type": "data.spad.site.create",
  "initial_data": {
    "organization_uuid": "value",
    "name": "value",
    "cloud_connection_uuid": "value"
  }
}