Skip to content
Proud to collaborate with Microsoft for Startups

cloudflare.dns.update_record ​

Create or update a Cloudflare DNS record

Creates or updates a DNS record in a Cloudflare zone.

If record_id is provided, the existing record is updated (PUT). Otherwise a new record is created (POST). The operation is idempotent when record_id is supplied.

Inputs:

  • zone_id: Cloudflare zone ID where the record lives (required)
  • record_type: DNS record type: A, AAAA, CNAME, TXT, MX, etc. (required)
  • record_name: Fully-qualified record name, e.g. api.example.com (required)
  • record_value: Record content / target, e.g. 1.2.3.4 (required)
  • ttl: TTL in seconds (optional, default: 1 = automatic)
  • proxied: Route traffic through Cloudflare proxy (optional, default: false)
  • record_id: Cloudflare record ID; if supplied, updates this record (optional)

Outputs (terminal state_data):

  • record_id: str — Cloudflare DNS record ID
  • record_name: str — confirmed record name
  • record_type: str — confirmed record type
  • record_value: str — confirmed record content
  • proxied: bool — whether the record is proxied

Plugin required: context.get_plugin("cloudflare") must expose .api_token and .account_id.

Overview ​

PropertyValue
Workflow typeAtomic
LibraryApp-cloudflare
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
zone_idstringYes—Cloudflare zone ID
record_typestringYes—DNS record type: A, AAAA, CNAME, TXT, MX, etc.
record_namestringYes—Fully-qualified DNS record name
record_valuestringYes—Record content / IP address / target
ttlintegerNo—TTL in seconds (1 = automatic)
proxiedbooleanNo—Route through Cloudflare proxy
record_idstringNo—Existing record ID to update (if omitted, a new record is created)

Output Schema ​

FieldTypeRequiredDefaultDescription
proxiedbooleanNo——
record_idstringNo——
record_namestringNo——
record_typestringNo——
record_valuestringNo——
ttlintegerNo——
zone_idstringNo——
failure_reasonstringNo——
failure_typestringNo——
failed_actionstringNo——
failed_at_statestringNo——
failed_stepstringNo——
failed_layerstringNo——
errorstringNo——
error_typestringNo——

States ​

StateInitialTerminalSuccessAuto-advanceDescription
pendingYesNo—execute—
completedNoYesYes——
failedNoYesNo——

State Diagram ​

Transitions ​

FromActionToDescription
pendingexecutecompleted—
* (any state)failfailed—

API Usage ​

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

{
  "workflow_type": "cloudflare.dns.update_record",
  "initial_data": {
    "zone_id": "value",
    "record_type": "value",
    "record_name": "value",
    "record_value": "value"
  }
}