Reference · Tools
Cloudflare
Manage zone-level authenticated origin pull TLS client certificates via the Cloudflare API v4.
The Cloudflare node manages authenticated origin pull TLS client certificates for a specific Cloudflare zone — upload, list, get, or delete certificates through the Cloudflare API v4. Use it to automate certificate rotation pipelines, where a cert generated upstream gets pushed to Cloudflare without manual dashboard steps. It does not touch DNS records, edge certificates, or firewall rules.
- Node type
- Action
- Parameters
- 10
- Outputs
- Output, Error
- Credentials
- Cloudflare API
Cloudflare
Manage Cloudflare zone TLS certificates.
Overview
Cloudflare is a CDN, DNS, and security platform. This tool manages zone-level authenticated origin pull TLS client certificates, supporting upload, get, list, and delete operations on certificates for Cloudflare zones.
Category: Development
Tool Name: cloudflare
Version: 1
Appearance: Icon: si-cloudflare | Color: #F38020
Node Type
Action — processes input items and produces output
Input / Output
| Direction | Port(s) |
|---|---|
| Input | Input |
| Output | Output, Error |
Credentials
This tool requires Cloudflare API credentials. See the Credentials Guide for setup instructions.
Resources
| Resource | Value |
|---|---|
| Zone Certificate | zoneCertificate |
Operations
| Operation | Value | Description |
|---|---|---|
| Delete | delete | Delete a certificate |
| Get | get | Get a certificate |
| Get Many | getMany | Get many certificates |
| Upload | upload | Upload a certificate |
Parameters
Zone Certificate: Delete
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Zone ID | string | Yes | — | Cloudflare Zone ID. Find it in your Cloudflare dashboard under Overview > Zone ID (right sidebar). Supports expressions. |
| Certificate ID | string | Yes | — | The ID of the certificate to retrieve or delete. Supports expressions like {{ $json.certificateId }}. |
Zone Certificate: Get
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Zone ID | string | Yes | — | Cloudflare Zone ID. Find it in your Cloudflare dashboard under Overview > Zone ID (right sidebar). Supports expressions. |
| Certificate ID | string | Yes | — | The ID of the certificate to retrieve or delete. Supports expressions like {{ $json.certificateId }}. |
Zone Certificate: Get Many
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Zone ID | string | Yes | — | Cloudflare Zone ID. Find it in your Cloudflare dashboard under Overview > Zone ID (right sidebar). Supports expressions. |
| Return All | boolean | No | false | Whether to return all results or only up to a given limit. |
| Limit | number | No | 25 | Max number of results to return. (shown when Return All is false) |
| Filters | collection | No | {} | Optional filters for listing certificates. |
| — Status | options | No | — | Filter by the zone certificate’s status. |
Options: active, expired, deleted, pending |
Zone Certificate: Upload
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Zone ID | string | Yes | — | Cloudflare Zone ID. Find it in your Cloudflare dashboard under Overview > Zone ID (right sidebar). Supports expressions. |
| Certificate Content | string | Yes | — | The zone’s leaf certificate in PEM format. Supports expressions like {{ $json.certificate }}. |
| Private Key | string | Yes | — | The private key for the certificate in PEM format. Supports expressions. |
All Operations
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Max Concurrency | number | No | 10 | Maximum number of items to process concurrently. |
Output Data
The certificate object returned by the Cloudflare API is merged onto the input item’s JSON, so incoming fields pass through and stay addressable downstream. Binary data is forwarded unchanged.
| Operation | Output |
|---|---|
upload | One item carrying the newly created certificate object. |
get | One item carrying the requested certificate object. |
delete | One item carrying the API’s delete result for that certificate. |
getMany | Fans out — one output item per certificate, each merged onto the input item’s JSON. A zone with no matching certificates produces no output items at all. |
Certificate fields come straight from the Cloudflare API v4 result payload — reference them downstream by expression, e.g. {{ $json.id }} or {{ $json.status }}.
Usage Examples
- Upload a TLS certificate for authenticated origin pulls
- List all active certificates for a Cloudflare zone
- Get details of a specific origin pull certificate
- Delete an expired TLS certificate from a zone
Example Configuration
Upload a certificate and its private key to a zone:
{
"type": "cloudflare",
"parameters": {
"resource": "zoneCertificate",
"operation": "upload",
"zoneId": "023e105f4ecef8ad9ca31a8372d0c353",
"certificate": "{{ $json.certificatePem }}",
"privateKey": "{{ $json.privateKeyPem }}"
}
}
Get one certificate by ID:
{
"type": "cloudflare",
"parameters": {
"resource": "zoneCertificate",
"operation": "get",
"zoneId": "023e105f4ecef8ad9ca31a8372d0c353",
"certificateId": "2458ce5a-0c35-4c7f-82c7-8e9487d3ff60"
}
}
List every certificate on a zone:
{
"type": "cloudflare",
"parameters": {
"resource": "zoneCertificate",
"operation": "getMany",
"zoneId": "023e105f4ecef8ad9ca31a8372d0c353",
"returnAll": true
}
}
List at most 50 certificates:
{
"type": "cloudflare",
"parameters": {
"resource": "zoneCertificate",
"operation": "getMany",
"zoneId": "023e105f4ecef8ad9ca31a8372d0c353",
"returnAll": false,
"limit": 50
}
}
List only the active certificates:
{
"type": "cloudflare",
"parameters": {
"resource": "zoneCertificate",
"operation": "getMany",
"zoneId": "023e105f4ecef8ad9ca31a8372d0c353",
"returnAll": true,
"filters": {
"status": "active"
}
}
}
Delete a certificate:
{
"type": "cloudflare",
"parameters": {
"resource": "zoneCertificate",
"operation": "delete",
"zoneId": "023e105f4ecef8ad9ca31a8372d0c353",
"certificateId": "{{ $json.certificateId }}"
}
}
Error Handling
| Mode | Behavior |
|---|---|
| stop | Halts workflow on first error |
| continue | Skips failed items, passes successful ones through |
| errorPort | Routes failed items to Error output port |
Tips
Manages zone-level TLS client certificates on Cloudflare for authenticated origin pulls.
Behavior notes
- This node covers authenticated origin pull certificates only. It does not manage DNS records, edge certificates, firewall rules or any other Cloudflare resource.
- Zone ID is required for every operation. You will find it in the Cloudflare dashboard on the zone’s Overview page, in the right sidebar.
- Upload takes PEM text, not a file. Both Certificate Content and Private Key expect the full PEM block including its BEGIN and END lines; pull them from an upstream node with an expression rather than pasting secrets into the node.
Return Allpages through every certificate; the Limit field is only consulted when Return All is off, and Cloudflare caps the page size at 50.- A certificate list can be empty. When a zone has no certificates matching the filter, the input item produces no output items, so downstream nodes may see nothing at all.
Frequently asked questions
Does this node manage DNS records or edge certificates too?
No. This node is scoped exclusively to zone-level authenticated origin pull certificates. DNS records, edge (server) certificates, firewall rules, and all other Cloudflare resources are outside what this node can do. If you need those, you would have to call the Cloudflare API directly from an HTTP node.
Where do I find the Zone ID that every operation requires?
Log into the Cloudflare dashboard, select your domain, and look at the Overview tab. The Zone ID appears in the right-hand sidebar under the API section. Every operation in this node requires it — there is no way to look it up by domain name from within the node itself.
How do I supply the certificate and private key for an upload — can I attach a file?
The node expects PEM text, not a file path or binary attachment. You paste or, better, inject the full PEM block including the BEGIN and END header lines for both the Certificate Content and Private Key fields. Because private keys are secrets, use an expression to pull them from an upstream node or a credentials store rather than pasting them directly into the node configuration.
What happens when I enable 'Return All' on a list operation, and what is the page size limit?
When Return All is enabled, the node pages through every certificate in the zone automatically, ignoring the Limit field. When Return All is off, the Limit field controls how many results come back. Cloudflare caps the page size at 50, so the node makes multiple requests behind the scenes when there are more certificates than that.
My downstream node received no items after a list operation — is something broken?
Not necessarily. If a zone has no authenticated origin pull certificates, the list operation returns an empty result and produces no output items at all, so any downstream node simply receives nothing. Check that the correct Zone ID was used and that certificates have actually been uploaded to that zone before assuming an error occurred.
Build with the Cloudflare node
Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Cloudflare API credentials first.
Open BusyBotLast updated . Spotted something wrong? Tell us.