{"product_id":"cloudflare-dns-backup-to-aws-s3-with-email-reports-n8n","title":"Cloudflare DNS Backup to AWS S3 with Email Reports (n8n)","description":"\u003ch3\u003eAutomatically back up your Cloudflare DNS zones to AWS S3—daily—with email reports\u003c\/h3\u003e\n\u003cp\u003eThis n8n workflow exports your Cloudflare DNS records as BIND zone files every day, stores them in Amazon S3 with retention-based cleanup, and sends a plain-text email report summarizing successes, failures, and any backups removed.\u003c\/p\u003e\n\n\u003ch3\u003eWhat this workflow does\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eRuns on a schedule\u003c\/strong\u003e: executes daily at \u003cstrong\u003e03:00\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eValidates configuration\u003c\/strong\u003e: checks the S3 bucket\/prefix, retention values, and report email addresses, then stops with a clear error if placeholders remain.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eFetches Cloudflare zones\u003c\/strong\u003e: calls the Cloudflare API to list zones and can optionally filter to specific zone names you specify, with actionable errors for missing or inaccessible zones.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eExports and uploads zone files\u003c\/strong\u003e: for each zone, exports the zone from Cloudflare, compares exported record count to Cloudflare’s DNS record count, and uploads the BIND-formatted \u003cstrong\u003e.zone\u003c\/strong\u003e file to S3 under \u003cstrong\u003eprefix\/zone\/YYYY-MM-DD.zone\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eApplies retention policy\u003c\/strong\u003e: lists existing backups for each successfully uploaded zone and deletes dated \u003cstrong\u003e.zone\u003c\/strong\u003e files past the retention window while always keeping at least \u003cstrong\u003ekeep_at_least\u003c\/strong\u003e newest copies. Cleanup is skipped for zones that failed today.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eSends an email report\u003c\/strong\u003e: delivers a plain-text SMTP report showing which zones were backed up, which failed (including reasons), and which old backups were removed.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eMaintain reliable \u003cstrong\u003eCloudflare DNS backups\u003c\/strong\u003e for compliance and disaster recovery.\u003c\/li\u003e\n  \u003cli\u003eReduce manual ops by centralizing backups in \u003cstrong\u003eAWS S3\u003c\/strong\u003e with automatic retention cleanup.\u003c\/li\u003e\n  \u003cli\u003eGet daily visibility via \u003cstrong\u003eemail reports\u003c\/strong\u003e for backup success\/failure and record count validation.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eCloudflare API\u003c\/strong\u003e (Zone:Read, DNS:Read) using an n8n Cloudflare credential.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eAWS S3\u003c\/strong\u003e for upload, listing, and deletion of backup objects.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eSMTP Email Send\u003c\/strong\u003e for plain-text per-run reporting.\u003c\/li\u003e\n  \u003cli\u003eWorkflow logic uses nodes including \u003cstrong\u003eif\u003c\/strong\u003e, \u003cstrong\u003eset\u003c\/strong\u003e, and \u003cstrong\u003ecode\u003c\/strong\u003e (plus a sticky note for guidance).\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":46223938060467,"sku":"N8N-20916","price":41.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/i3Te_EZ4IWy-Yq-rICIoQ_BmOaexPD.png?v=1791969149","url":"https:\/\/buyflowscripts.com\/products\/cloudflare-dns-backup-to-aws-s3-with-email-reports-n8n","provider":"N8N Commerce","version":"1.0","type":"link"}