Skip to content

Cloudflare

Manage Cloudflare zones, rules, and DNS

  1. Open the Cloudflare API Tokens page
  2. Click Create Token
  3. Click Get started next to “Create Custom Token”
  4. Configure the token:
    • Token name: SuperPlane Integration
    • Permissions (click ”+ Add more” to add each):
      • Zone / Zone / Read
      • Zone / DNS / Edit
      • Zone / Dynamic Redirect / Edit
      • Zone / DNS / Edit
    • Zone Resources: Include / All zones (or select specific zones)
  5. Click Continue to summary, then Create Token
  6. Copy the token and paste it below

Note: The token is only shown once. Store it securely if needed elsewhere.

The Create DNS Record component creates a DNS record in a Cloudflare zone.

  • Provisioning: Add records when new environments are created
  • Verification: Create TXT or CNAME records for domain ownership checks
  • Releases: Add or update canary or migration records
  • Zone: Select the Cloudflare zone or enter a domain name
  • Type: DNS record type (A, AAAA, CNAME, MX, TXT, NS, etc.)
  • Name: Record name (e.g., www, api, or @ for apex)
  • Content: Record value (IP, hostname, or text)
  • TTL: Time-to-live in seconds (use 1 for auto)
  • Proxied: Proxy through Cloudflare (A, AAAA, CNAME only)
  • Priority: Priority value (MX or SRV only)

Emits the created DNS record on the default channel. If the zone is not found, the record is invalid, or a duplicate exists, the run fails.

{
"content": "192.0.2.1",
"id": "record_abc123",
"name": "api.example.com",
"proxied": false,
"ttl": 1,
"type": "A"
}

The Delete DNS Record component removes a DNS record from a Cloudflare zone.

  • Deprovisioning: Remove DNS records when services or environments are torn down
  • Cleanup: Delete temporary verification records (e.g. migration or certificate validation)
  • Maintenance: Remove stale or incorrect records as part of workflow automation
  • Record: Select the DNS record to delete (e.g. zone-id/record-id or record name)

Emits the deleted DNS record (zoneId, recordId, record) on the default channel. If the record is not found or deletion fails, the component goes to an error state and does not emit.

{
"record": {
"content": "example.com",
"id": "record_abc123",
"name": "app.example.com",
"proxied": false,
"ttl": 360,
"type": "CNAME"
},
"recordId": "record_abc123",
"zoneId": "zone_xyz789"
}

The Update DNS Record component updates an existing DNS record in a Cloudflare zone.

  • Infrastructure changes: Update record content when an IP or target changes
  • Release automation: Switch a record to proxied or adjust TTL during a migration
  • Verification: Update TXT records for ownership verification as part of workflows
  • Record: DNS record to update (e.g. zone-id/record-id or app.example.com)
  • Content: New record value
  • TTL: TTL in seconds (default 360)
  • Proxied: Whether Cloudflare should proxy traffic for this record

Emits the updated DNS record (id, type, name, content, proxied, ttl) on the default channel. If the update fails (e.g. record not found, invalid update), the component goes to an error state and does not emit.

{
"record": {
"content": "203.0.113.10",
"id": "record_abc123",
"name": "app.example.com",
"proxied": true,
"ttl": 1,
"type": "A"
},
"recordId": "record_abc123",
"zoneId": "zone_xyz789"
}

The Update Redirect Rule component modifies an existing redirect rule in a Cloudflare zone.

  • URL management: Update redirect rules dynamically based on workflow events
  • A/B testing: Switch redirect targets for testing purposes
  • Maintenance: Temporarily redirect traffic during maintenance
  • Migration: Update redirects as part of site migration workflows
  • Zone: Select the Cloudflare zone containing the redirect rule
  • Rule ID: The ID of the redirect rule to update
  • Description: Optional description for the rule
  • Match Type: How to match URLs (exact match or expression-based)
  • Source URL Pattern: URL pattern to match (for exact match type)
  • Expression: Cloudflare expression for matching (for expression type)
  • Target URL: The URL to redirect to (supports expressions)
  • Status Code: HTTP status code for redirect (301, 302, 307, 308)
  • Preserve Query String: Whether to preserve query parameters in redirect
  • Enabled: Whether the rule is active

Returns the updated redirect rule with all current configuration.

{
"enabled": true,
"rule": {
"action": "redirect",
"action_parameters": {
"from_value": {
"preserve_query_string": false,
"status_code": 301,
"target_url": {
"value": "https://example.com/new-path"
}
}
},
"description": "Redirect old path to new path",
"enabled": true,
"expression": "http.request.uri.path eq \"/old-path\"",
"id": "rule_abc123"
},
"ruleId": "rule_abc123",
"zoneId": "zone_xyz789"
}