Skip to content
Proud to collaborate with Microsoft for Startups

spad.domain-configuration ​

Configures a custom domain with SSL certificate and DNS

Configures a custom domain with SSL certificate and CloudFront/DNS.

Input fields: domain_id, site_id, organization_id, domain_name, dns_connection_id, dns_zone_id, dns_zone_name

WAITING_FOR_VALIDATION has no auto_advance — external caller must call check_validation until the certificate is issued, then call configure_cloudfront to advance the workflow.

Overview ​

PropertyValue
Workflow typeLinear
LibraryApp-spad
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
domain_uuidstringYes—SpadDomain.id to configure
site_uuidstringYes—SpadSite.id the domain belongs to
domain_namestringYes—The custom domain name (e.g. www.example.com)
organization_uuidstringNo—Organization that owns the site
dns_connection_uuidstringNo—CloudConnection.id for the DNS provider
dns_zone_refintegerNo—DnsZone.id; required when DNS auto-provisioning is desired
dns_zone_namestringNo—DNS zone name (apex domain) — used when zone_id is omitted

Output Schema ​

FieldTypeRequiredDefaultDescription
domain_uuidstringYes—SpadDomain.id that was configured
site_uuidstringYes—Site the domain belongs to
organization_uuidstringNo—Organization that owns the site
domain_namestringYes—The custom domain name
dns_connection_uuidstringNo—CloudConnection.id for the DNS provider
dns_zone_refintegerNo—DnsZone.id when DNS auto-provisioning is used
dns_zone_namestringNo—DNS zone name propagated from input
cloudfront_distribution_refstringNo—CloudFront distribution id the domain was attached to
cloudfront_domainstringNo—CloudFront default domain for the site
cloud_connection_uuidstringNo—AWS CloudConnection.id used for ACM/CloudFront
certificate_arnstringYes—ACM certificate ARN requested for the domain
certificate_statusstringNo—ACM certificate status observed on the last poll
certificate_validatedbooleanNo—True once the certificate reached ISSUED
validation_recordslistNo—ACM CNAME validation records created in DNS
validation_check_countintegerNo—Number of ACM validation polls executed
cloudfront_configuredbooleanNo—True once the domain was attached to the CloudFront distribution
dns_record_refstringNo—DNS record id created pointing the domain at CloudFront
initiated_atstringYes—ISO8601 timestamp when the workflow was initiated
initiated_bystringNo—Actor id that initiated the workflow
certificate_requested_atstringNo—ISO8601 timestamp when the certificate was requested
validation_records_created_atstringNo—ISO8601 timestamp when validation records were created
validation_started_atstringNo—ISO8601 timestamp when validation polling started
last_check_atstringNo—ISO8601 timestamp of the most recent validation poll
validated_atstringNo—ISO8601 timestamp when the cert reached ISSUED
cloudfront_configured_atstringNo—ISO8601 timestamp when CloudFront was reconfigured
dns_record_created_atstringNo—ISO8601 timestamp when the DNS record was created
completed_atstringNo—ISO8601 timestamp when the workflow reached COMPLETED
failed_atstringNo—ISO8601 timestamp when the workflow reached FAILED
failure_reasonstringNo—Reason recorded on the failure path
errorstringNo—Engine-stamped failure metadata
error_typestringNo—Engine-stamped failure metadata
failed_at_statejsonNo—Engine-stamped failure metadata
failed_layerjsonNo—Engine-stamped failure metadata
failed_stepjsonNo—Engine-stamped failure metadata

States ​

StateInitialTerminalSuccessAuto-advanceDescription
initiatedYesNo—request_certificate—
configuring_cloudfrontNoNo—create_dns_record—
creating_dns_recordNoNo—complete—
creating_validation_recordsNoNo—wait_for_validation—
requesting_certificateNoNo—create_validation_records—
waiting_for_validationNoNo——Poll ACM validation status via scheduled transitions
completedNoYesYes——
failedNoYesNo——

State Diagram ​

Transitions ​

FromActionToDescription
initiatedrequest_certificaterequesting_certificate—
requesting_certificatecreate_validation_recordscreating_validation_records—
creating_validation_recordswait_for_validationwaiting_for_validation—
waiting_for_validationcheck_validationwaiting_for_validation—
waiting_for_validationconfigure_cloudfrontconfiguring_cloudfront—
configuring_cloudfrontcreate_dns_recordcreating_dns_record—
creating_dns_recordcompletecompleted—
* (any state)failfailed—

API Usage ​

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

{
  "workflow_type": "spad.domain-configuration",
  "initial_data": {
    "domain_uuid": "value",
    "site_uuid": "value",
    "domain_name": "value"
  }
}