How to Integrate Brandfolder with Your Headless CMS
Connect Brandfolder to your headless CMS so approved images, videos, logos, and campaign assets stay tied to structured product and editorial content without copy-paste work.
What is Brandfolder?
Brandfolder is a digital asset management platform from Smartsheet for organizing, distributing, and tracking brand assets. Teams use it to centralize images, videos, logos, guidelines, metadata, permissions, and shareable collections. It's common in marketing, creative operations, retail, consumer goods, and agency teams that need approved assets available across many channels.
Why integrate Brandfolder with a headless CMS?
Brandfolder usually holds the approved asset. Your headless CMS usually holds the context around that asset, such as product names, campaign dates, localized copy, SEO fields, market availability, and legal disclaimers. If those systems don't talk to each other, editors end up copying filenames, downloading and re-uploading images, or pasting asset URLs into fields that nobody trusts six months later.
Architecture overview
A typical Sanity and Brandfolder integration starts when an editor publishes content in Sanity Studio, such as a product page with a referenced hero image and campaign metadata. A Sanity webhook listens for the publish event and sends the document ID to a Sanity Function or webhook endpoint. That server-side handler uses @sanity/client and a GROQ query to fetch only the fields Brandfolder needs, such as title, slug, image URL, alt text, campaign name, region, usage rights, and referenced category data. The handler then calls Brandfolder's REST API v4, commonly using a section key to create or update an asset in Brandfolder, and then adds an attachment or metadata fields tied back to the Sanity document ID. Brandfolder indexes the asset, applies its permissions and sharing model, and exposes the asset through Brandfolder search, collections, portals, embed links, or CDN-backed delivery. The end user may see the final asset on a website powered by Sanity, inside a Brandfolder portal, or in another downstream channel that uses the same structured data.
Common use cases
Sync product launch assets
When a product page is published in Sanity, send the hero image, product slug, category, launch date, and campaign tags to a Brandfolder section.
Localize brand asset metadata
Map Sanity locale fields, market availability, and regional disclaimers to Brandfolder custom fields so teams can find the right asset for each market.
Publish only approved campaign assets
Use Brandfolder asset IDs in Sanity fields so editors select approved logos, videos, and images instead of uploading duplicates.
Build partner and sales portals
Combine Sanity product content with Brandfolder collections so resellers get current copy, approved imagery, and usage notes in one experience.
Step-by-step integration
- 1
Set up Brandfolder access
Create or choose the Brandfolder and section that should receive synced assets. In Brandfolder, generate an API key from your user or organization settings, then note the Brandfolder key and section key from the Brandfolder URL or API response. Confirm the key can create assets and attachments in the target section.
- 2
Install the Sanity client
Install @sanity/client in the service that will receive Sanity webhook events or in a Sanity Function. Store SANITY_PROJECT_ID, SANITY_DATASET, SANITY_API_TOKEN, BRANDFOLDER_API_KEY, and BRANDFOLDER_SECTION_KEY as environment variables.
- 3
Model the content in Sanity Studio
Add fields that give Brandfolder useful context, such as title, slug, heroImage, altText, campaign, market, productCategory, usageRights, and brandfolderAssetId. If Brandfolder is the source of approved binaries, store the Brandfolder asset key in Sanity instead of duplicating the file.
- 4
Create the sync trigger
Create a Sanity webhook that fires on publish for the document types you want to sync, such as product, landingPage, or campaign. Use a GROQ-powered webhook filter so drafts and unrelated content changes don't call Brandfolder.
- 5
Call Brandfolder from server-side code
In a Sanity Function or webhook listener, fetch the full document with GROQ, then call Brandfolder's REST API v4. For new assets, create the asset in the target section, attach the Sanity-hosted image URL, and write the Brandfolder asset key back to Sanity if you need a persistent link.
- 6
Test the editor and frontend paths
Publish one test document, verify the asset appears in Brandfolder with the expected tags and custom fields, and render the frontend with both Sanity data and Brandfolder asset links. Test updates, deletes, missing images, expired API keys, and duplicate publishes before rolling it out to editors.
How Sanity + Brandfolder works
Build your Brandfolder integration on Sanity
Sanity gives you the structured content foundation, real-time event system, and flexible APIs to connect Brandfolder with the rest of your AI content operations.
Start building free →CMS approaches to Brandfolder
| Capability | Traditional CMS | Sanity |
|---|---|---|
| Asset metadata quality | Content Lake structures content as typed JSON, with references that GROQ can join into one Brandfolder-ready payload. | |
| Sync timing | Webhooks trigger on publish, update, or delete, and Functions can run Brandfolder API calls without a separate worker. | |
| Field-level control | GROQ can fetch title, slug, image URL, alt text, campaign, region, and related category data in one query. | |
| Editorial workflow | Sanity Studio can add Brandfolder asset pickers, validation, previews, and fields that match how your team approves assets. | |
| Multi-channel reuse | The same structured content can feed web, mobile, Brandfolder, partner portals, and AI agents through APIs and Agent Context. | |
| Implementation trade-offs | You write the schema and sync logic in code, which gives control, but it does require developer ownership. |
Keep building
Explore related integrations to complete your content stack.
Sanity + Cloudinary
Use Cloudinary for image and video transformations while Sanity supplies structured product, campaign, and editorial context.
Sanity + Mux
Connect structured content in Sanity with Mux video assets, playback IDs, thumbnails, and publish workflows.
Sanity + Bynder
Tie Bynder assets to structured Sanity content so brand-approved media can move into web, mobile, and campaign experiences.