Skip to content
AscendCore
Back to Runbook Library
Network Live in production

DNS Record Change

Add or update a Cloudflare DNS record from chat behind an approval gate, with an explicit change summary and a drift gate that refuses stale plans.

Integrates with

Cloudflare

The problem

DNS changes are routine until one is wrong, and then they are an outage. The balance between moving quickly and keeping a reviewed, auditable record is hard to strike with manual edits in a provider console.

What AscendCore does

A requester names the record (A, AAAA, CNAME, or TXT) in Slack or Teams. The approval card shows the exact transition: the current value and the proposed one for an update, or "record does not exist" for a create. At execution the zone is re-read, and if the record changed since the proposal the change is refused rather than applied blind, because the approver approved a specific transition, not whatever the zone happens to hold later. New records are created DNS-only with an automatic TTL; updates change only the record's content and leave its TTL and proxy status as they are. Every decision lands in the audit chain.

Status

Live in production. Applies A, AAAA, CNAME, and TXT changes against a real Cloudflare zone today from Slack and Teams; the card shows the exact from-to transition, the zone is re-read at execution and a record that changed since the proposal is refused rather than applied blind, and every decision lands in the audit chain. Cloudflare is the supported provider and runs against a configured, scoped API token for the org's zone; approver routing is configurable per customer.

Runbook source preview

Versioned, deterministic, auditable

Every runbook is defined as a versioned YAML manifest with explicit triggers, steps, and approval policies. The runbook itself is the audit-ready record of what AscendCore can and will do. Chat is just the interface that triggers it.

name: dns-record-change
trigger:
  channels: [slack, teams]
  commands: [dns-change]
steps:
  - parse_record                # A | AAAA | CNAME | TXT
  - render_change_summary       # explicit from -> to on the card
  - admin_approval              # updates use destructive styling
  - drift_gate                  # zone re-read at execute; refuse on change
  - apply_record                # creates: TTL automatic, DNS-only
approval:
  required: true
  approvers: [network-admins]
Ready to deploy

Run dns record change from Teams or Slack today

AscendCore deploys in days, not months for Slack + Okta or Teams + Entra stacks. See your first automated resolution the same day.