feat: guide account setup from the credential modal and README - #13
Merged
Conversation
Someone installing this node with no Cloudinary account had nowhere to start: the credential modal opened straight onto Cloud Name, and its Docs link pointed at the upload API reference, which never says where keys live. Add a notice as the first credential property covering both routes to credentials, and restructure the README auth section to match: the Console path first, then provisioning a Claimable Cloud by asking an agent to run `npx @cloudinary/cloud`. Provisioning is deliberately not a node operation. Cloudinary documents the endpoint as a one-off agent call rather than an API to integrate against, and it fits n8n badly: delivery is IP-restricted until the cloud is claimed (so Transform URLs would not load for anyone else), unclaimed clouds are deleted after 24h, api_secret would land in execution data, and re-runs would provision duplicate clouds into a per-IP rate limit. Repoint credential documentationUrl and the codex credentialDocumentation at the find-credentials FAQ so the modal's Docs link answers the question it is asked. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
eitanp461
requested review from
const-cloudinary and
sveta-slepner
as code owners
August 20, 2026 08:25
Contributor
Author
const-cloudinary
approved these changes
Aug 20, 2026
njb90
approved these changes
Aug 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Summary
Someone installing this node without a Cloudinary account had nowhere to start: the credential modal opens straight onto Cloud Name, and its Docs link pointed at the upload API reference — which never says where keys live. This adds setup guidance at the point of confusion and promotes Claimable Cloud provisioning as the fast route to working credentials.
Changes
noticeproperty, first in the credential, linking to free signup and the Console API Keys page, plus the Claimable Cloud route via "ask an agent to runnpx @cloudinary/cloud" — with the two caveats that matter in n8n stated inline (delivery is IP-restricted until claimed; unclaimed clouds expire in 24h).image_upload_api_referencetodeveloper_onboarding_faq_find_credentials, in bothdocumentationUrland the codexcredentialDocumentation, so the modal's Docs link answers the question it's actually asked.0.2.2for the PR-check gate.Notes
Provisioning is deliberately not exposed as a node operation. Cloudinary documents the endpoint as "a one-off call that an agent makes… not an API to integrate against in code," and it fits n8n's execution model badly on four counts:
delivery_ipsblocks media at the CDN edge for every address except the ones registered at provisioning time, so thesecure_urls our Transform ops build wouldn't load for anyone else; unclaimed clouds and their assets are deleted after 24h;api_secretwould land in execution data and run logs; and every re-run or input item would provision another cloud into a per-IP rate limit. No n8n community node provisions its vendor's own SaaS account — Vercel's Claim Deployments and Neon's Claimable Postgres both expose this primitive through API/CLI/MCP for the building platform, never as an end-user automation step.A notice is also the only affordance available here: n8n's
buttonConfig.actionsupports onlyaskAiCodeGeneration, so a click-to-provision button in the credential modal isn't buildable. Notice content is sanitized to<a>/<ul>/<li>, which is why the command appears in quotes rather than a<code>tag.Version collision: this takes
0.2.2, since #12 already claims0.3.0. Whichever lands second needs a re-bump.How to Test
Then load the built node into a local n8n:
Add a Cloudinary node → Create new credential, and confirm: the notice renders above Cloud Name as prose; all three links open in a new tab; the command shows as plain text with no stray markup; and the header Docs link lands on the find-credentials FAQ.
Verified locally:
lintclean,buildcompiles, 242 tests passing, andbackward-compatibility-checkreports 0 breaking changes withsetupNoticedetected as an additive credential parameter.🤖 Generated with Claude Code