Cloudflare does its best to detect all DNS records on your domain but if you have a complex setup with uncommon subdomains it won’t detect everything.
You can import your DNS records by uploading a BIND zone file, unfortunately you might be using another server like PowerDNS.
One way that I found out is to use AXFR.
1) Enable AXFR in PowerDNS
Search for the following line in PowerDNS configuration:
Change it to:
And restart PowerDNS.
Note that AXFR exposes all DNS records in all domains at your server. You might want to turn it off after the transfer is done.
2) Use dig to do a AXFR request and export everything
dig +short axfr yourdomain.com > zonefile.txt
This will dump all records on a file called zonefile.txt.
3) Add your domain to Cloudflare and upload zonefile.txt
Just after adding your domain to Cloudflare, at the second step, you have the option to upload a zone file. Simply upload the file that was generated and, although it’s not a BIND zone file, it will work perfectly and all records should be imported.