Since our last newsletter, dozens of developers like you have reached out with ideas for new kinds of apps that weren’t yet possible. These are some of my favorite conversations because they help us find out which features should be prioritized. With your guidance, we’ve spent this month meticulously converting our supply of Halloween candy into those ideas. Let’s dive in and see what’s new!
💸 Paid App Product Enhancements
We’ve made it easier to upsell premium features with product specific options. Customers can try out exclusive features before making a purchase, on any site, even without Cloudflare account! Here’s an example of Lead Box using product specific radio buttons:

In this example, a customer can choose to see the newsletter option after choosing the "Pro" plan. Developers can now update the Live Preview in response to this choice. We’ve added new "_product"
keyword for this event. Here’s a snippet on how Lead Box handles a customer changing products without refreshing the page:
{
"preview": {
"handlers": [
{
"options": ["_default"],
"execute": "INSTALL_SCOPE.setOptions(INSTALL_OPTIONS)"
},
{
"options": ["_product"],
"execute": "INSTALL_SCOPE.setProduct(INSTALL_PRODUCT)"
}
]
}
}
let options = INSTALL_OPTIONS
let product = INSTALL_PRODUCT
function renderApp () {/*...*/}
window.INSTALL_SCOPE = {
setOptions (nextOptions) {
options = nextOptions
renderApp()
},
setProduct (nextProduct) {
product = nextProduct
renderApp()
}
}
🗣 Comments & Ratings
Our previous newsletter included two of our most requested features: customer feedback, and install metrics. Together these features have helped developers reach out to their customers and track down issues. Customers can now share their feedback publically with comments and ratings:

Comments for previous releases are initially hidden to emphasize the most recent feedback. As customers send in new feedback, previous ratings will have less of an impact on your app’s sentiment. Apps that score well with customers will gradually increase your visibility in the public listing as well!
🚦 Mananging DNS via Apps
We’ve saved the best for last! App developers can now manage a customer’s DNS records. The simplest way to define a DNS record is directly in your app’s install.json
file. This for example, would allow a customer to create a CNAME to send traffic to your domain, and insert a A
record on their root domain:
{
"resources": [/*...*/],
"hooks": [/*...*/],
"options": {
"properties": {
"subdomain": {
"type": "string"
}
}
},
"dns": [
{
"type": "CNAME",
"name": "{{subdomain}}",
"content": "shops.myservice.com"
},
{
"type": "A",
"content": "1.2.3.4",
"ttl": 60,
"proxied": true
}
]
}
The customer can then confirm your changes after before completing their installation.

DNS records make it possible to add new records to a customer’s account for your email services, blogging platforms, customer management systems, and much, much more!
⚙ Other Platform Improvements
We’ve made hundreds of changes since our last newsletter, some more visible than others. Here’s a quick recap of some our favorites:
- New Cloudflare customers are onboarded with apps after registration
- Updated docs on “item add” event
- Developers can now optionally link to their public GitHub repository
- A new input type: Numbers with units!
Thank you 🦃
In the spirit of Thanksgiving, we raise a gravy boat to everyone who made this winter a little warmer. To the all the Cloudflarians and developers who sent in feedback, we say thank you!
Reach out at @CloudflareApps and let us know what you’d like to see next!!!
Until next time! ⛄️️
— Teffen