# What agents can do Source: https://help.heydenada.com/agents/capabilities Every tool Denada's MCP server exposes, organized by area, and how the checkout and commit model works Once [connected](/agents/connecting), an agent sees a set of tools covering projects, libraries, images, fonts, docs, and more. Tools respect the same permissions as the user whose token is used — an agent can only see and change what you can. > [!NOTE] > > Some tool names say `template` — that's the historical name for projects in Denada's data model. The tools operate on your projects; the surrounding documentation the agent reads makes this clear. ## Projects | Tool | What it does | | - | - | | `list_templates` | Lists the team's projects with names, subjects, and ids | | `create_template` | Creates a new, empty project bound to a library | | `checkout_template` | Downloads a project as editable files (blocks, parameters, variations) | | `commit_template` | Commits edited files back as one all-or-nothing change | | `update_template_library` | Refreshes a project to the latest version of its library | | `render_template` | Returns a URL rendering the project to final HTML for inspection | | `delete_template` | Deletes a project (locked projects can't be deleted) | ## Libraries | Tool | What it does | | - | - | | `list_libraries` | Lists the team's libraries with their ids, names, and types | | `get_library_overview` | Returns a library's structure: blocks, parameters, and instructions | | `checkout_library` | Downloads a whole library as editable files (shell, blocks, parameters) | | `commit_library` | Commits edited files back as a new version, with a message | | `new_library` | Creates a new, empty library | | `render_library_preview` | Returns a URL rendering the library (or one block) with example values | ## Images | Tool | What it does | | - | - | | `list_collections` | Lists the team's image collections and their usage instructions | | `search_assets` | Searches the image library by text (semantic or keyword) | | `get_asset` | Inspects one image: hosted URL, metadata, and a visible preview | | `create_asset` | Saves an image to the team's image library | | `generate_image` | Generates an image from a prompt, optionally remixing reference images | | `upload_image` | Hosts an image file from the agent's workspace | > [!NOTE] > > `generate_image` only works when your team's [AI images setting](/image-library/ai-images) is enabled. Teams that keep it off can still search and place existing assets. ## Fonts | Tool | What it does | | - | - | | `list_fonts` | Lists the team's hosted fonts with CDN URLs for use in libraries | | `create_font` | Hosts a font file (WOFF2, WOFF, TTF, OTF) on the team's CDN | Hosted fonts are the same ones shown in the team's [Fonts](/libraries/fonts) area. ## Docs | Tool | What it does | | - | - | | `list_docs` | Lists the team's docs and folders (the knowledge base) | | `get_doc` | Reads a doc's content | | `create_doc` | Creates a new doc from text content | | `edit_doc` | Edits a doc by exact find and replace | | `update_doc` | Replaces a doc's content, renames it, or moves it | | `delete_doc` | Deletes a doc | ## Checking its work | Tool | What it does | | - | - | | `screenshot_page` | Renders a URL in a headless browser and returns a screenshot | | `fetch_rendered_page` | Loads a URL in a headless browser and returns the content as markdown | Agents typically pair these with `render_template` or `render_library_preview` to visually verify edits before declaring them done. ## Everything else | Tool | What it does | | - | - | | `get_teams` | Lists the teams you belong to, with membership level and plan | | `send_feedback` | Sends a bug report, feature request, or question to the Denada team | | `read_guide` | Reads the built-in guides on libraries, projects, images, email HTML, and more | ## The checkout and commit model Editing projects and libraries works like lightweight version control: 1. **Checkout.** `checkout_template` or `checkout_library` returns a short-lived download URL for a gzipped tarball containing the content as ordinary files — JSON for structure and parameters, HTML for blocks and the shell — plus a `baseHash` identifying the version checked out. 2. **Edit.** The agent extracts the files in its workspace and edits them with its normal tools, changing only what needs to change. 3. **Commit.** `commit_template` or `commit_library` uploads the whole directory back with the `baseHash` and a short message. The commit is all-or-nothing: * **Success** — the change is applied atomically and appears in the version history with the agent's message. * **Validation failure** — nothing is applied; the agent gets a list of errors to fix before retrying. * **Conflict** — if the content changed since the checkout (say, a teammate edited it in the app), the commit is rejected. The agent checks out fresh, reapplies its changes, and retries — so nobody's work gets silently overwritten. Because every commit lands in the same version history as in-app edits, you can review and roll back agent changes just like any other — see [version history](/editor/version-history). # Connecting your agent Source: https://help.heydenada.com/agents/connecting Point any MCP-capable agent at Denada's server with your personal API token Any agent that supports MCP over HTTP can connect to Denada. You need two things: the server URL and a personal API token. ## The server Denada's MCP server lives at: ``` https://cloud.heydenada.com/api/mcp/denada ``` It uses MCP's streamable HTTP transport with plain JSON responses — stateless, with no SSE or session affinity — so it works with every mainstream MCP client. Authentication is a standard bearer token on each request: ``` Authorization: Bearer ``` ## Get an API token Your agent authenticates with a personal API token that lets it act as you: 1. Click your account avatar in Denada and choose **Manage API token**. 2. Click **Generate token**, then copy it. You can regenerate or delete the token from the same dialog at any time — any agent using the old token immediately stops working. > [!NOTE] > > This personal token is different from the team [API tokens](/team/api-tokens) in team settings, which are used by integrations like the Figma plugin. Agents connect with your personal token only. ![API token dialog showing a generated personal token with a copy control and Delete, Regenerate, and OK buttons](https://mintcdn.com/denada/xjX7XM-d7P3k40as/images/generated/personal-api-token.png?fit=max\&auto=format\&n=xjX7XM-d7P3k40as\&q=85\&s=fd077854353b8fb527b70b1426d7642f) > [!WARNING] > > Treat the token like a password: it grants everything your account can do. Don't commit it to source control or share it. > [!TIP] > > The **Edit with external tools** option in the chat sidebar of the library and project editors does all of this for you — it generates your token and shows connect commands with the token already filled in. ## Claude Code ```bash theme={null} claude mcp add --transport http denada "https://cloud.heydenada.com/api/mcp/denada" --header "Authorization: Bearer " ``` ## Codex Add to `~/.codex/config.toml`: ```toml theme={null} [mcp_servers.denada] url = "https://cloud.heydenada.com/api/mcp/denada" http_headers = { "Authorization" = "Bearer " } ``` ## Gemini CLI ```bash theme={null} gemini mcp add --transport http denada "https://cloud.heydenada.com/api/mcp/denada" --header "Authorization: Bearer " ``` ## Cursor and other MCP clients Most other clients accept a JSON MCP configuration along these lines (Cursor: `.cursor/mcp.json`): ```json theme={null} { "mcpServers": { "denada": { "url": "https://cloud.heydenada.com/api/mcp/denada", "headers": { "Authorization": "Bearer " } } } } ``` ## Try it out Once connected, give your agent a first task to confirm everything works: > Check out my Denada library and give me an overview of its blocks. The agent will discover Denada's tools and built-in guides on its own from there. See [What agents can do](/agents/capabilities) for everything it has access to. # Working with AI agents Source: https://help.heydenada.com/agents/overview Connect coding agents like Claude Code, Cursor, or Codex to Denada and let them work on your projects, libraries, images, and docs Denada exposes an MCP (Model Context Protocol) server, so you can connect the agents you already use — Claude Code, Cursor, Codex, Gemini CLI, and any other MCP-capable tool — and have them work on your Denada content from outside the product. The agent acts as you, with the same access you have, and everything it changes shows up in Denada immediately. ## What an agent can do Once connected, an agent can: * **Work on projects** — list your projects, check one out as plain files, edit its blocks, parameters, subject, and variations, and commit the result back. * **Build and edit libraries** — check out a whole library (its blocks, HTML, and parameters), make sweeping edits with real developer tools, and commit them as a new version. * **Check its own work** — render a project or library preview, take screenshots of pages in a headless browser, and iterate until things look right. * **Find and create images** — search your team's image library, save new assets, generate images from a prompt, and upload files from its workspace. * **Read and write your docs** — use your team's knowledge base (brand guidelines, briefs, notes) as context, and keep it up to date. * **Send feedback** — file bug reports or feature requests to the Denada team on your behalf. See [What agents can do](/agents/capabilities) for the full tool list. ## How editing works For projects and libraries, agents use a checkout → edit → commit model, much like version control: 1. The agent checks out the project or library as a folder of ordinary files (JSON and HTML). 2. It edits those files locally with its own tools. 3. It commits the whole thing back in one all-or-nothing step, with a short message describing the change. Every commit appears in the version history alongside changes made in the app, so you can review what the agent did — and roll it back — just like any other edit. Commits are validated before they're applied, and if someone else changed the content in the meantime, the commit is rejected so nothing gets overwritten. ## Built-in guides You don't need to teach your agent how Denada works. The MCP server includes a `read_guide` tool with built-in documentation the agent discovers and reads on its own — guides covering libraries, the library authoring format, projects, images, email HTML compatibility, docs, and more. A well-behaved agent will consult these before making changes. ## Where to start The quickest entry point is inside Denada itself: in the chat sidebar of the library editor or project editor, look for **Edit with external tools**. It generates your API token and gives you a ready-to-paste connect command for your agent of choice. Or set things up manually — see [Connecting your agent](/agents/connecting). > [!NOTE] > > Agents authenticate with your personal API token and can only see and change what you can. AI image generation additionally requires your team's [AI images setting](/image-library/ai-images) to be enabled. # How Denada works Source: https://help.heydenada.com/concepts/how-denada-works Understand the conceptual model behind Denada: projects, libraries, blocks, parameters, and variations Denada is an AI-powered platform that helps marketing teams create on-brand emails and landing pages quickly. You describe what you need in a conversation, Denada generates a draft, and you refine it in an editor — all without writing any code. ## The big picture There are three things to know: 1. **Your brand is built into the system.** Your team's design system — layouts, fonts, colors, spacing — lives in a **library** that Denada uses every time it creates a project. This means everything it generates is already on-brand. 2. **You create projects through conversation.** Instead of starting from a blank page, you give Denada context — type a prompt, upload a creative brief, attach reference images, or paste a URL. The more Denada understands about what you're trying to do, the better the result. It builds your project using your library and you iterate through back-and-forth chat until the draft is right. 3. **You fine-tune in the editor.** Chat and the editor live side by side in the same project view. While Denada builds your project on the left, you can switch to the **Edit** tab on the right to adjust text, swap images, reorder sections, and preview how it looks on desktop and mobile. Everything stays in sync. ## The building blocks A few nouns come up everywhere in Denada. Here is how they fit together: * **Project** — a single piece of creative: one email or one landing page. Projects are what you create, edit, share, and export. Whether a project is an email or a landing page depends on the library it was created from. * **Library** — your team's design system, made up of reusable **blocks**. Libraries are typically created by developers or the Denada team during onboarding, and they work behind the scenes every time you create something new. You don't need to build or manage them yourself. * **Block** — one section of a design: a hero banner, a product card, a footer. When you create a project, you're assembling blocks from your library into a layout. * **Parameter** — the editable content inside a block: a headline, an image, a button label, a link. Parameters are the "fill in the blanks" of each block — they let you change content freely while the underlying design stays on-brand. * **Variation** — an alternate version of a project, like a different audience segment, a translation, or an A/B test arm. Variations live inside the project alongside the original. > [!TIP] > > If you're curious about how libraries work under the hood, see the [Libraries overview](/libraries/libraries-overview). ## The workflow ### 1. Start a project Create a new project and give Denada context — describe the email or landing page you want, upload a creative brief, attach reference images, or paste a URL. Denada generates a draft using your team's library. Keep chatting to make changes: adjust the copy, try a different layout, add a section. [Learn more about creating projects →](/creating/new-projects) ### 2. Edit Switch to the **Edit** tab to take direct control over every block in your project -- update headlines, swap images, toggle optional sections on or off, and preview on different screen sizes. [Learn more about the editor →](/editor/editor-interface) ### 3. Create variations Need multiple versions? Generate variations automatically for translations, different audience segments, or A/B testing. By default, Denada keeps the same layout and structure across variations and just changes the content. If you want something more different — like a shorter version with fewer blocks — just say so (e.g., "Make an alternate, more concise version of this email with different blocks for a test"). [Learn more about variations →](/editor/variations) ### 4. Collaborate Share your project with teammates and stakeholders for feedback. Leave comments on specific sections, @mention colleagues, and publish a preview link so people outside your team can review and leave feedback — no Denada account required. Version history is tracked automatically so you can always roll back. [Learn more about collaboration →](/editor/comments-and-collaboration) ### 5. Export When you're ready, click **Share** to export. Push directly to your email platform — Denada integrates with Iterable, Braze, HubSpot, Klaviyo, Salesforce Marketing Cloud, and Campaign Monitor. You can also export as an image, PDF, ZIP, or CSV, copy the HTML, send a proof email to test how it looks in real inboxes, or publish a landing page straight to the web. [Learn more about exporting →](/exporting/export-formats) ## Images The image library is where your team stores logos, product photos, and other visuals. Upload images and Denada will automatically tag them with descriptions so they're easy to find. When you're building a project — either in chat or the editor — you can pull images directly from your library. [Learn more about the image library →](/image-library/collections) # Interface overview Source: https://help.heydenada.com/concepts/interface-overview A tour of the Denada app: the sidebar, the project view, search, and teams Denada is organized around a single left sidebar for navigating your team's content, and a project view where you create and refine each email or landing page. This page is a tour of the app itself — for the concepts behind projects, libraries, and blocks, see [How Denada works](/concepts/how-denada-works). Everything is 100% mobile friendly too, so you can do all of this from your phone. ## The sidebar The left sidebar is your main navigation hub: ![The Denada sidebar with Projects, Libraries, Images, Fonts, Docs, Support, and Help sections](https://mintcdn.com/denada/vD14D0xpOQNEh5R4/images/generated/team-sidebar.png?fit=max\&auto=format\&n=vD14D0xpOQNEh5R4\&q=85\&s=69db2280316618d1d4d9de38d61e353e) * **Projects** -- browse and organize your team's projects. * **Libraries** -- view your team's design libraries. This section appears only if you have library permissions on your team. * **Images** -- your team's [image library](/image-library/collections). * **Fonts** -- [host custom web fonts](/libraries/fonts) for your libraries (also permission-gated, like Libraries). * **Docs** -- reference documents like brand guidelines that Denada can read while it works. * **Support** -- chat directly with the Denada support team. * **Help** -- opens this help site in a new tab. At the bottom of the sidebar, your team name opens a menu with **Team settings**, **Invite members**, and a **Switch Teams** list. On demo plans, a **Demo usage** meter also appears above it showing how much of your trial usage remains. > [!NOTE] > > On the Team plan, the **Projects** section gains **Mine**, **Team**, and **Private** filters so you can separate your own work, shared team work, and private drafts. The **Images** section similarly lists your image collections. ## Search Click the search button at the top of the sidebar — or press **Cmd+K** (**Ctrl+K** on Windows) from anywhere — to open a search dialog that jumps straight to projects, folders, images, chats, comments, and canvases across your team. ## The project view Inside a project, the preview and the editing tools live side by side: * **Left side** -- the live preview of your email or landing page. For emails, the subject line appears above the preview, and you can switch between desktop and mobile widths. The **Share** button in the toolbar handles publishing and exporting. * **Right side** -- a sidebar with tabs: **Chat**, **Edit**, **Variations**, **Comments**, and **Options**. Use **Chat** to work conversationally with Denada, **Edit** for direct control over blocks and parameters, and **Options** for project settings and version history. You can move between the tabs freely — chat with Denada, then fine-tune the result by hand, then chat some more. Everything stays in sync. [Learn more about the chat interface](/creating/chat-interface) [Learn more about the editor interface](/editor/editor-interface) ## Teams Everything in Denada lives inside a team. A team can be a whole marketing department or just you — projects, images, libraries, and docs are all scoped to the team you're currently viewing. If you belong to more than one team, switch between them from the team menu at the bottom of the sidebar. [Learn more about team management](/team/team-management) ## Appearance Denada follows your device's appearance setting automatically — if your system is in dark mode, so is Denada. > [!NOTE] > > This overview is a high-level look at the app. Each area has more advanced > capabilities covered in its dedicated documentation. # Chat interface Source: https://help.heydenada.com/creating/chat-interface Create emails and landing pages through natural conversation with Denada The chat interface is your primary starting point for creating projects in Denada. It provides a natural way to generate and refine your work through conversation. A new project opens on the chat-first ["What would you like to make?" screen](/creating/new-projects). You can also chat inside any existing project by switching to the **Chat** tab in the right sidebar — it works exactly the same way. ## Giving Denada context Denada works best when it understands what you're trying to do. You can provide context in several ways, and combine them freely in a single message: * **Type a prompt** describing what you need. * **Use voice input** — when the chat box is empty, a microphone button appears; speak your request and Denada transcribes it into the box. * **Attach files** with the attachment button — images, text files, PDFs, or documents like creative briefs. You can also drag and drop files onto the chat, or paste an image directly. * **Paste a URL** to pull in content from a web page (see below). > [!TIP] > > Pasting a long block of text (like a brief) automatically turns it into a text attachment, keeping your message tidy while giving Denada the full content. ## Creating content through conversation 1. Describe what you want to create (e.g., "I need a promotional email for our spring sale with a hero image and a CTA button"). 2. Denada will respond with clarifying questions or an initial draft. 3. Continue the conversation to refine the content: * Request changes: "Make it more casual in tone" * Ask for alternatives: "Can you give me another version?" * Add specifics: "Include a 20% discount code" 4. As Denada works, the draft appears in the preview area on the left side of the screen. Switch to the **Edit** tab in the right sidebar to make manual adjustments at any time. ### Targeting a specific block Once your project has a layout, you can click on any block in the preview to focus Denada on just that section. A **"Focused on \[block name]"** badge appears in the chat input to confirm the target. If you don't click a block, Denada considers the entire project when responding. This is useful when you want to change a headline, swap an image, or rework the copy in one section without affecting the rest of the project. ### Reviewing proposed changes When Denada makes a change, it shows the proposed update as a draft. You can toggle between the before and after to see exactly what changed. A banner at the top of the preview gives you two options: * **Accept** — applies the change to your project. * **Cancel** — discards the change and keeps the original. You need to accept or cancel the proposed change before sending another message in the chat. ![A proposed change in the preview, with a banner offering Cancel and Accept](https://mintcdn.com/denada/vD14D0xpOQNEh5R4/images/generated/proposed-changes.png?fit=max\&auto=format\&n=vD14D0xpOQNEh5R4\&q=85\&s=e3af19498457f789f7babfc07b9471d8) ## Pulling in content from URLs Paste one or more URLs into the chat and Denada will extract content and images from each page, as long as the website allows it. This is a fast way to incorporate product details, blog content, or company information without copying and pasting anything yourself. You can guide what gets extracted and how it's used: ``` Please extract information about pricing and features from https://example.com/product. Use images from the page if possible. ``` ``` Use the customer testimonials from https://example.com/case-study for a promotional email. ``` Multiple URLs work too — if your email links to several product pages, paste them all and Denada will scan each one and pull in the relevant content and visuals. A few things to know: * **Denada cannot browse between pages.** It only scans the specific URLs you provide — it won't follow links from one page to another. Paste each URL you want scanned. * **Denada prefers images from your collections by default.** If you want it to use images from the extracted page instead, say so explicitly. * Content behind login screens can't be extracted, and extraction respects each website's permissions, so some pages may decline to be scanned. ## Finding and generating images Denada can search your team's image library right from the conversation — just describe the kind of image you need, and it will pick relevant options. If your team has AI image generation enabled, you can also ask Denada to generate brand-new images. [Learn more about AI images](/image-library/ai-images) ## Reading your team's docs Denada can read documents stored in your team's **Docs** section and use them as context. This is useful for checking your work against brand guidelines, legal requirements, compliance rules, or any other reference material your team has uploaded. For example, you can ask "Can you review my legal document to make sure we are compliant?" and Denada will pull up the relevant doc, read it, and check your email against it. [Learn more about Docs →](/organizing/docs) ## Conversation memory The chat remembers your entire conversation, allowing you to: * Reference information mentioned earlier. * Build upon previous instructions. * Refine content through multiple iterations. ## Switching between chat and the editor Chat and the editor live side by side in the same project view. To switch from chat to manual editing: 1. Click the **Edit** tab in the right sidebar. 2. You will see all blocks and parameters ready to adjust. 3. Switch back to the **Chat** tab at any time to continue the conversation. ## Best practices Denada produces better results when it has more context to work with. Here are some ways to get the most out of chat: * **Give context up front.** Attach a creative brief, paste a URL, or describe your audience, goals, and tone in your first message. * **Upload reference images.** If you have a design to match or a photo you want included, attach it directly. * **Be specific.** "Create a two-column email announcing our spring sale to existing customers, casual tone, with a hero image and a 20% off CTA" gives much more to work with than "make me an email." * **Iterate gradually** rather than requesting major changes all at once. * **Combine inputs.** You can attach a brief, paste a URL, and type additional instructions all in one message. [Learn more about the editor interface](/editor/editor-interface) > [!NOTE] > > The chat interface is designed for ideation and initial content creation. For > detailed formatting and design adjustments, switch to the Edit tab > in the right sidebar. # Landing pages Source: https://help.heydenada.com/creating/landing-pages Create web landing pages the same way you create emails Denada projects come in two kinds: emails and landing pages. Which one you get is determined by the library you create the project from — an email library produces an email, and a site library produces a landing page. Everything else works the same: you build through [chat](/creating/chat-interface), refine in the editor, and collaborate with your team just like any other project. If your team doesn't have a site library yet, contact the Denada team about setting one up. ## What's different for landing pages Landing pages skip the email-specific machinery: * **No email options.** The **Options** tab has no subject line, preheader, or tracking settings — those only apply to emails. * **Web-sized previews.** The preview's **Above the fold** guides show typical browser viewports (like laptop and phone screens) instead of email client windows, so you can gut-check what visitors see before scrolling. * **Publishing is the delivery.** Instead of exporting to an email platform, you put a landing page live by publishing it to the web. ## Publishing your page When your page is ready, click **Share** and turn on **Publish to web**. Your page goes live at a Denada-hosted link that you can open with **View on web** or share with **Copy link**. Teams can also serve published pages from their own domain — once a custom domain is set up in team settings, the **Share** menu adds **View on custom domain** and **Copy custom domain link**. Choose **Set custom link** in that section to give your page a readable address like `denada.yourcompany.com/spring-sale`. [Learn more about publishing to the web](/exporting/publish-to-web) [Learn more about custom domains](/team/custom-domains) # Creating projects Source: https://help.heydenada.com/creating/new-projects Start a new email or landing page from the + New menu Every email or landing page in Denada is a project. This page covers the ways to start one. ## The + New menu Click **+ New** in the top-right corner of the projects list. The menu offers: * **New project** -- create a new email or landing page from one of your team's libraries. * **Import project** -- create a project from a `.project` file, even one exported from another team. * **New folder** -- create a folder to organize projects (when browsing a folder view). * **New canvas** -- create a canvas to display multiple projects side-by-side. > [!NOTE] > > Folders and canvases are available on the Team plan. If you're browsing your private projects, the menu reads **New private project** instead. ## Choosing a library The library you pick determines what kind of project you get: an email library produces an email, and a site library produces a [landing page](/creating/landing-pages). It also determines the design system — blocks, fonts, colors — the project is built from. * If your team has **one library**, Denada skips the picker and goes straight to naming: you can name your project now or skip it for later. * If your team has **multiple libraries**, a **Select library** dialog appears so you can choose which one to create from. ![The Select library dialog showing tiles for several team libraries](https://mintcdn.com/denada/xjX7XM-d7P3k40as/images/generated/select-library.png?fit=max\&auto=format\&n=xjX7XM-d7P3k40as\&q=85\&s=c7fe77708abbb1363a1562138e0793f5) [Learn more about libraries](/libraries/using-libraries) ## The "What would you like to make?" screen A new project opens on a chat-first screen asking **"What would you like to make?"**. This is the fastest way to get a first draft: the more context you give Denada, the better the result. ![The new project screen asking what you would like to make, with the chat input and Skip and go to editor link](https://mintcdn.com/denada/vD14D0xpOQNEh5R4/images/generated/new-project.png?fit=max\&auto=format\&n=vD14D0xpOQNEh5R4\&q=85\&s=25462d7c1dab455941fb025f18963161) From here you can: * **Type a prompt** describing what you need. * **Attach files** — creative briefs, reference images, PDFs, or documents. * **Paste a URL** for Denada to extract content and images from. * **Use voice input** with the microphone button to speak your request. When you send your message, Denada starts building and you land in the project view, where the draft appears in the preview as it's generated. [Learn more about the chat interface](/creating/chat-interface) ### Skip and go to editor Prefer to build by hand? Click **Skip and go to editor** to jump straight into the editor with an empty project. You can still chat with Denada at any time from the **Chat** tab — skipping just bypasses the initial prompt screen. ### Starter prompts on demo teams On demo teams, the new-project screen shows a **Try a sample** section with ready-made prompts. Click one and Denada fills the chat box with it — send it as-is to generate a sample project, or edit it first. ## Importing a project Choose **Import project** and select a `.project` file (created with **Export project** in any project's options menu, even on another team). Denada creates a new project from the file's contents. If the file references a library your team doesn't have, you'll be asked to select one of your team's libraries to link it to. # Comments and collaboration Source: https://help.heydenada.com/editor/comments-and-collaboration Leave feedback, discuss changes, and collaborate with your team in the project editor Denada's comment system lets you and your team discuss specific parts of a project without leaving the editor. You can have threaded conversations, tag teammates, and even collect feedback from external reviewers through a published link. > [!NOTE] > > Comments are available on the Team plan. ## Adding comments To leave a comment on a project: 1. Switch to the **Comments** tab in the right sidebar (Ctrl+4). 2. To tie your comment to a specific block, click that block in the preview — the panel filters to that block, and new comments attach to it. 3. Type your message in the **Add a comment** box and submit it. For email projects, you can also click the subject and preheader header above the preview to attach your comment to the **Subject & preheader** — handy when a copywriter wants feedback on subject line options. ![The Comments panel with a comment from a teammate attached to the Photo Hero block](https://mintcdn.com/denada/NyzQoREZNdsRbVqa/images/generated/editor-comments.png?fit=max\&auto=format\&n=NyzQoREZNdsRbVqa\&q=85\&s=42f08f2faaba62152cb44761f3ae37f7) Your comment appears in the sidebar alongside a highlight on the referenced block, making it easy for others to see exactly what you are talking about. In the preview, anything with comments shows the commenters' avatars, so discussions are visible at a glance while you are on the Comments tab. ## Threaded discussions Each comment starts a thread. Click on an existing comment to expand it and add a reply. This keeps conversations organized -- one thread per topic instead of a single flat list. ## @mentions Tag a teammate in a comment by typing `@` followed by their name. They will receive a notification so they know to take a look. This is useful for calling attention to a specific change or asking someone to review a section. ## Public vs. private comments Denada has two kinds of comments, and they are treated differently: ### Private comments Private comments are created by your team inside the Denada editor. They are only visible to logged-in members of your Denada team — external reviewers never see them. * Private comments are the default when you add a comment in the editor. * Use them for internal feedback, design discussions, and notes to teammates. * You can make a thread public with the **Public** toggle in the **⋯** menu next to the thread. ### Public comments Public comments come from the published page. When you publish a project to the web and share the link, anyone viewing that page can leave comments — no Denada account required. * Public comments are always visible to everyone, including external reviewers. * They appear with a different visual style in the sidebar so you can tell them apart from private comments at a glance. * You can make a public thread private by turning off its **Public** toggle if you want to hide it from the published page. * If your project has variations, reviewers can switch between them on the published page and leave comments on each variation individually. Comments are filtered by variation so feedback stays tied to the right version. For how publishing itself works — creating the link, access, updates — see [Publish to web](/exporting/publish-to-web). > [!TIP] > > Use private comments for internal iteration with your team, and share the published link when you are ready for external stakeholder feedback via public comments. ## Sorting and filtering The **⋯** menu at the top of the Comments panel controls what you see: * **Sort by** — **Date** (newest first) or **Layout order** (matching the top-to-bottom order of blocks in your project). * **Show resolved comments** — include threads that have already been resolved. * **Show private comments** — turn off to see only public comments. The same menu sets your notification level for this project's comments: **Everything**, **Replies and mentions** (only threads you participate in, plus any comment that mentions you), **Just mentions**, or **Nothing**. ## Exporting comments as a PDF To share feedback with someone who doesn't use Denada, or to keep a record of a review round, export the comments as a PDF: 1. Set the filters you want in the **⋯** menu at the top of the Comments panel, such as turning off **Show resolved comments**. If your project has variations, select the one you want first. 2. Under **Export** in the same menu, click **Download as PDF**. The PDF matches what you see in the panel. It opens with the whole email, so every comment can be read in context, followed by the comments about the email as a whole, the **Subject & preheader**, and then each block in order, with the block's picture next to the comments on it. Tall pages continue over several PDF pages. The cover shows your team's name and logo. Denada builds the PDF in the background, so you can keep working. A notification shows its progress and, when it's ready, a link to download it. The link expires after an hour; export again if you need a fresh one. ## Resolving comments Once feedback has been addressed, resolve the thread to keep the sidebar clean: 1. Click the **⋯** menu next to the thread. 2. Turn on **Resolved**. Resolved threads are hidden from the main view but are not deleted. Toggle **Show resolved comments** if you need to revisit past discussions. ## Other comment actions From the **⋯** menu on any thread, you can also: * **Change location** (or **Set location**) -- attach the thread to a different block (or, for email projects, the **Subject & preheader**), or **Clear location** to detach it. * **Mark as unread** -- flag the thread so it appears as new again. * **Delete thread** -- permanently remove the thread (available on your own threads). Individual comments within a thread have their own **⋯** menu with **Edit comment** and **Delete comment**. ## Denada acts on comments Denada reads comments in the editor and can act on them. Click **Suggest changes** below the latest comment in a thread, and Denada generates a proposed edit based on the discussion. When it's ready, a **View suggested changes** link appears — click it to preview what Denada proposes, then **Accept** or **Cancel** in the banner above the preview. This means comments double as instructions. A teammate can leave a comment like "Remove the eyebrows" or "Make the CTA more urgent," and Denada will generate the change for you to review. > [!NOTE] > > Comment-driven suggestions are only available in the editor, not on the published page. Public comments from external reviewers will not trigger suggested changes automatically — but you can act on them yourself through chat. ## Project statuses The Comments tab is also where you set a project's workflow status — the status button sits next to the Comments heading. Statuses like **Draft**, **In review**, and **Approved** keep the whole team oriented, and moving a project to a new status notifies the people following it. [Learn more about project statuses →](/editor/project-statuses) ## Best practices * **Keep comments focused.** One topic per thread makes it easier to resolve feedback systematically. * **Use @mentions for action items.** Tagging a person makes it clear who is responsible for the next step. * **Resolve as you go.** Clearing resolved threads keeps the sidebar useful and up to date. * **Set visibility intentionally.** Default to private for internal notes and switch to public only when you want external reviewers to see the discussion. # Editor interface Source: https://help.heydenada.com/editor/editor-interface Refine and perfect your projects with Denada's block-based editor The editor is where you refine and polish your project into an export-ready email or landing page. Chat and the editor live side by side in the same project view, giving you precise control over every block, parameter, and design detail while keeping you within your brand guidelines. ![The full editor interface, with the rendered email preview on the left and the blocks sidebar on the right](https://mintcdn.com/denada/vD14D0xpOQNEh5R4/images/generated/editor-interface.png?fit=max\&auto=format\&n=vD14D0xpOQNEh5R4\&q=85\&s=5adf369f61c4557f16e67e5d1dee83f3) ## Editor layout The editor is organized into two main areas: * **Preview area (left)** -- a live rendering of your project that updates as you make changes. Email projects show the subject and preheader at the top, and the toolbar includes a **Share** button and a **⋯** menu for additional actions. * **Sidebar (right)** -- a panel with tabs for **Chat**, **Edit**, **Variations**, **Comments**, and **Options**. Switch between these tabs to iterate on your project from different angles. > [!TIP] > > Each sidebar tab has a keyboard shortcut: Ctrl+1 (Chat), Ctrl+2 (Edit), Ctrl+3 (Variations), Ctrl+4 (Comments), and Ctrl+5 (Options). ## Getting content into the editor There are three ways to start working on a project: 1. **Create a new project with chat** -- click **+ New** in the top-right corner and choose **New project**. Describe what you need in the chat, and Denada builds the project in the preview area. 2. **Create a new project manually** -- click **Skip and go to editor** from the chat screen to start with a blank project. You will see an empty preview area with an **Add first block…** button, and the Edit tab will show a **New block** button. Click either one to start adding blocks from your library. 3. **Open an existing project** -- select any previously saved project from the Projects list in the left sidebar. [Learn more about creating projects](/creating/new-projects) ## Block-based editing Projects in Denada are built from **blocks**. Each block is a self-contained section -- a hero image, a text section, a call-to-action button, a footer, and so on. Blocks expose **parameters** that you can edit, such as: * Headline and body text. * Images and alt text. * Button labels and URLs. * Background colors and spacing. To edit a block, select it in the preview area or choose it from the blocks list in the **Edit** tab. The sidebar will display all of the editable parameters for that block. Your brand guidelines determine which parameters are exposed -- style properties that should stay consistent are locked down by the project's library. > [!TIP] > > You can reorder, add, or remove blocks to change the structure of your project. Look for the block controls in the Edit tab. ## Sidebar tabs The right sidebar contains several tabs: > **Chat** > > Continue your conversation with Denada without leaving the editor. Ask for changes, request new sections, or refine the project through natural language. Denada applies changes directly to the project in the preview area. > > [Learn more about the chat interface](/creating/chat-interface) > **Edit** > > Browse and manage the blocks that make up your project. Add new blocks from your library, reorder them, or remove blocks you do not need. Select a block to see its editable parameters -- text, images, links, colors, and more. > > [Learn more about working with blocks](/editor/working-with-blocks) > **Variations** > > Generate multiple versions of your project automatically. Variations let you explore different copy, tone, or layout options and export them all at once for translations, personas, or A/B testing. > > [Learn more about variations](/editor/variations) > **Comments** > > Leave internal notes for your team or collect feedback from external reviewers. Comments can be tied to specific blocks and toggled between public and private visibility. > > [Learn more about comments and collaboration](/editor/comments-and-collaboration) > **Options** > > Project-level settings: the subject, preheader, and UTM tracking for email projects, theme parameters, version history, and the library your project is built on. > > [See the full Options reference](/editor/project-options) ## Preview layouts The **⋯** menu's **Preview layout** submenu switches the preview between four breakpoints: * **Responsive** (default) -- the preview fills the available width of your editor window. * **Desktop** -- fixed 1280px-wide preview. * **Tablet** -- fixed 800px-wide preview. * **Mobile** -- fixed 414px-wide preview. Press Cmd+Shift+F (Ctrl+Shift+F on Windows) to cycle through the layouts without opening the menu. This is especially useful for checking that images, text wrapping, and button sizing look right across screen sizes. ### Above the fold Toggle **Above the fold** in the **⋯** menu (or press Ctrl+F) to overlay dashed guides showing roughly how much content is visible before scrolling. For email projects, the guides mark the approximate fold in popular clients like Apple Mail, Gmail, and Outlook, on both desktop and mobile. For landing pages, the guides reflect common browser window sizes instead. For email projects, the same toggle also covers the envelope: when your subject line or preheader runs longer than a client typically displays, a dashed marker labeled with the client's name appears at the cutoff point in the header above the preview. The markers follow the selected preview layout, so switching to **Mobile** shows you where mobile inboxes would truncate your subject. Treat all of these guides as a gut-check, not a guarantee -- real clients vary by device, window size, and version. ## AI chat in the editor You do not have to leave the editor to make AI-powered changes. Switch to the **Chat** tab in the right sidebar and ask Denada to update your project -- for example, "Make the headline shorter" or "Swap the hero image for something with a blue background." Changes are applied directly to the project in the preview area. ## Sharing and exporting When your project is ready, click the **Share** button in the toolbar. From there you can publish to the web, send proof emails, export in multiple formats (image, PDF, ZIP, CSV, JSON, Figma), copy or save the HTML, and push directly to connected email platforms. [Learn more about export formats](/exporting/export-formats) > [!WARNING] > > Once you are in the editor, you are in full control. Denada will not make changes to your project unless you explicitly ask it to through the Chat tab. # Personalization & dynamic content Source: https://help.heydenada.com/editor/personalization Merge fields, block variants, conditional rendering, and dynamic images for per-recipient content Denada projects can include per-recipient dynamic content: merge fields, alternate block versions for different audience segments, blocks that only render under certain conditions, and images whose source is supplied by your email service provider (ESP) at send time. > [!NOTE] > > Per-recipient dynamic content is different from [variations](/editor/variations). A variation is a complete parallel version of your project — a translation, say — that you export as its own deliverable. Dynamic content lives inside a single exported email and is resolved by your ESP for each individual recipient. ## The scripting language Everything on this page depends on knowing which scripting language to write conditions in. Each ESP has its own: Braze uses Liquid, Klaviyo and HubSpot use Django-style, and Iterable uses Handlebars. That language is the **scripting language** set in the library's options. If the library doesn't set one, the connection you've turned on for personalization in **Settings** supplies its ESP's language instead. When conditions written for your connection would be exported with a different language's tags, Denada warns you at export time, and the library's options page offers a one-click update to the matching language. If no scripting language is set, the dynamic content actions appear disabled in the editor with the note "Requires a scripting language in library options" — without one, Denada has no syntax to emit your ESP's control structures in the exported HTML. ## Merge fields in text You can type your ESP's expressions directly into text parameters — for example, `{{ first_name }}`. Denada passes the text through untouched, so the expression appears literally in previews and lands intact in the exported HTML for your ESP to resolve at send time. Links support the same idea: choose the **Dynamic** link type in the **Edit link** dialog to enter merge tags or dynamic URLs without Denada prepending `https://`. ## Block variants A variant is an alternate version of a block that is chosen per-recipient at send time. Each variant has a name and a **condition** written in the library's scripting language; the first variant whose condition is true renders for that recipient, and the block's main content is the fallback for everyone else. To add a variant, open the block's **⋯** menu and choose **Add variant**. The **New variant** dialog asks for: * **Name** — a label like "Platinum". * **Condition** — the expression that selects this variant, e.g. `person|lookup:'tier' == 'platinum'`. The variant's content starts as a copy of the block's main content, which you then edit independently — different headline, different image, different link, whatever the segment needs. Once a block has variants, a switcher pill appears on the block in the preview. Click it to flip between **Main** and each variant so you can preview and edit each version. The Edit tab also lists the block's variants — the **Main** row is the default fallback, and each variant row shows its condition, with a **⋯** menu to **Edit variant…** (name and condition) or **Delete variant**. ## Conditional rendering Conditional rendering makes a whole block render only when a condition is true — for example, a rewards banner that only gold-tier members should see. Open the block's **⋯** menu and choose **Conditional rendering**, then build the condition from the menus — pick a field, how to compare it, and a value. The fields come from your connected ESP, so you can only pick one that account actually has. If your project already carries a condition someone wrote by hand, it stays as it is and you can edit the expression directly: ``` person|lookup:'tier' == 'gold' ``` Remove the condition to go back to always showing the block. A half-finished row is never saved, so the block keeps the condition it had until every row is complete. In the editor preview, a conditionally rendered block is marked with a dashed outline so you can tell it apart — the preview always renders the block's content, and the condition only takes effect in the exported HTML. > [!NOTE] > > A block can have variants or conditional rendering, but not both at once — the block menu offers whichever one is still available. ## Dynamic image sources Sometimes the image itself comes from your ESP — a per-recipient product photo, for instance. Instead of uploading an image, click the image in the preview and choose **Use dynamic source**, then enter an expression like: ``` {{ event.ImageURL }} ``` The expression becomes the image's `src` at send time. See [Using images in projects](/editor/using-images) for the rest of the image menu. ## How this exports to your ESP You only ever write the *inner* expression — never the surrounding tags. On export, Denada emits the wrapping control structures in your library's scripting language: * A conditionally rendered block is wrapped in `{% if condition %} … {% endif %}`. * A block with variants exports as an if/else chain: each variant's condition in order, with the main content as the final else. * Dynamic image expressions are placed directly into the image's `src` attribute. Push the exported HTML to your ESP as usual — see [Export formats](/exporting/export-formats) — and your ESP evaluates the conditions per recipient at send time. Because previews render blocks normally, send yourself a proof through your ESP to verify the logic end to end ([Proofs & QA](/exporting/proofs-and-qa)). # Project options Source: https://help.heydenada.com/editor/project-options Rename, preview, lock, export, and manage your project settings Project-level settings live in two places: the **⋯** menu in the top-right corner of the editor, and the **Options** tab in the sidebar (Ctrl+5). ## The ⋯ menu ![The project options menu, with undo/redo, rename, duplicate, preview settings, and export actions](https://mintcdn.com/denada/vD14D0xpOQNEh5R4/images/generated/editor-project-options.png?fit=max\&auto=format\&n=vD14D0xpOQNEh5R4\&q=85\&s=ab43cee2b2242e0b8ec95aed366c3991) ### Undo / Redo Quick access to undo and redo, with keyboard shortcuts shown (Cmd+Z / Cmd+Shift+Z on Mac, Ctrl+Z / Ctrl+Y on Windows). The menu items describe the change they will undo or redo. ### Rename Change the name of your project. This is the title shown in the Projects list and at the top of the editor. ### Duplicate Create a copy of the entire project, including all blocks and parameter values. If the project has variations, a checkbox lets you include them in the copy — otherwise they can be regenerated later. ### Preview layout Control how the preview renders on the left side of the editor: * **Responsive** (default) — the preview adapts to the width of your editor window, giving you a realistic sense of how the email will look. * **Desktop** — fixed 1280px-wide preview. * **Tablet** — fixed 800px-wide preview. * **Mobile** — fixed 414px-wide preview. When a fixed breakpoint is wider than your window, a **View full size** toggle expands the preview to its true pixel size. **Cycle layouts** (Cmd+Shift+F, or Ctrl+Shift+F on Windows) steps through the breakpoints. ### Above the fold Overlay dashed guides showing the approximate fold in popular email clients (or browser sizes, for landing pages) — a rough gut-check for what recipients see before scrolling. Toggle with Ctrl+F. See the [editor interface](/editor/editor-interface) for details. ### Color scheme Switch the preview between **Light** and **Dark** to see how your email renders in clients that support dark mode. **System** (the default) follows your OS preference. ### Disable overlays Turn off the block selection overlays and hover indicators on the preview (Ctrl+O). This lets you click on elements in the rendered preview directly — useful when you want a clean view without any editor UI on top. ### Private Hide this project from your team in the Projects area. Only you (and admins) can see a private project. ### Lock Prevent the project's content from being edited. This is useful when a project is out for review or has been finalized — comments can still be added, but no one can accidentally change the content. Toggle the lock off when you need to make changes again. Moving a project to a [status marked completed](/editor/project-statuses#approved-and-completed) locks it the same way, and moving it out of that status unlocks it — including a lock set by hand. ### Export project Download the project as a `.project` file that can be imported into another team. ### Import project Replace this project's contents with an uploaded `.project` file, keeping its current library. A version of the current state is saved first so you can restore it later. ### Delete Permanently delete the project. This removes it from the Projects list. > [!WARNING] > > Deleting a project cannot be undone. Make sure you have exported or backed up anything you need before deleting. ## The Options tab The **Options** tab in the sidebar holds content-level settings. ### Email options For email projects, the tab is titled **Email options** and includes: * **Subject** — the email's subject line. * **Preheader** — the preview text shown after the subject in most inboxes. * **Tracking** — click to open the UTM parameters dialog, where you can set Source, Medium, and Campaign values. When enabled, UTM parameters are added to all links in the email, and per-link Content and Term fields become available in the [Edit link dialog](/editor/working-with-blocks). Landing page projects don't have a subject, preheader, or tracking section. ### Theme If your library exposes project-wide theme parameters (colors, fonts, and so on), they appear here under a **Theme** heading. ### Versions Click **View history** to browse and restore previous versions of the project. > [!NOTE] > > Version history requires the Team plan — on other plans this cell reads **Upgrade to view history**. [Learn more about version history](/editor/version-history) ### Library Shows which library (and version) the project is built on. Click it for library actions: * **Change library** — switch to a different library without losing your changes. Your blocks are matched up by name where possible. * **Change version** — pin the project to a specific version of the library, or track the latest draft. * **Update** — pull in the latest library changes. This item only appears when an update is available; a blue **Update available** badge shows on the library cell and a notification dot appears on the Options tab itself so you don't miss it. * **View library** — open the library in a new tab (shown if you have library permissions). [Learn more about libraries](/libraries/using-libraries) # Project statuses Source: https://help.heydenada.com/editor/project-statuses Track where each project is in your team's workflow, from draft through review to approved Every project can carry a status — a colored label like **Draft**, **In review**, or **Approved** — so your whole team can see where it stands in your workflow at a glance. Statuses show up next to projects in the Projects list, and moving a project to a new status notifies the people following it. > [!NOTE] > > Project statuses are part of commenting and approvals, which are available on the Team plan. ## Setting a project's status The status picker lives in the **Comments** tab of the editor sidebar, next to the Comments heading: 1. Open the project and switch to the **Comments** tab (Ctrl+4). 2. Click the status button — it shows the current status, or **Set status** if there isn't one yet. 3. Pick a status from the menu, or **No status** to clear it. The project's status appears as a colored pill on its row in the Projects list, so the whole team sees it without opening the project. ![The Comments tab with the status button showing In review](https://mintcdn.com/denada/NyzQoREZNdsRbVqa/images/generated/editor-comments.png?fit=max\&auto=format\&n=NyzQoREZNdsRbVqa\&q=85\&s=42f08f2faaba62152cb44761f3ae37f7) Teams start with three statuses: **Draft**, **In review**, and **Approved**. Managers can customize the list — see [Customizing statuses](#customizing-statuses) below. ## Filtering projects by status On the **Projects** page (with the **Team** filter selected), the **Status** button in the header filters the list to a single status. The filtered view shows every matching project across all of your [folders](/organizing/folders) in one flat list — handy for questions like "what's still in review this week?" Choose **Any status** to return to normal browsing. ![The Projects list filtered by status, with the Status menu open](https://mintcdn.com/denada/NyzQoREZNdsRbVqa/images/generated/project-statuses-filter.png?fit=max\&auto=format\&n=NyzQoREZNdsRbVqa\&q=85\&s=9c9b79a778a6d62a130cb27acf3df3e6) ## Customizing statuses Statuses are defined per team. On the **Settings** page, managers and owners will find the **Project statuses** panel: ![The Project statuses panel in team settings](https://mintcdn.com/denada/NyzQoREZNdsRbVqa/images/generated/project-statuses-settings.png?fit=max\&auto=format\&n=NyzQoREZNdsRbVqa\&q=85\&s=beb1a18e1336afb9548365ef4d115b20) * **Add status** creates a new one — GoPro-style workflows like CRM build → In design → Stakeholder review → Completed are a few clicks away. * Click a status to **Rename** it, change its color, reorder it with **Move up** / **Move down**, or **Delete** it. Projects already in a deleted status keep their label until someone moves them; the status just isn't offered anymore. ## Approved and completed Two special markers give statuses meaning beyond their label. Each can be assigned to at most one status in the list: * **Marks projects approved** — the green light to send. This is a signal only: the project stays fully editable, so QA fixes after approval are no problem. The default **Approved** status carries this marker. * **Marks projects completed** — the project is done. Moving a project into this status makes it **read-only** until it's moved to another status (Denada asks you to confirm first). Nobody — including [connected AI agents](/agents/overview) — can edit a completed project. No default status marks projects completed; add one (most teams call it **Completed** or **Archived**) when you want the read-only ceremony. ## Who gets notified When someone moves a project to a new status, Denada notifies the people following that project through the notifications bell: * **The project's owner** — always, unless they've changed their notification level for the project. * **Anyone whose notification level for the project is "Everything"** — set it from the **⋯** menu in the Comments tab. People who have posted a couple of comments on a project are treated as following it and get these too. The person who made the change is never notified of their own action, and clearing a status to **No status** is silent. Notifications show the transition (for example, "In review → Approved") and repeated moves on the same project fold into a single row in the bell. # Using images in projects Source: https://help.heydenada.com/editor/using-images Manage, replace, crop, and enhance images in your projects Every image in Denada comes with a set of tools for managing, replacing, and enhancing your visuals. Click directly on an image in the editor preview to access these options. The ⓘ button next to the image label in the Edit tab takes you to the image in your image collections, where you can view its full metadata and use it across other projects. ## Crop image Choose **Crop image** to crop directly within Denada. You can freely adjust the crop area or lock to a specific aspect ratio and drag to reposition. Useful for tightening the composition or removing unwanted edges. The crop is specific to this block in this project — it does not change the original image in your collections. > [!TIP] > > If your image appears too tightly cropped in the block, try uploading a higher resolution version with more negative space to give yourself more room to work with. ## Inset image Choose **Inset image** to add padding around your image inside its slot — handy for logos or product shots that need breathing room instead of filling the whole area. ## Image format Choose **Image format** to control the format the image is served in: **Auto** (default, based on the uploaded file), **JPEG**, **GIF**, or **PNG**. The image server optimizes all images for email rendering — so you don't need to worry about compression or file size when you export. * **JPEG** — best for photos and lifestyle images. * **PNG** — best for graphics, logos, or images that need transparency. * **GIF** — animated images (use sparingly — large GIFs can slow email load times). ## Flexible height When enabled, the image display area adapts to the natural height of your image instead of locking to a fixed aspect ratio. This is typically turned on for hero images and full-width lifestyle shots where you want the full image to show. When turned off, the image is cropped to fit the block's predefined dimensions — useful for keeping a consistent grid layout. You can also leave it on the library's default. Toggle it on and off in the editor to see the difference. ## Alt text Denada automatically generates descriptive alt text for every image. Alt text is displayed when images don't load (common in Outlook) and is read by screen readers for accessibility. Choose **Alt text** in the image menu to edit it to be more specific or brand-aligned. > [!TIP] > > Good alt text describes what's in the image, not what the email is about. "Person wearing wireless headphones on a couch" is better than "Shop our new product." ## Replacing images There are several ways to swap an image, listed under the **Replace** section of the image menu. ### Upload image Drag and drop directly onto the image in the editor, or choose **Upload image** to browse your computer for a file. ### Add image from URL Choose **Add image from URL** and paste a direct image URL. Useful when pulling product shots from your website or CDN. > [!NOTE] > > You need to provide the full hosted image URL (e.g., `https://website.com/images/image.jpg`). Denada cannot extract an image from a regular webpage URL through this option. To do that, use the Chat tab — click on the block, then ask Denada to use an image from a URL. ### Paste from clipboard Choose **Paste from clipboard** to paste an image directly from your clipboard (screenshot, copied image, etc.). ### Auto-generate image Choose **Auto-generate image** for AI-powered image generation from a text prompt. Type a description of the image you want and Denada will generate it. You can select from multiple AI models. [Learn more about AI image generation →](/image-library/ai-images) ### Remix image Choose **Remix image** to edit your existing image with AI. This lets you modify what's already there — add elements, change backgrounds, adjust styling, or completely transform the look while keeping the subject. Remix aspect ratio options: * **Match aspect** — keeps the current image proportions (default). * **Square** — 1:1 ratio. * **Landscape** — wider than tall. * **Portrait** — taller than wide. Example remix prompts: * "Remove the background and place on solid black" * "Add a gym environment in the background" * "Change the lighting to dramatic side-lit" * "Extract just the product on a clean white background" > [!TIP] > > You can attach reference images in the remix prompt for style transfer — upload a mood board image and ask "match this lighting and color grade." ### Pick from images Choose **Pick from images** to browse your team's image collections. Use the collection dropdown to filter by category. Two search modes are available: * **Similarity** — searches AI-generated descriptions of each image. Great for finding images by what's in them (e.g., "headphones on dark background"). * **Keywords** — searches exact terms and metadata. Best when you know the file name or tag. [Learn more about collections →](/image-library/collections) ### Use dynamic source If your library has a scripting language configured, **Use dynamic source** replaces the uploaded image with an ESP expression (like `{{ event.ImageURL }}`) that becomes the image source at send time. [Learn more about dynamic content →](/editor/personalization) ## Delete image Choose **Delete image** to remove the image from the block. The image is not deleted from your collections. ## Additional image actions The image menu also includes: * **View fullscreen** — opens the image at full size. * **Open in new tab** — opens the image in a new browser tab. * **Copy image URL** — copies the hosted image URL to your clipboard. # Variations Source: https://help.heydenada.com/editor/variations Create multiple versions of a project for personalization, localization, testing, and more Variations let you create multiple versions of a project within a single project. Instead of duplicating projects and managing them separately, you build one version and then generate as many others as you need — each with its own content, targeting, or structure. By default, Denada keeps the same layout and structure across variations and just changes the content. Images, links, and non-localizable content are preserved unless your instructions say otherwise. If you want something more different — like a shorter version with fewer blocks, different images, or a completely different layout — just say so in your instructions. ![The Variations tab showing the instructions cell, the Main version, and three generated variations](https://mintcdn.com/denada/vD14D0xpOQNEh5R4/images/generated/editor-variations.png?fit=max\&auto=format\&n=vD14D0xpOQNEh5R4\&q=85\&s=3c1ae987d45dd51d0f1ed6f01922eab9) > [!NOTE] > > Variations are available on the Team plan. ## Common use cases ### Persona personalization Take one campaign and create multiple versions targeted at different audience segments. Each variation can have its own copy, imagery, and tone tailored to a specific persona. > "Create 3 variations of this email: one for new customers, one for loyal customers, and one for lapsed customers. Adjust the headline, copy, and CTA for each." ### Translations and localization Create localized versions of a campaign for different regions. Denada can translate the content, swap URL extensions, and adjust headers and footers for each market. > "Make an EU English version and a Spanish version of this email. Translate all content, change the URLs from .com to .es for the Spanish version, and use the EMEA footer instead of the US footer." ### A/B testing Build split-test versions of a campaign to test different elements — headlines, hero images, CTAs, or completely different layouts. > "Make an alternate, more concise version of this email with different blocks for a test." ### Journey and series emails Start with one email and create the next emails in a sequence. Each variation becomes a step in the journey. > "This is a welcome email. Create 3 follow-up variations: the first focused on product features, the second on customer stories, and the third on a limited-time offer." ### Dynamic content Convert a standard email into a dynamic content version with proper scripting and logic for your ESP. > "Create a dynamic content version of this email with Iterable Handlebars logic to show different hero images based on the user's loyalty tier." > [!NOTE] > > For per-recipient logic *inside* a single email — block variants, conditional rendering, merge fields — see [Personalization & dynamic content](/editor/personalization). Variations are complete parallel deliverables; dynamic content is resolved by your ESP for each recipient. ## Creating variations 1. Open any project in the editor. 2. Switch to the **Variations** tab in the sidebar (Ctrl+3). 3. Click **Setup** (or, once variations exist, click the **Instructions** cell at the top of the tab). 4. In the **Edit instructions** dialog, describe what you want — the more specific you are, the better the result. 5. Click **Save**. Denada generates variations based on your instructions. You can generate up to 50 variations per project. You can also add a single variation by hand: open the **⋯** menu at the top of the Variations tab (or click **Add variation** at the bottom of the list) to open the **New variation** dialog. Give it a name, and either let Denada generate it from instructions (**Generate automatically**) or turn that off to copy content from the main version, another variation, or start blank. > [!TIP] > > If your variation instructions are detailed — persona definitions, regional requirements, translation guidelines — store them in your team's **Docs** and simply reference them in the instructions field. For example, "Create this for my audience segments" is all you need if your audience segments are already defined in a doc that Denada can read. ## Managing variations The Variations tab lists the main version first, then every variation. Once generated, you can: * **View** — click a variation to preview it in the editor. * **Edit** — switch to the Edit tab while viewing a variation to change its blocks and parameters independently. * **Reorder** — drag variations by their handles to change their order. * **Rename** — from a variation's **⋯** menu, choose **Rename**. * **Edit instructions** — change the instructions for a single variation. * **Regenerate** — regenerate one variation (**Regenerate**), or every variation at once from the tab's **⋯** menu (**Regenerate all**). Regenerating overwrites any manual edits, and Denada warns you if anyone has modified the variation since the last generation. * **Delete** — remove one variation (**Delete**), or all of them (**Delete all** in the tab's **⋯** menu). ## Reviewing variations on the web When you publish a project to the web, reviewers can browse through all variations directly from the shared link. The **Options** menu on the published page lets them switch between variations and preview each one. They can also leave comments on specific variations, so feedback is tied to the right version. [Learn more about publishing to the web →](/exporting/publish-to-web) ## Exporting variations You can export variations individually or all at once. In the **Share** menu, toggle **Export all variations** to include every variation in your export. Available export formats for variations: * **ZIP** — each variation as a separate HTML file. * **CSV** — all variations in a spreadsheet with one row per variation and columns for each parameter. * **Platform export** — push each variation to your connected ESP. When you export to CSV, you can tell Denada how you want the columns laid out and it will structure them accordingly: > [!NOTE] > > Export instructions are remembered in your browser so you do not need to re-enter them each time. ## Tips * **Be specific in your instructions.** "Make 3 versions with different tones" is good. "Make 3 versions" without further direction will mostly just rephrase the same content. * **Reference the structure.** If you want variations with different blocks or layouts, say so explicitly — otherwise Denada keeps the same structure and just changes the content. * **Name your variations.** Clear names like "US English," "Spain - Spanish," and "Germany - German" make it easy to find and export the right version. * **Review before exporting.** Variations are AI-generated starting points. A quick human review ensures everything aligns with your brand and messaging goals. [Learn more about export formats →](/exporting/export-formats) # Version history Source: https://help.heydenada.com/editor/version-history Track changes, save versions, and restore previous versions of your projects Denada automatically tracks changes to your projects so you can review what changed and roll back to a previous state if needed. > [!NOTE] > > Version history is available on the Team plan. ## Accessing version history Switch to the **Options** tab in the right sidebar (Ctrl+5) and click **View history** under the **Versions** heading. This opens the **History** panel — a timeline with **Current Version** at the top, followed by every saved version with its name or timestamp and the teammates who contributed to it. ![The version history panel showing the current version and a timeline of versions with contributors](https://mintcdn.com/denada/vD14D0xpOQNEh5R4/images/generated/editor-version-history.png?fit=max\&auto=format\&n=vD14D0xpOQNEh5R4\&q=85\&s=3882f5b74ffaa642222d505c8dc915a2) ## Automatic versions Denada saves new versions automatically to protect your work without you having to think about it. A new version is created after about 30 minutes of inactivity since your last edit, so every meaningful state of your project is preserved as you work. Versions are also saved at notable moments — when you save from chat, accept suggested changes, duplicate a project, or generate a variation — and labeled accordingly. ## Saving a version manually You can save a version at any time: click the **⋯** menu on the **Current Version** row and choose **Save current version**. You can give it a name or leave it blank. Manual versions are useful when you want to mark a specific milestone -- for example, before making a large change or after receiving stakeholder approval. > [!TIP] > > Save a version before making significant edits. It gives you a clean restore point if things do not work out. ## Renaming a version Double-click a version in the list (or choose **Rename version** from its **⋯** menu) to give it a meaningful name like "Approved by client." ## Viewing previous versions Click on any version in the list to preview it. The editor shows the project as it looked at that point in time so you can compare it to the current state. ## Restoring a version To restore a previous version: 1. Click the **⋯** menu on the version you want. 2. Choose **Restore this version**. 3. Optionally name the restored version, and confirm. The project reverts to the selected version. Your current state is not lost -- it remains in the history as a version you can restore later if needed. You can also spin off a copy instead of rolling back: choose **New project from this version** to create a separate project from that point in time. > [!WARNING] > > Restoring a version replaces the current project state. Make sure to preview the version before confirming. ## Undo and redo Within your current editing session, you can use standard undo and redo shortcuts for quick corrections: * **Undo:** Cmd+Z (Mac) or Ctrl+Z (Windows/Linux) * **Redo:** Cmd+Shift+Z (Mac) or Ctrl+Y (Windows/Linux) Undo and redo work for individual parameter changes, block additions, block deletions, and reordering. These are session-level actions -- they reset when you close the editor or navigate away. > [!NOTE] > > Undo/redo and version history work together. Undo handles small, immediate corrections. Version history handles larger rollbacks across editing sessions. ## Best practices * **Let automatic versions do their job.** You do not need to manually save constantly -- Denada has you covered. * **Save versions at milestones.** Mark important states like "approved by client" or "before redesign" so they are easy to find later. * **Preview before restoring.** Always review a version before restoring to make sure it is the one you want. # Working with blocks Source: https://help.heydenada.com/editor/working-with-blocks Add, configure, reorder, and manage blocks in the project editor Blocks are the building pieces of every Denada project. Each block is a self-contained section -- a hero image, a text paragraph, a product grid, a footer, and so on. In the editor you assemble blocks from your library and fill in their parameters to create a finished email or landing page. ## What is a block? A block is a chunk of responsive HTML that comes from a library. Each block exposes a set of **parameters** -- editable fields like headline text, images, button labels, colors, and links. When you change a parameter, the block's preview updates immediately. ## Adding blocks To add a block to your project: 1. Click **New block** in the Edit tab, or click **Add first block…** in the preview area (for a blank project). 2. A block picker dialog opens, showing visual previews of all available blocks from your project's library, organized by category (Headers, Content, Footers, etc.). The dialog is titled **Select block** when opened from the Edit tab, and **Insert block** when you add a first block or insert relative to an existing block in the preview. 3. Browse the categories to find the block you need. 4. Click a block to insert it into your project. ![The block picker dialog showing visual previews of library blocks organized by category](https://mintcdn.com/denada/vD14D0xpOQNEh5R4/images/generated/editor-insert-block.png?fit=max\&auto=format\&n=vD14D0xpOQNEh5R4\&q=85\&s=096d873b117b75ac6714a3e8a3edd311) ## Reordering blocks Rearrange blocks by dragging and dropping: The Edit tab shows all your blocks in a list with drag handles (≡) on the right side of each one. To reorder: 1. Click and hold the drag handle next to the block you want to move. 2. Drag it to the new position in the list. 3. Release to drop it into place. The preview updates instantly so you can see how the new order looks. ## Configuring block parameters Select a block in the editor to open its parameters in the **Edit** tab of the right sidebar. What you see here is controlled by your library's admin or developer. They decide exactly which fields are editable and which are locked — this is how Denada preserves brand guardrails. Anything *can* be made editable (colors, fonts, images, layout options), but only the parameters the library exposes will appear here. Design elements that should stay consistent across your team's emails — like font choices, spacing, and brand colors — remain locked down so they can't be accidentally changed. Common parameter types include: | Parameter type | What it controls | Example | | - | - | - | | **Text** | Headlines, body copy, button labels | "Shop the sale" | | **Image** | Hero images, product photos, icons | Upload or pick from your collections | | **Color** | Background colors, text colors, accents | Brand blue `#1A73E8` | | **Link** | Button destinations, text hyperlinks | `https://example.com/sale` | | **Selector** | A menu of predefined options for switching styles, components, or colors | Button style: None / Black / White | | **Toggle** | Show or hide optional sections | Display social icons: on/off | To edit a parameter, click into its field in the sidebar and make your changes. The block preview updates in real time. ![The parameter sidebar for a hero block, with image, text, and button fields](https://mintcdn.com/denada/vD14D0xpOQNEh5R4/images/generated/editor-block-parameters.png?fit=max\&auto=format\&n=vD14D0xpOQNEh5R4\&q=85\&s=4cef7ec763bd19188963ec1f04726dad) ### Editing text Click a text parameter to type directly. Some text fields support basic formatting like bold and italic, depending on how the library was designed. ### Working with images Click directly on an image in the preview to access the full image menu — crop, change format, replace, auto-generate, remix with AI, and more. [Learn more about using images in projects →](/editor/using-images) ### Adding links When a parameter supports a link (on buttons, images, or text), click **Add link** to open the **Edit link** dialog. Enter a destination URL and choose the link type: * **Static** — a regular URL. Denada adds `https://` by default. * **Dynamic** — for ESP merge tags or dynamic URLs (e.g., Iterable Handlebars tags). `https://` is not added, so you can enter the tag syntax directly. When UTM parameters are enabled for the campaign, additional fields appear in the link dialog — **Content** and **Term** — so you can customize tracking at the individual link level. ### Setting colors Click a color parameter to open the color picker. You can enter a hex code, use the picker, or select from your brand's preset colors if available. ### Advanced text editing Some text parameters support **style tags** — a formatting system created by your library author that gives you precise control over typography within a block. You'll know a field supports style tags when you see an **Update** button next to it (style tag changes are not real-time — you need to click Update to see them). Style tags let you format text by wrapping it in tag brackets: ``` [tag]Text to style[/] ``` What's available depends entirely on what your library author has set up. Common examples include: * **Color tags** — apply brand colors: `[orange]BUILT FOR THE GRIND[/]` * **Font family** — switch typefaces: `[futura]Headline text[/]` * **Font weight** — control boldness: `[900]Heavy headline[/]` * **Font size / line height** — precise sizing: `[48/50]Large text[/]` * **Effects** — shadows, glows, outlines: `[shadow]Text over image[/]` * **Letter spacing** — tighten or loosen: `[tight]COMPRESSED HEADLINE[/]` Tags can be combined in a single set of brackets and nested within text: ``` [60/50 800 tight]OWN YOUR [orange]GRIND[/][/] ``` > [!NOTE] > > Advanced text editing is not widely used — library authors typically only deploy it on parameters where fine typographic control is needed, like hero headlines. Always close tags with `[/]` and check your library's documentation for the available tags. ## Block actions menu Click the **⋯** button on a block to open the block actions menu. You can find this button in two places — on the block in the preview area, or at the top of the block's parameter panel in the Edit tab. From here you can: * **Change block** — swap this block for a different one from your library, keeping its position in the project. Your parameter values are not deleted, but may not match up with the new block. * **Delete block** — remove the block and all its parameter values. * **Insert block before / after** — add a new block directly above or below this one. * **Duplicate up / down** — create a copy of the block (with all its current parameter values) above or below the original. * **Add variant** — create an alternate version of this block that renders for certain recipients at send time. * **Conditional rendering** — set a condition that controls whether this block renders at all. ![The block actions menu open on a block row, showing change, delete, insert, and duplicate options](https://mintcdn.com/denada/vD14D0xpOQNEh5R4/images/generated/editor-block-actions.png?fit=max\&auto=format\&n=vD14D0xpOQNEh5R4\&q=85\&s=50e690354485e30d0b3792b76f9fea67) > [!NOTE] > > **Add variant** and **Conditional rendering** require your library to have a scripting language (like Liquid) configured, since the exported HTML needs to include your ESP's control structures. See [Personalization & dynamic content](/editor/personalization) for how these work. > [!TIP] > > Duplicating is useful when you need repeating sections with slight variations, like multiple product cards. ## Tips * **Start with the structure.** Add all the blocks you need first, then fill in the details. * **Use duplicate for repetition.** Duplicating a block is faster than adding a new one and re-entering shared values. * **Preview often.** Toggle between desktop and mobile views to make sure your blocks look good at every size. > [!NOTE] > > Blocks inherit their design from the library. If you need to change the underlying structure or styling of a block (not just its parameters), you will need to edit the library itself. See [Using libraries](/libraries/using-libraries). # Exporting projects Source: https://help.heydenada.com/exporting/export-formats Export your projects as images, PDFs, HTML, CSV, and more from the Share menu When your project is ready, the **Share** button in the editor toolbar gives you everything you need to export and deliver your work. Here is a full breakdown of what is available. ![The Share menu showing publish, proof, export, and integration options](https://mintcdn.com/denada/vD14D0xpOQNEh5R4/images/generated/share-menu.png?fit=max\&auto=format\&n=vD14D0xpOQNEh5R4\&q=85\&s=80d13b1324ee3fb216ed7404e764082e) ## Publishing and proofing The top of the Share menu covers sharing without a download: * **Publish to web**, **View on web**, and **Copy link** put your project at a public URL — see [publishing to the web](/exporting/publish-to-web). * **Send proof email** and **QA in Inbox Monster** let you test how your email looks in real inboxes — see [proofs & QA](/exporting/proofs-and-qa). ## Export all variations If your project has [variations](/editor/variations), an **Export all variations** toggle appears at the top of the Export section. Turn it on to include every variation in export formats that support multiples (CSV and ZIP). When off, only the current variation is exported. If you're viewing a specific variation or an older version from [version history](/editor/version-history), the Share menu shows a banner like "Exporting **Spring sale** only" so you always know exactly what you're about to export. ## Export to image **Export to image** opens a submenu with three ways to render your project as PNG files: * **Two-up** — **Desktop and mobile** renders both views side by side in a single image, great for visual comparison in reviews and presentations. * **Single** — renders one image at a specific breakpoint: **Desktop**, **Tablet**, or **Mobile**. * **Blocks** — exports each block as a separate PNG (rendered at your chosen breakpoint width), delivered as a ZIP. Useful for handing individual pieces to designers or other tools. ## Export to PDF **Export to PDF** offers similar choices: * **Two-up** — **Desktop and mobile** views side by side. * **Image** — a pixel-perfect PDF at your chosen breakpoint, rendered as an image. Every layout renders exactly as designed, but the text isn't selectable. * **Native** — a real PDF with selectable text, rendered at the breakpoint width as a single long page. Great for desktop and tablet widths; narrow mobile layouts can be hit or miss. > [!TIP] > > Image and PDF exports render on Denada's servers in the background. You can keep working — progress and the finished download appear in the tasks indicator. ## Export to ZIP **Export to ZIP** downloads an archive containing your project as HTML along with its images. With **Export all variations** on, each variation is included. ## Export to CSV **Export to CSV** produces a spreadsheet with all your content values in columns. Before exporting, you can enter **Formatting instructions (optional)** — for example, "Put languages in columns and values in rows" — and Denada organizes the output accordingly. Your instructions are remembered in your browser for next time. > [!TIP] > > CSV export is especially helpful when you're managing many variations and want to review or edit content in a spreadsheet. ## Export to Figma **Export to Figma** opens a short instructions dialog: exports go through the free third-party **html.to.design** Figma plugin, and the dialog gives you a clean, copyable link to paste into the plugin so your project imports without any extra page UI. ## Copy HTML and Save HTML At the bottom of the Share menu, two quick options give you direct access to the rendered HTML: * **Copy HTML** — copies the rendered HTML to your clipboard so you can paste it directly into your email platform. * **Save HTML** — downloads the rendered HTML as a file. ## Integrations The **Integrations** section lets you push projects directly to your connected email platforms. * **Export to \[platform]** — sends the rendered project to a connected platform (for example, Export to Iterable). The options shown depend on which integrations your team has configured. * **Configure** — opens integration settings where you can connect new platforms or manage existing ones. > [!NOTE] > > You need to connect your email platform before it appears in the Share menu. Click **Configure** to set one up, or see the [integrations overview](/integrations/integrations-overview). ## Choosing the right format | Format | Best for | | - | - | | **Copy HTML** | Quick paste into an email platform | | **Save HTML** | Downloading a single rendered HTML file | | **Image** | Stakeholder reviews and presentations | | **PDF (image)** | Pixel-perfect archiving and print review | | **PDF (native)** | Documents with selectable, searchable text | | **ZIP** | Handing off a complete set of files with images | | **CSV** | Reviewing or editing content for multiple variations in a spreadsheet | | **Figma** | Bringing your design into Figma workflows | | **Platform export** | Sending directly to a connected email platform | # Proofs & QA Source: https://help.heydenada.com/exporting/proofs-and-qa Send test emails and check rendering across email clients before you ship Before delivering an email project, you can see exactly how it will look in a real inbox — first with a proof email, then with full multi-client render testing through Inbox Monster. ## Sending a proof email 1. Open your project and click **Share**. 2. Select **Send proof email**. 3. Enter up to 10 email addresses, separated by commas, newlines, or semicolons. 4. Click the confirm button to send. ![The Send proof emails dialog with a recipient email address entered](https://mintcdn.com/denada/xjX7XM-d7P3k40as/images/generated/send-proof.png?fit=max\&auto=format\&n=xjX7XM-d7P3k40as\&q=85\&s=fd5f7b75a6c7b6b72ec89d13958a93f3) Denada renders your project to final HTML and delivers it as a real email to every address you list, so you can check formatting, images, and responsiveness in actual email clients. A few details worth knowing: * Proof emails look like the real thing, but they're sent from Denada's dedicated proof address rather than your own domain — this keeps test sends from affecting your sending reputation. * The subject line is prefixed with "\[Proof]" and gets a short random suffix, so repeated test sends don't collapse into a single thread in your inbox. * The addresses you enter are remembered in your browser, so re-sending after a round of edits takes seconds. > [!TIP] > > Send proofs to addresses in multiple email clients (Gmail, Outlook, Apple Mail) to catch client-specific rendering quirks before going live. ## QA in Inbox Monster For thorough render testing, Denada supports **Inbox Monster**, an industry-leading platform for email QA and deliverability testing. With Inbox Monster you can preview how your emails render across dozens of email clients and devices. Select **QA in Inbox Monster** from the Share menu to get started. The dialog explains the setup: sign up for an Inbox Monster account, then contact Denada support to connect it with your workspace. ## Need help? If you run into issues with proofs or QA, reach out to [support@heydenada.com](mailto:support@heydenada.com) or ask in our [Community Slack](https://join.slack.com/t/denadacommunity/shared_invite/zt-33ermqnvl-kU9677V0eloK5Jf2SSNO5g). # Publishing to the web Source: https://help.heydenada.com/exporting/publish-to-web Publish projects, folders, and canvases to public links anyone can view Every project can be published to the web with a single toggle. Publishing creates a public link that anyone can open — no Denada account required — which makes it the fastest way to get your work in front of clients, stakeholders, and reviewers. ## Publishing a project 1. Open your project and click **Share** in the toolbar. 2. Toggle on **Publish to web**. 3. Two options appear below the toggle: **View on web** opens the published page in a new tab, and **Copy link** copies the public URL to your clipboard. ![The Share menu with the Publish to web toggle and export options](https://mintcdn.com/denada/vD14D0xpOQNEh5R4/images/generated/share-menu.png?fit=max\&auto=format\&n=vD14D0xpOQNEh5R4\&q=85\&s=80d13b1324ee3fb216ed7404e764082e) Send the link through email, Slack, or any other channel — it works immediately. > [!WARNING] > > Anyone with the link can view the published page. To take it down, toggle **Publish to web** off; anyone visiting the old link will no longer see your project. ## What viewers see Visitors to a published page see a read-only, fully rendered version of your project, with the project's name in the header. Email projects show the subject line and preheader above the rendered email. Viewers don't need to log in, and they can't edit anything or see the rest of your workspace. ![A published email project with the project name in the header and the subject line and preheader above the rendered email](https://mintcdn.com/denada/_uBaE2IW0zPMFQrV/images/generated/published-page.png?fit=max\&auto=format\&n=_uBaE2IW0zPMFQrV\&q=85\&s=7ecdcb3fd5627042bfdd9db4cffaa98b) ### Reviewing variations If your project has [variations](/editor/variations), the published page includes an **Options** menu listing **Main** along with each variation by name. Reviewers can flip between them to compare — a lightweight way to collect feedback on an entire campaign from a single link. ### Checking layouts and the fold The **Options** menu also offers **Copy HTML**, plus the same preview tools as the editor: a **Preview layout** picker for checking the project at desktop, tablet, and mobile widths (Cmd+Shift+F cycles them), a **Color scheme** picker, and the [**Above the fold**](/editor/editor-interface#above-the-fold) toggle (Ctrl+F). For email projects, the fold guides include markers showing where popular clients would truncate the subject line and preheader — useful when reviewers want to sanity-check copy length without any extra tools. ### Public comments Viewers can leave comments directly on the published page. These comments are public — they're visible to other viewers of the page and to your whole team inside the editor's comments sidebar, where you can reply and resolve them. Just like in the editor, comments can be attached to a specific block by clicking it, and for email projects, clicking the subject and preheader header attaches feedback to the **Subject & preheader**. See [comments and collaboration](/editor/comments-and-collaboration). > [!NOTE] > > Comments on published pages are available on the Team plan. ## Viewing on your custom domain If your team has an active [custom domain](/team/custom-domains), the Share menu gains a section headed by your domain: * **View on custom domain** — opens the published project on your own domain. * **Copy custom domain link** — copies the custom domain URL. * **Set custom link** — choose a readable path, such as `spring-sale` or `campaigns/spring-sale`. Once set, this becomes **Change custom link**. The view and copy actions use your custom path when one is set. Leave the custom link blank to return to the standard `/t/` link, which also continues to work while a custom path is set. Paths must be unique within your team. Deleting a project releases its path; restoring or duplicating a project doesn't reclaim it. ## Sharing folders You can publish an entire [folder](/organizing/folders) of projects with one link — handy for sending a whole campaign to a reviewer at once. 1. Click the share button on the folder's row. 2. Toggle on **Publish to web**. 3. Use **View on web** or **Copy link** to grab the public URL. Anyone with the link can browse the folder and view the published projects inside it. Note that each project still has its own **Publish to web** toggle — only published projects are visible to folder viewers. ## Sharing canvases [Canvases](/organizing/canvases) publish the same way: click **Share** on the canvas, toggle on **Publish to web**, then **Copy link**. Viewers get a read-only view of the canvas layout. As with folders, the projects on a canvas must themselves be published for visitors to see them. If a published canvas contains unpublished projects, the canvas editor shows a warning with a one-click **Publish all projects** action. ## Best practices * **Use published links for review cycles.** They're the fastest way to get external feedback without onboarding reviewers into Denada. * **Publish folders for campaigns.** One link for an entire campaign is easier to manage than individual project links. * **Check comments regularly.** Reviewer comments appear in the editor as soon as they're posted. * **Unpublish when done.** Toggle off **Publish to web** after the review cycle to keep your work private. # Getting started Source: https://help.heydenada.com/getting-started Your first 5 minutes with Denada Welcome to Denada! This guide walks you through everything you need to go from signing up to exporting your first email. The whole process takes just a few minutes. ## Sign up or log in Head to [app.heydenada.com](https://app.heydenada.com) and enter your email address — Denada emails you a short code to sign in, no password needed. Enterprise teams can also set up [single sign-on](/team/sso-setup). ## Create or join a team After signing in, you will either land on an existing team or be prompted to create one. A team is your shared workspace where projects, images, and libraries live. * **Create a team** -- give it a name, invite colleagues by email, and you are ready to go. * **Join a team** -- there is no separate "accept" step. If a teammate has invited you, just sign in with the same email address the invitation was sent to and you will land on the team automatically. (If the invite went to a different address than the one you use, ask your teammate to re-send it to the right one.) > [!TIP] > > You can always invite more people later from the team settings page. ## Upload your first images Before you start creating, it helps to have a few brand images on hand. Open the image library from the left sidebar and upload logos, product photos, or lifestyle images. 1. Click **Images** in the sidebar. 2. Drag and drop files or click **Upload** to browse your computer. 3. Add descriptions so Denada can find and use them in your projects. Images you upload are available across every chat and project in your team. [Learn more about the image library](/image-library/collections) ## Create your first project The fastest way to create an email is through a conversation with Denada. 1. Click **+ New** in the top-right corner and choose **New project**. 2. If your team has multiple libraries, select which library to use. 3. You will land on a "What would you like to make?" screen. The more context you give Denada, the better the result — you can type a prompt, attach a creative brief or reference images, paste a URL, or use voice input. 4. Denada will generate a draft and show you a live preview. Keep chatting to refine the copy, layout, or tone until you are happy with the result. If you prefer to skip the chat and build manually, click **Skip and go to editor**. > [!TIP] > > Denada works best with context. Uploading a creative brief, attaching reference images, or pasting a URL alongside your prompt will produce a much better first draft. [Learn more about creating projects](/creating/new-projects) [Learn more about the chat interface](/creating/chat-interface) ## Refine in the editor As you chat, Denada builds your project and it appears in the preview area on the left side of the screen. Chat and the editor live side by side in the same project view, so there is no separate "save" step. ![The project view with the rendered email preview on the left and the chat conversation on the right](https://mintcdn.com/denada/vD14D0xpOQNEh5R4/images/generated/editor-chat.png?fit=max\&auto=format\&n=vD14D0xpOQNEh5R4\&q=85\&s=f2e43b038498196d663dcede7416b137) Switch to the other sidebar tabs to make precise adjustments: * **Edit** -- edit individual blocks and their parameters (text, images, buttons, colors). * **Variations** -- generate multiple versions of your project, like translations or versions for different audiences. * **Comments** -- leave comments for your team. * **Options** -- access project settings and version history. You can also switch between desktop and mobile preview modes. [Learn more about the editor](/editor/editor-interface) ## Export or share Once your project is finalized, click the **Share** button in the editor toolbar. From there you can: * **Publish to web** and share a preview link so stakeholders can review and comment without a Denada account. * **Send a proof email** to test how your email looks in real inboxes. * **Export** as an image, PDF, ZIP, CSV, or to Figma. * **Copy or save the HTML** for pasting directly into your email service provider. * **Export to a connected platform** like Iterable, Braze, or HubSpot. [Learn more about exporting](/exporting/export-formats) ## Next steps You have created and exported your first email -- nice work! Here are a few things to explore next: * [Interface overview](/concepts/interface-overview) -- understand the overall layout and workflow. * [Working with blocks](/editor/working-with-blocks) -- dive deeper into project structure. * [Variations](/editor/variations) -- generate multiple versions of a project automatically. * [Comments and collaboration](/editor/comments-and-collaboration) -- get feedback from your team. # AI image generation Source: https://help.heydenada.com/image-library/ai-images Generate new images from a prompt, or remix existing ones with AI When your library doesn't have the perfect image, Denada can create one. You can generate brand-new images from a text prompt, or remix an existing image with targeted changes — all without leaving your workflow. ## Generating images from a prompt Look for **Auto-generate image** wherever you work with images: * **In the editor** — click any image in the preview and choose **Auto-generate image** from the image menu. See [using images](/editor/using-images). * **In the image library** — open a collection's menu and choose **Auto-generate image**. The result is saved as a new image in that collection, complete with generated appearance metadata. * **In chat** — ask Denada for imagery while building a project, and it can generate images as part of the conversation (when your team has enabled it — see below). See the [chat interface](/creating/chat-interface). The generation dialog lets you write a prompt (e.g., "Students walking on a college campus"), pick a model, and choose an aspect: **Square**, **Landscape**, or **Portrait**. ## Remixing an existing image Remixing starts from an image you already have and applies changes you describe — "add a gray border", "make the background warmer", "remove the text". It's often faster than regenerating from scratch, and it preserves what already works. Choose **Remix image** from the image menu to open the remix dialog: 1. Describe how you want to change the image in the prompt field. 2. Optionally drag in additional reference images. 3. Pick a model and an aspect — **Match aspect** keeps the original's proportions, or force **Square**, **Landscape**, or **Portrait**. 4. Send the prompt, then use the eye toggle to flip between the original and the new version. 5. Click **Save** to keep the result, or refine your prompt and try again. ## Where generated images live Images that Denada generates are collected in the **Generated** collection in your image library, so nothing is lost even if you generated it deep inside a project. Images you generate directly in a collection are saved to that collection. The **Generated** collection is managed automatically and isn't available to Denada in chat — if you want Denada to reuse a generated image in future projects, move it into one of your published collections. See the [image library](/image-library/collections). ## Enabling AI generation for chat and agents Team managers control whether Denada and connected AI agents may generate images on their own. In your team's [settings](/team/workspace-settings), the **AI image generation** toggle: * **Off (the default)** — Denada won't generate images during chat, and connected AI agents can't generate them either. Projects draw on your image library instead. * **On** — chat and connected agents can generate new images when a project calls for one. > [!NOTE] > > This setting only gates automatic generation. Team members can always generate images manually with **Auto-generate image** and **Remix image**. # Image library Source: https://help.heydenada.com/image-library/collections Upload, organize, publish, and search your team's images The **Images** section in the sidebar is where you manage all visual assets across your team. Images are organized into collections — named groups that keep things tidy as your library grows — and everything you publish becomes available for Denada to use in your projects. ![An image collection showing a grid of the team's photography](https://mintcdn.com/denada/vD14D0xpOQNEh5R4/images/generated/image-library.png?fit=max\&auto=format\&n=vD14D0xpOQNEh5R4\&q=85\&s=285d6b97169cc9937271548068ae9f2f) ## Collections A collection is a named group of images. The sidebar lists all your collections, and clicking one filters the view to just those images. You might create collections for campaigns, product lines, seasons, or content types. Two collections exist automatically: * **Default** — where images land when you haven't chosen a collection. * **Generated** — AI-generated images land here automatically. This system collection is managed by Denada and is not available to Denada in chat. > [!NOTE] > > Multiple named collections and image search are available on the Team plan. ### Creating a collection 1. Click **New** at the bottom of the collections list in the sidebar. 2. Select **New collection**. 3. Give it a descriptive name (e.g., "Spring 2026 campaign" or "Product photos"). > [!TIP] > > Name collections after their purpose or campaign so teammates can find what they need without guessing. ### Moving images between collections 1. Click an image to open the **Image details** panel. 2. On the **Overview** tab, use the **Collection** dropdown to move it. ## Publishing images to Denada Publishing controls which images Denada can see and use when building projects in chat. Each collection has a publish control: * In the sidebar, hover a collection to reveal its publish button. * Or open the collection's menu and use the **Available to Denada** toggle. Published images become part of Denada's working knowledge — when you ask for a new email or landing page, Denada picks from your published images. Unpublished collections stay private to your team's manual workflows. ## Uploading images When you add images, Denada reviews each one and generates descriptive metadata so it can find and use them later. ### From your device 1. Open a collection from the sidebar. 2. Drag and drop files directly into the browser window. 3. Or open the collection menu and choose **Upload images**. ### From a URL Open the collection menu and choose **Add image from URL**, then paste a direct image URL. ### From Figma Choose **Import from Figma** in the collection menu for instructions on sending images straight from Figma using Denada's plugin. See the [Figma integration](/integrations/figma). **When you upload images, Denada automatically:** * Generates a descriptive appearance, alt text, and keywords. * Suggests presentation settings so the image looks right in projects. ## Image details Click any image to open the **Image details** panel. It has two tabs: ### Overview * **Name** — the image's display name (auto-generated on upload, editable). * **Collection** — which collection this image belongs to. Use the dropdown to move it. * **Image** — a preview with editing actions (see below). ![The Image details panel on the Overview tab, with name, collection, and image preview](https://mintcdn.com/denada/xjX7XM-d7P3k40as/images/generated/image-details-overview.png?fit=max\&auto=format\&n=xjX7XM-d7P3k40as\&q=85\&s=d4e56d6c35f7fbc8a9afc25547ef9d2f) ### Appearance * **Instructions** — tell Denada when or how to use this image (e.g., "For newsletter hero images"). * **Appearance** — a description of what's in the image, since Denada can't "see" it during chat. * **Alt Text** — accessibility text for screen readers and fallback display. * **Keywords** — tags used for search (e.g., "students, library, books"). * **Metadata** — plain-text notes from importers or integrations. All fields are editable — useful for refining descriptions, adding usage rules, or correcting auto-generated tags. Click **Regenerate appearance…** to have Denada re-analyze the image and rewrite the appearance, alt text, and keywords. ![The Appearance tab with instructions, appearance, alt text, and keywords fields filled in](https://mintcdn.com/denada/xjX7XM-d7P3k40as/images/generated/image-details-appearance.png?fit=max\&auto=format\&n=xjX7XM-d7P3k40as\&q=85\&s=375d163ceb17397e8d71ef80deb30d66) ## Image actions Click the image preview in the details panel to access these options: * **Crop image** — adjust the crop area and reposition. The crop applies to this image everywhere it's used. * **Image format** — switch between JPEG, GIF, and PNG. * **Preview on dark background** — check how transparent PNGs or light images will look on dark. * **View fullscreen** — opens the image at full size. * **Open in new tab** — opens the hosted image in a new browser tab. * **Copy image URL** — copies the hosted image URL to your clipboard. ## Searching The **Search** page in the Images sidebar searches across your whole library, with two modes: * **Similarity** — semantic search that understands descriptions, like "Product in a warm interior setting". * **Keywords** — matches model numbers, product names, or keywords exactly. Use the filter button to narrow results with the **Only published** toggle or a specific **Collection**. > [!NOTE] > > Image search is available on the Team plan. ## Best practices * **Organize with collections.** Group related images by campaign or theme. * **Publish deliberately.** Only published images are available to Denada — keep works-in-progress unpublished. * **Review generated metadata.** The automatic descriptions are a great start, but a quick review ensures accuracy. * **Add instructions to key images.** A short note like "For newsletter hero images" helps Denada place images well. > [!NOTE] > > Collections are shared across your entire team. Any team member can browse, add to, or organize images in any collection. # Acoustic Source: https://help.heydenada.com/integrations/acoustic Push finished emails from Denada to Acoustic Campaign Denada integrates with [Acoustic Campaign](https://www.acoustic.com) (formerly IBM Watson Campaign Automation / Silverpop) so you can design emails in Denada and push them directly to Acoustic as shared mailing templates, ready for campaign builders to use. ## What you need * A Denada project with an email ready to push * An Acoustic Campaign account where you can create an **API application** (OAuth client ID and secret) and generate a **refresh token** * The ID of the Acoustic database or contact list your mailings send to (Denada can list them for you during setup) * A sender name and address for your mailings Denada handles the OAuth flow for you: you enter the client ID, client secret, and refresh token once, and Denada exchanges the refresh token for short-lived access tokens in the background. Your Acoustic data center (pod) is detected automatically from your credentials — you never have to pick one. ## Connect Denada to Acoustic **1. Open the Integrations dialog** Click **Share** on any project, then under **Integrations**, click **Configure**. (You can also open your team's **Settings** page and click **Add integration** in the **Integrations** panel — manager access required.) **2. Select Acoustic** Choose **Acoustic** from the list of platforms. **3. Enter your OAuth credentials** * **Name** — optional, e.g. "Production". * **Client ID** and **Client secret** — from the API application you created in Acoustic. * **Refresh token** — the long-lived token generated for that application. **4. Validate** Click **Validate**. Denada confirms the credentials, detects your pod, and loads your account's databases and lists — the **Database / list ID** field becomes a **Database / list** picker so you can select one instead of pasting an ID. **5. Fill in mailing defaults** Acoustic requires a database/list and sender details to save a mailing, so Denada collects them once here rather than on every export: * **Database / list** — the Acoustic database, contact list, or query the mailing is associated with. * **From name** and **From address** — the sender identity. * **Reply-to** — optional; defaults to the from address. **6. Save** Click **Save**. Saving new credentials clears any cached access token, so the next export authenticates fresh. ## Push an email to Acoustic 1. Open the project and click **Share**. 2. Under **Integrations**, select **Export to Acoustic**. 3. Fill in the export dialog: * **Template name** — the name of the mailing template as it will appear in Acoustic. Defaults to your project's name. * **Folder** — optional. A folder path like `Shared/Campaigns` to file the mailing template into. The folder must already exist in Acoustic and the path is case-sensitive; leave it blank to save at the top level. 4. Click **Export**. Denada renders the final HTML and saves it in Acoustic as a **shared mailing template** (using Acoustic's SaveMailing API), with your project's subject line and the sender details from your integration settings. > [!NOTE] > > Acoustic's API has no way to upload images, so your email's images stay hosted on Denada's CDN — the exported HTML references them by URL and they display normally in sent mail. ## How updates work Acoustic keeps **one mailing template per name** across your account, so Denada is careful about collisions: * **Re-exporting updates in place.** If you've pushed this project to Acoustic before, the export dialog shows a **Previous export** option: choose **Update the existing template** to update the same mailing template by ID (changing the folder moves it), or **Create a separate template** — which requires a different name, since Acoustic replaces by name. * **Name collisions are checked first.** For new or renamed exports, Denada looks for an existing shared mailing template with the same name. If one exists, you'll see a **Replace existing template?** confirmation that also tells you which folder the existing one currently lives in — confirm to replace (and move) it, or cancel and pick a different name. ## Troubleshooting > **Export fails saying the folder couldn't be found** > > Acoustic's API can't create or list folders, so the **Folder** path must exactly match a folder that already exists in Acoustic (it's case-sensitive). Create the folder in Acoustic first, then export again. > **Validation fails** > > Double-check all three credentials — client ID, client secret, and refresh token — come from the same Acoustic API application, and that the refresh token hasn't been revoked. For general information about how integrations work, see [Integrations overview](/integrations/integrations-overview). ## Need help? If you run into issues with the Acoustic integration, reach out to [support@heydenada.com](mailto:support@heydenada.com) or ask in our [Community Slack](https://join.slack.com/t/denadacommunity/shared_invite/zt-33ermqnvl-kU9677V0eloK5Jf2SSNO5g). # Braze Source: https://help.heydenada.com/integrations/braze Push finished emails from Denada to Braze Denada integrates with [Braze](https://www.braze.com) so you can design emails in Denada and push them directly to Braze as email templates, ready for campaign orchestration. ## What you need * A Denada project with an email ready to push * A Braze account with permission to create REST API keys * Your Braze **REST endpoint** URL (for example `https://rest.iad-01.braze.com` — it varies by Braze instance) ## Create a Braze API key Create a dedicated REST API key for the Denada integration: 1. Log in to your Braze account. 2. Click **Settings** on the account name in the lower left. 3. Under **API and Identifiers**, choose API Keys and **Create API Key**. 4. Provide a name. 5. Set **Permissions** to **Media Library and Templates**. 6. Click **Create API Key**. 7. Copy the **Key** (Identifier). ## Connect Denada to Braze **1. Open the Integrations dialog** Click **Share** on any project, then under **Integrations**, click **Configure**. (You can also open your team's **Settings** page and click **Add integration** in the **Integrations** panel — manager access required.) **2. Select Braze** Choose **Braze** from the list of platforms. **3. Enter your credentials** * **Name** — optional, e.g. "Production". Useful if you connect more than one Braze workspace. * **API key** — the REST API key you created above. * **API endpoint** — your Braze REST endpoint URL. Denada suggests the standard cluster URLs (US-01 through US-10, EU-01, EU-02, AU-01, ID-01) as you type. **4. Validate and save** Click **Validate** to confirm the key and endpoint work, then click **Save**. > [!WARNING] > > The **API endpoint** must be a REST endpoint starting with `rest.` — not your Braze dashboard URL. If you enter a dashboard URL, validation fails with a message suggesting the matching REST endpoint. See [Braze's endpoint documentation](https://www.braze.com/docs/api/basics/#endpoints) for the full mapping. ## Push an email to Braze 1. Open the project and click **Share**. 2. Under **Integrations**, select **Export to Braze**. 3. Fill in the export dialog: * **Template name** — the name that will appear in Braze. Defaults to your project's name. * **Subject line** — pre-filled from your project's subject. * **Upload images to Braze media library** — optional. When checked, Denada uploads your email's images to the Braze media library and rewrites the HTML to use Braze-hosted URLs. When unchecked, images stay hosted on Denada's CDN. 4. Click **Export**. Denada renders the final HTML and creates an email template in Braze. When the export finishes, the task includes a direct link to the new email template in your Braze dashboard. ## How updates work * **Re-exporting updates in place.** If you've pushed this project to Braze before, the export dialog shows a **Previous export** option: choose **Overwrite** to update the same Braze email template, or **Create new** to make a separate one. * **Name collisions are checked first.** For new exports, Denada checks whether an email template with the same name already exists in Braze. If it does, you'll see a **Replace existing template?** confirmation — confirm to update it, or cancel and choose a different name. * **Previously uploaded images are reused.** If you upload images and export again, the **Previous images** option lets you reuse the existing Braze-hosted copies (**Use existing**) or upload fresh ones (**Upload new**). Reusing is the default and keeps your media library tidy. ## Troubleshooting > **Validation fails with an endpoint error** > > Make sure you entered your Braze REST endpoint (starting with `rest.`), not the dashboard URL you use to log in. The error message suggests the correct REST endpoint for your cluster. > **Export fails with a permissions error** > > Confirm the API key's permissions include **Templates** (and **Media Library** if you upload images). > **Background images look wrong in the Braze preview** > > Denada automatically adds inline `background-image` styles for email backgrounds so they render correctly in Braze's editor preview as well as in email clients. For general information about how integrations work, see [Integrations overview](/integrations/integrations-overview). ## Need help? If you run into issues with the Braze integration, reach out to [support@heydenada.com](mailto:support@heydenada.com) or ask in our [Community Slack](https://join.slack.com/t/denadacommunity/shared_invite/zt-33ermqnvl-kU9677V0eloK5Jf2SSNO5g). # Campaign Monitor Source: https://help.heydenada.com/integrations/campaign-monitor Push finished emails from Denada to Campaign Monitor Denada integrates with [Campaign Monitor](https://www.campaignmonitor.com) so you can design emails in Denada and push them directly to Campaign Monitor as draft campaigns, ready to review and send. ## What you need * A Denada project with an email ready to push * A Campaign Monitor account with API access * Your Campaign Monitor **API key** and **Client ID**, both found under **Account Settings > API Keys** * At least one mailing list in Campaign Monitor to attach campaigns to ## Connect Denada to Campaign Monitor **1. Open the Integrations dialog** Click **Share** on any project, then under **Integrations**, click **Configure**. (You can also open your team's **Settings** page and click **Add integration** in the **Integrations** panel — manager access required.) **2. Select Campaign Monitor** Choose **Campaign Monitor** from the list of platforms. **3. Enter your credentials** * **Name** — optional, e.g. "Sales". * **API key** — from **Account Settings > API Keys** in Campaign Monitor. * **Client ID** — from the same page. **4. Validate** Click **Validate** to confirm the credentials work. This also unlocks the optional settings below. **5. Fill in campaign defaults** Under **Settings**, configure how draft campaigns are created: * **Default mailing lists** — pick the lists that campaigns should be attached to by default. * **From name** and **From email** — the sender identity for created campaigns. * **Reply-to email** — optional; defaults to the from email. **6. Save** Click **Save**. ## Push an email to Campaign Monitor 1. Open the project and click **Share**. 2. Under **Integrations**, select **Export to Campaign Monitor**. 3. In the **Select Lists** dialog, choose the mailing lists for this campaign (your default lists are pre-selected). 4. Confirm to start the export. Denada creates a **draft campaign** in Campaign Monitor using your project's name as the campaign name, its subject line, and the sender details from your integration settings. Campaign Monitor imports the rendered HTML directly from Denada. Open the draft in Campaign Monitor to review, pick a send time, and send. ## How updates work > [!NOTE] > > Unlike most integrations, each export to Campaign Monitor creates a **new draft campaign** — Campaign Monitor's API doesn't support updating an existing draft's content in place. If you re-export after making changes, delete the older draft in Campaign Monitor to avoid confusion. ## Troubleshooting > **Export fails asking for a list** > > At least one mailing list must be selected for every export. Set **Default mailing lists** in the integration settings, or pick lists in the dialog when exporting. > **No lists appear in the picker** > > The list picker shows the lists for the client that matches your **Client ID**. If it's empty, double-check the Client ID and that the account has at least one list. For general information about how integrations work, see [Integrations overview](/integrations/integrations-overview). ## Need help? If you run into issues with the Campaign Monitor integration, reach out to [support@heydenada.com](mailto:support@heydenada.com) or ask in our [Community Slack](https://join.slack.com/t/denadacommunity/shared_invite/zt-33ermqnvl-kU9677V0eloK5Jf2SSNO5g). # Cheetah Digital Source: https://help.heydenada.com/integrations/cheetah Push finished emails from Denada to Cheetah Digital Denada integrates with [Cheetah Digital](https://www.marigold.com) so you can design emails in Denada and push them directly to Cheetah as content blocks, ready to use in your messaging. ## What you need * A Denada project with an email ready to push * A Cheetah Digital **Service Account** with a **Consumer Key** and **Consumer Secret** * A folder in Cheetah where Denada should create content blocks * A dynamic table (the Cheetah entity your content is associated with) ## Connect Denada to Cheetah **1. Open the Integrations dialog** Click **Share** on any project, then under **Integrations**, click **Configure**. (You can also open your team's **Settings** page and click **Add integration** in the **Integrations** panel — manager access required.) **2. Select Cheetah Digital** Choose **Cheetah Digital** from the list of platforms. **3. Enter your credentials** * **Name** — optional, e.g. "Sales". * **Consumer key** and **Consumer secret** — from your Cheetah Service Account. **4. Validate** Click **Validate**. Denada confirms the credentials and retrieves your Cheetah customer ID, unlocking the settings below. **5. Pick a default folder** Under **Settings**, click **Default folder (required)** and choose the Cheetah folder where content blocks should be created by default. **6. Save** Click **Save**. ## Push an email to Cheetah 1. Open the project and click **Share**. 2. Under **Integrations**, select **Export to Cheetah Digital**. 3. Fill in the **Export to Cheetah** dialog: * **Asset name** — the name of the content block as it will appear in Cheetah. Defaults to your project's name. * **Dynamic table** — click to open the **Select dynamic table** picker and choose the table this content is associated with. * **Folder** — the destination folder; defaults to your configured default folder. * **Upload images** — optional. When checked, choose an **Image folder** (a Cheetah hosted item folder): Denada uploads your email's images there as hosted items and rewrites the HTML to use Cheetah-hosted URLs. When unchecked, images stay hosted on Denada's CDN. 4. Click **Export**. Denada renders the final HTML and creates a **content block** in the folder you chose, tied to the selected dynamic table. Your image settings are remembered as defaults for next time. ## How updates work > [!NOTE] > > Each export to Cheetah currently creates a **new content block** — there is no update-in-place or name-collision check yet. If you re-export after making changes, remove the older content block in Cheetah to avoid confusion. ## Troubleshooting > **Export fails asking for a folder** > > A destination folder is required. Set **Default folder (required)** in the integration settings, or pick a folder in the export dialog. > **Export fails asking for a hosted item folder** > > When **Upload images** is checked, you must also choose an **Image folder** for the hosted items. > **Export fails asking to re-validate credentials** > > Denada needs your Cheetah customer ID, which it retrieves during validation. Open the integration and click **Validate**, then **Save**. For general information about how integrations work, see [Integrations overview](/integrations/integrations-overview). ## Need help? If you run into issues with the Cheetah Digital integration, reach out to [support@heydenada.com](mailto:support@heydenada.com) or ask in our [Community Slack](https://join.slack.com/t/denadacommunity/shared_invite/zt-33ermqnvl-kU9677V0eloK5Jf2SSNO5g). # Figma Source: https://help.heydenada.com/integrations/figma Send designs from Figma into your Denada image library, and take finished projects into Figma Denada and Figma connect in both directions: the **Export to Denada** Figma plugin sends frames and layers from Figma straight into your team's image library, and the **Export to Figma** option in a project's **Share** menu takes your finished design the other way. ## Send designs from Figma to Denada The **Export to Denada** plugin (available in the Figma Community) exports any selected frame or layer directly into your Denada team's image library — no downloading and re-uploading files. ### Set up the plugin **1. Install the plugin** Install **Export to Denada** from the Figma Community and open it in your Figma file. **2. Get a team API token** The plugin authenticates with a **team API token**. A team manager can create one on your team's **Settings** page under **API tokens** — see [API tokens](/team/api-tokens). **3. Enter the token** Paste the token into the **Denada API Token** field at the bottom of the plugin. The token is saved with the Figma document and shared with everyone editing it, so your whole design team only needs to set it up once per file. ### Export a frame or layer 1. Select a single frame or layer — the plugin shows a live preview of what will be exported. 2. Optionally adjust the export settings: * **Name** — the name for the image in Denada; defaults to the layer's name. * **Size** — a scale factor like `2x` (the default), or an exact width or height like `500w` or `500h`. * **Format** — **JPG** (default), **PNG**, or **SVG**. 3. Click **Export to Denada**. The image lands in your team's image library, where Denada automatically describes it so it's easy to find with search. The plugin's confirmation includes a **Copy Link** button that links straight to the new image in Denada. Settings are remembered per layer, so re-exporting is one click. > [!TIP] > > When you re-export the same Figma layer, Denada recognizes it and **updates the existing image** in your library rather than creating a duplicate. If nothing changed since the last export, Denada detects that too and skips the duplicate. ### Using imported images Once in your image library, Figma exports work like any other image — you can insert them into projects, crop them, organize them into collections, and edit their metadata. Each one keeps its Figma context (document name and layer path) so you can tell where it came from. For more on managing images, see [Image library](/image-library/collections). ## Take a project into Figma Going the other direction — say, to hand a finished email to designers for further work — Denada points you at the excellent third-party [html.to.design](https://www.figma.com/community/plugin/1159123024924461424) plugin, which imports web pages into Figma as editable layers. 1. Open the project and click **Share**. 2. Select **Export to Figma**. 3. The dialog links you to the plugin (**Get the plugin**) and gives you a clean, copyable link to your project's rendered HTML — paste that link into html.to.design inside Figma to import the design without any of the surrounding Denada UI. ![The Export to Figma dialog with the Get the plugin button and a copyable link to the project's rendered HTML](https://mintcdn.com/denada/xjX7XM-d7P3k40as/images/generated/figma-export.png?fit=max\&auto=format\&n=xjX7XM-d7P3k40as\&q=85\&s=1b5a7cdef2aa4f03b02e57029e93aba9) > [!NOTE] > > html.to.design is free for the first few imports and works very well, but it's a third-party plugin — pricing and behavior are up to its developers. ## Need help? If you run into issues with the Figma integration, reach out to [support@heydenada.com](mailto:support@heydenada.com) or ask in our [Community Slack](https://join.slack.com/t/denadacommunity/shared_invite/zt-33ermqnvl-kU9677V0eloK5Jf2SSNO5g). # HubSpot Source: https://help.heydenada.com/integrations/hubspot Push finished emails from Denada to HubSpot Denada integrates with [HubSpot](https://www.hubspot.com) so you can design emails in Denada and push them directly to HubSpot as ready-to-send marketing emails. ## What you need * A Denada project with an email ready to push * A HubSpot account where you can create a **private app** * A private app access token with the **content** and **files** scopes ## Create a HubSpot private app token Denada authenticates with a private app access token: 1. In HubSpot, go to **Settings > Integrations > Private Apps** and create a new private app. 2. Give it a name like "Denada". 3. Under scopes, enable **content** (required to create emails) and **files** (required if you want Denada to upload images to HubSpot). 4. Create the app and copy its **access token**. ## Connect Denada to HubSpot **1. Open the Integrations dialog** Click **Share** on any project, then under **Integrations**, click **Configure**. (You can also open your team's **Settings** page and click **Add integration** in the **Integrations** panel — manager access required.) **2. Select HubSpot** Choose **HubSpot** from the list of platforms. **3. Enter your credentials** * **Name** — optional, e.g. "Production". * **Access token** — the private app access token you created above. **4. Validate and save** Click **Validate** — Denada makes a test call against HubSpot's marketing email API and reports missing scopes if the token can't access it. Then click **Save**. ## Push an email to HubSpot 1. Open the project and click **Share**. 2. Under **Integrations**, select **Export to HubSpot**. 3. Fill in the export dialog: * **Email name** — the name that will appear in HubSpot. Defaults to your project's name. * **Subject line** — pre-filled from your project's subject. * **Image hosting** — choose **Use images hosted on Denada** to keep image URLs pointing at Denada's CDN, or **Upload and host on HubSpot** to copy them into HubSpot's file manager and rewrite the HTML to use HubSpot-hosted URLs. 4. Click **Export**. ### What the export creates in HubSpot * A coded email template in HubSpot's **Design Manager**, filed under a `denada/exports/` path that mirrors your project's folder structure in Denada. * A marketing email in **Marketing > Email** that uses that Design Manager file as its content, with your name and subject line — ready for you to pick recipients and send. * If you chose HubSpot image hosting, your images land in the file manager under a `/denada-exports/[email name]` folder (with images that come from library blocks in a `Library_Images` subfolder). ## How updates work * **Name collisions are checked first.** Before exporting, Denada checks whether a marketing email with the same name already exists in HubSpot. If it does, you'll see a **Replace existing email?** confirmation — confirm to update it, or cancel and choose a different name. * **Re-exporting updates in place.** If you've pushed this project to HubSpot before, the export dialog shows a **Previous export** option: choose **Overwrite** to update the same HubSpot email, or **Create new** to make a separate one. * **Previously uploaded images are reused.** When re-exporting with HubSpot image hosting, the **Previously uploaded images** option lets you reuse the existing HubSpot files (**Use existing uploads**) or upload fresh copies (**Upload new**). Reusing is the default. ## Troubleshooting > **Validation fails with a scopes error** > > Your private app is missing a required scope. Edit the private app in HubSpot and make sure both **content** and **files** scopes are enabled, then try again. > **Updating a previous export fails** > > If the previously exported email was deleted in HubSpot, the update can't find it — choose **Create new** in the export dialog instead. For general information about how integrations work, see [Integrations overview](/integrations/integrations-overview). ## Need help? If you run into issues with the HubSpot integration, reach out to [support@heydenada.com](mailto:support@heydenada.com) or ask in our [Community Slack](https://join.slack.com/t/denadacommunity/shared_invite/zt-33ermqnvl-kU9677V0eloK5Jf2SSNO5g). # Integrations overview Source: https://help.heydenada.com/integrations/integrations-overview Connect Denada to your email service provider and push finished emails with one click Denada integrates with the email service providers (ESPs) your team already uses, so you can design emails in Denada and push them directly to your ESP for sending. No copy-pasting HTML, no manual uploads — just a clean handoff from design to delivery. ## Supported platforms Denada supports direct integrations with the following ESPs: | Platform | What an export creates | | - | - | | **[Iterable](/integrations/iterable)** | An email template in your Iterable project, via Iterable's upsert API | | **[Braze](/integrations/braze)** | An email template in Braze, with optional image hosting in the Braze media library | | **[HubSpot](/integrations/hubspot)** | A marketing email draft in HubSpot, with optional image hosting in the HubSpot file manager | | **[Klaviyo](/integrations/klaviyo)** | An HTML template in Klaviyo, with optional image hosting in Klaviyo | | **[Mailchimp](/integrations/mailchimp)** | A code-your-own template in Mailchimp, with optional image hosting in the File Manager | | **[Salesforce Marketing Cloud](/integrations/salesforce)** | An email asset in a Content Builder folder, with flexible image hosting options | | **[Campaign Monitor](/integrations/campaign-monitor)** | A draft campaign attached to the mailing lists you choose | | **[Acoustic](/integrations/acoustic)** | A shared mailing template in Acoustic Campaign, optionally filed into a folder | | **[Cheetah Digital](/integrations/cheetah)** | A content block in the folder you choose, with optional hosted images | | **[Zeta](/integrations/zeta)** | A content template in the Zeta Marketing Platform, with optional Asset Library image hosting | Two more integrations work differently from the email destinations above: * **[Figma](/integrations/figma)** — send designs from Figma into your Denada image library, or take a finished project into Figma. * **[Jasper](/integrations/jasper)** — an AI integration: connecting Jasper gives Denada's chat access to Jasper's tools. It is not an email export destination. Even without an ESP integration, you can always download your finished email as HTML, a ZIP, images, a PDF, or a CSV — see [Export formats](/exporting/export-formats). > [!TIP] > > You can configure multiple integrations at the same time, including multiple configurations of the same platform. For example, if your team uses Iterable for transactional emails and Klaviyo for marketing, set up both and export to either one from the same project. Or keep separate Iterable configurations for staging and production. ## Setting up an integration There are two ways to reach the same setup dialog: * **From any project** — click **Share**, then under **Integrations**, click **Configure**. * **From team settings** — open your team's **Settings** page, find the **Integrations** panel, and click **Add integration**. This panel is visible to team members with the manager role or above. **1. Select your platform** In the **Integrations** dialog, pick your platform from the list. Any integrations you've already set up appear at the top under **Already setup**. **2. Enter your credentials** Each platform asks for its own credentials — typically an API key or token created in your ESP's settings. You can also give the configuration an optional **Name**, which is helpful if you have multiple accounts or projects on the same platform. **3. Validate** Click **Validate** to test the credentials against your ESP before saving. Denada makes a real API call and tells you exactly what's wrong if it fails. **4. Save** Click **Save**. The integration is now available to your whole team. ![The Integrations dialog listing the available email service provider platforms](https://mintcdn.com/denada/xjX7XM-d7P3k40as/images/generated/integrations-list.png?fit=max\&auto=format\&n=xjX7XM-d7P3k40as\&q=85\&s=099c05318965bc67bd57ee60d9f8b364) > [!NOTE] > > Most ESPs require a server-side or admin-level API key. Check the individual integration page for the specific key type and permissions required for your platform. ## Pushing an email to your ESP Once an integration is configured: 1. Open the project you want to push and click **Share**. 2. Under **Integrations**, select **Export to \[platform name]**. 3. Fill in the platform's export dialog — typically a name for the email as it will appear in your ESP, plus platform-specific options like a destination folder or image hosting. 4. Click **Export**. The export runs in the background — you can watch its progress in the notifications bell, and many platforms provide a direct link to the created asset when it finishes. ![The Share menu on a project, with Export options and the Integrations section](https://mintcdn.com/denada/vD14D0xpOQNEh5R4/images/generated/share-menu.png?fit=max\&auto=format\&n=vD14D0xpOQNEh5R4\&q=85\&s=80d13b1324ee3fb216ed7404e764082e) ## How updates work The export pipeline is designed so you can push the same project again and again without littering your ESP with duplicates: * **Re-exporting updates the same asset.** Denada records every export, so when you export a project again, most platforms show a **Previous export** option that updates the previously created asset in place instead of creating a new one. Choose **Create new** if you'd rather keep both. * **Name collisions are detected first.** Before creating anything, most platforms check whether an asset with your chosen name already exists in your ESP. If it does, Denada asks you to confirm before replacing it — you can also cancel and pick a different name. * **Exports are recorded per project.** Each successful export is saved with the details of what was created, which is what powers the update-in-place behavior on your next export. A few platforms behave differently — for example, Campaign Monitor creates a new draft campaign on every export. The individual guides call out any exceptions. ## Exporting variations to your ESP If your project has [variations](/editor/variations), each one can be pushed to your ESP as its own deliverable. Open the variation you want to export and click **Export** — the menu shows a banner confirming which variation you're exporting, and the **Export to \[platform name]** options push just that variation. The **Export all variations** toggle in the **Share** menu applies to bulk formats like ZIP and CSV; ESP exports are pushed one variation at a time so each can get its own name in your ESP. ## Personalization and dynamic content If your emails use per-recipient dynamic content — merge fields, conditional blocks, block variants — make sure your library's scripting language matches your ESP (for example, Liquid for Klaviyo or Braze, Django-style for Iterable). Denada emits your ESP's control structures in the exported HTML, and your ESP resolves them for each recipient at send time. See [Personalization & dynamic content](/editor/personalization). > [!WARNING] > > Some platforms treat certain characters as merge-tag syntax. Iterable, for example, interprets curly braces as Handlebars — so when exporting static HTML to Iterable, Denada escapes them. Check the individual guide for your platform if you're mixing Denada exports with ESP-side personalization tags. ## Troubleshooting > **I don't see the Export option for my platform** > > Make sure at least one integration is configured for that platform. Click **Share > Integrations > Configure** on any project to set one up. > **Validation fails when I enter my API key** > > Double-check that you're using the correct key type. Most platforms require a server-side or admin API key, not a client-side or mobile key. Refer to the specific integration page for details. > **My email looks different in the ESP** > > Some ESPs apply their own styling or wrapping to imported emails. Preview the email in your ESP's built-in preview tool and send a test email to verify rendering. > **Export succeeds but I can't find the email in my ESP** > > Check the folder or project you exported to. If you have multiple configurations for the same platform, make sure you selected the correct one. Also verify that your API key has permission to create assets. ## Need help? If you run into issues with any integration, reach out to [support@heydenada.com](mailto:support@heydenada.com) or ask in our [Community Slack](https://join.slack.com/t/denadacommunity/shared_invite/zt-33ermqnvl-kU9677V0eloK5Jf2SSNO5g). # Iterable Source: https://help.heydenada.com/integrations/iterable Push finished emails from Denada to Iterable Denada integrates with [Iterable](https://iterable.com) so you can design emails in Denada and push them directly to Iterable for sending. Exports land in Iterable's **Templates** section, ready to use in your campaigns. ## What you need * A Denada project with an email ready to push * An Iterable account with a **server-side API key** (found in your Iterable project under **Settings > API keys**) > [!WARNING] > > You need a **server-side** API key, not a standard or mobile key. Denada uses this key to create and update email templates in your Iterable project. ## Connect Denada to Iterable 1. Open the **Share** menu on any project and scroll down to find the **Configure** option under **Integrations**. (You can also open your team's **Settings** page and click **Add integration** in the **Integrations** panel — manager access required.) ![Share menu with export and integration options](https://mintcdn.com/denada/iCjVmGaSrBKdlgBI/images/iterable-export-menu.png?fit=max\&auto=format\&n=iCjVmGaSrBKdlgBI\&q=85\&s=2d206dff3a35b2fdb50e17926f18d73e) The Share menu showing integration options. 2. In the **Integrations** dialog, select **Iterable**. ![Integrations dialog with Iterable selected](https://mintcdn.com/denada/iCjVmGaSrBKdlgBI/images/iterable-integrations-list.png?fit=max\&auto=format\&n=iCjVmGaSrBKdlgBI\&q=85\&s=af1d763eb449dfadb195e8782a57629e) The integrations list showing available ESPs. 3. Enter an optional **Name** for this configuration (useful if you have multiple Iterable projects) and your **API key**. ![Iterable setup dialog with name and API key fields](https://mintcdn.com/denada/iCjVmGaSrBKdlgBI/images/iterable-setup-dialog.png?fit=max\&auto=format\&n=iCjVmGaSrBKdlgBI\&q=85\&s=db445b5eefc230f2515b0f68128e946b) The Iterable setup dialog. 4. Click **Validate** to verify your API key works, then click **Save**. You can add multiple Iterable configurations if you work with different Iterable projects. ## Push an email to Iterable 1. Open the project you want to push and click **Share**. 2. Under **Integrations**, select **Export to Iterable** (this option appears once you've saved at least one Iterable configuration). 3. Enter a **Template name** — this is the name that will appear in Iterable's Templates section. 4. Click **Export**. Denada renders your email to HTML and uploads it to Iterable using the [upsert API](https://api.iterable.com/api/docs#templates_upsertEmailTemplate). If an Iterable template with the same name already exists, you'll be asked to confirm whether you want to overwrite it. ## How it works When you push an email: * Denada renders the final HTML from your project and its current parameter values. * Any curly braces (`{` and `}`) in your HTML are escaped so Iterable doesn't interpret them as Handlebars merge tags. If you need Iterable merge tags, add them in Iterable after export. * The email is upserted in Iterable — if an Iterable template with the same name exists, it is updated in place; otherwise a new one is created. Re-exporting with the same name always updates the same Iterable template. * The email **subject line** from your project is included in the export. ## Troubleshooting > **'Invalid API key' error during validation** > > Make sure you're using a **server-side** API key from Iterable, not a standard or mobile key. You can find this under **Settings > API keys** in your Iterable project. > **Export fails with a permissions error** > > Your API key may not have the required permissions. Ensure the key has access to create and update email templates in Iterable. > **Name conflict** > > If an Iterable template with the same name already exists, Denada will ask if you'd like to overwrite it. Choose a different name if you want to keep both versions. For general information about how integrations work, see [Integrations overview](/integrations/integrations-overview). ## Need help? If you run into issues with the Iterable integration, reach out to [support@heydenada.com](mailto:support@heydenada.com) or ask in our [Community Slack](https://join.slack.com/t/denadacommunity/shared_invite/zt-33ermqnvl-kU9677V0eloK5Jf2SSNO5g). # Jasper Source: https://help.heydenada.com/integrations/jasper Give Denada's chat access to your Jasper tools The [Jasper](https://www.jasper.ai) integration is different from Denada's email integrations: it isn't a destination you push emails to. Instead, connecting Jasper gives Denada's chat access to your Jasper workspace's tools (via Jasper's MCP server), so you can ask Denada to use them while you work on your projects. ## What you need * A Jasper account with permission to create API keys * Your Jasper **API key** — generated by an admin or developer in your Jasper workspace under **settings → dev-tools → tokens** ## Connect Denada to Jasper **1. Open the Integrations dialog** Open your team's **Settings** page, find the **Integrations** panel, and click **Add integration** (manager access required). You can also get there from any project via **Share > Integrations > Configure**. **2. Select Jasper** Choose **Jasper** from the list. **3. Enter your API key** * **Name** — optional, e.g. "Production". * **API key** — the key from your Jasper workspace. **4. Validate and save** Click **Validate** — Denada performs a real handshake with Jasper's MCP server using your key, the same way chat will connect at runtime. Then click **Save**. ## Using it Once connected, Jasper's tools become available to Denada's chat for your team — just ask for what you want and Denada can call Jasper's tools as part of its work. Because Jasper isn't an email destination, it does **not** appear under **Export to…** in the **Share** menu; the integration only affects what Denada's chat can do. To disconnect, open the integration from the **Integrations** panel and click **Delete**. For general information about how integrations work, see [Integrations overview](/integrations/integrations-overview). ## Need help? If you run into issues with the Jasper integration, reach out to [support@heydenada.com](mailto:support@heydenada.com) or ask in our [Community Slack](https://join.slack.com/t/denadacommunity/shared_invite/zt-33ermqnvl-kU9677V0eloK5Jf2SSNO5g). # Klaviyo Source: https://help.heydenada.com/integrations/klaviyo Push finished emails from Denada to Klaviyo Denada integrates with [Klaviyo](https://www.klaviyo.com) so you can design emails in Denada and push them directly to Klaviyo for your e-commerce campaigns. ## What you need * A Denada project with an email ready to push * A Klaviyo account where you can create a **private API key** ## Create a Klaviyo private API key 1. Log in to your Klaviyo account. 2. Click **Settings** on the account name in the lower left. 3. Under **Private API Keys**, click **Create PRIVATE API Key**. 4. Give the key a name like "Denada integration". 5. Grant it **Full Access** to at least **Templates** and **Images** (Templates is required; Images is only needed if you want Denada to upload images to Klaviyo). 6. Click **Save** and copy the key. ## Connect Denada to Klaviyo **1. Open the Integrations dialog** Click **Share** on any project, then under **Integrations**, click **Configure**. (You can also open your team's **Settings** page and click **Add integration** in the **Integrations** panel — manager access required.) **2. Select Klaviyo** Choose **Klaviyo** from the list of platforms. **3. Enter your credentials** * **Name** — optional, e.g. "Production". * **Private API key** — the key you created above. **4. Validate and save** Click **Validate** to confirm the key works, then click **Save**. ## Push an email to Klaviyo 1. Open the project and click **Share**. 2. Under **Integrations**, select **Export to Klaviyo**. 3. Fill in the export dialog: * **Template name** — the name that will appear in Klaviyo. Defaults to your project's name. * **Upload images - Klaviyo hosts images** — optional. When checked, Denada uploads your email's images to Klaviyo and rewrites the HTML to use Klaviyo-hosted URLs. When unchecked, images stay hosted on Denada's CDN. 4. Click **Export**. Denada renders the final HTML and creates an HTML (code) template in Klaviyo, ready to use in your campaigns and flows. ## How updates work * **Re-exporting updates in place.** If you've pushed this project to Klaviyo before, the export dialog shows a **Previous export** option: choose **Update existing** to update the same Klaviyo template, or **Create new** to make a separate one. If the previous one was deleted in Klaviyo, Denada creates a new one automatically. * **Previously uploaded images are reused.** When re-exporting with image upload enabled, the **Previously uploaded images** option lets you reuse the existing Klaviyo-hosted copies (**Use existing uploads**) or upload fresh ones (**Upload new**). Reusing is the default. > [!NOTE] > > Klaviyo allows multiple templates with the same name, so there is no overwrite confirmation like some other platforms — use the **Previous export** option to control whether you update or duplicate. ## Troubleshooting > **'Invalid API key' error during validation** > > Make sure you're using a **private** API key (they start with `pk_`), not a public key, and that it hasn't been revoked in Klaviyo. > **Image upload fails but the export succeeds** > > Check that the API key has access to **Images** in addition to **Templates**. Without it, Denada can't create image assets in Klaviyo. For general information about how integrations work, see [Integrations overview](/integrations/integrations-overview). ## Need help? If you run into issues with the Klaviyo integration, reach out to [support@heydenada.com](mailto:support@heydenada.com) or ask in our [Community Slack](https://join.slack.com/t/denadacommunity/shared_invite/zt-33ermqnvl-kU9677V0eloK5Jf2SSNO5g). # Mailchimp Source: https://help.heydenada.com/integrations/mailchimp Push finished emails from Denada to Mailchimp Denada integrates with [Mailchimp](https://mailchimp.com) so you can design emails in Denada and push them directly to Mailchimp as templates. ## What you need * A Denada project with an email ready to push * A Mailchimp account where you can create an **API key** ## Create a Mailchimp API key 1. Log in to your Mailchimp account. 2. Click your profile icon, then **Profile**, then open the **Extras** menu and choose **API keys**. 3. Click **Create A Key** and give it a name like "Denada integration". 4. Copy the key. It ends with a data center, like `-us19`. Mailchimp only shows it once. ## Connect Denada to Mailchimp **1. Open the Integrations dialog** Click **Share** on any project, then under **Integrations**, click **Configure**. (You can also open your team's **Settings** page and click **Add integration** in the **Integrations** panel — manager access required.) **2. Select Mailchimp** Choose **Mailchimp** from the list of platforms. **3. Enter your credentials** * **Name** — optional, e.g. "Production". * **API key** — the key you created above, including the data center suffix. **4. Validate and save** Click **Validate** to confirm the key works, then click **Save**. ## Push an email to Mailchimp 1. Open the project and click **Share**. 2. Under **Integrations**, select **Export to Mailchimp**. 3. Fill in the export dialog: * **Template name** — the name that will appear in Mailchimp. Defaults to your project's name. * **Upload images - Mailchimp hosts images** — optional. When checked, Denada uploads your email's JPEG, PNG and GIF images to the Mailchimp File Manager and rewrites the HTML to use those URLs. When unchecked, images stay hosted on Denada's CDN. 4. Click **Export**. Denada renders the final HTML and creates a template in Mailchimp. You'll find it under **Campaigns** → **Email templates** → **Saved**. ## How updates work * **Re-exporting updates in place.** If you've pushed this project to Mailchimp before, the export dialog shows a **Previous export** option: choose **Update existing** to update the same Mailchimp template, or **Create new** to make a separate one. If the previous one was deleted in Mailchimp, Denada creates a new one automatically. * **Previously uploaded images are reused.** When re-exporting with image upload enabled, **Previously uploaded images** lets you reuse the existing File Manager copies or upload fresh ones. > [!NOTE] > > Denada pushes your email as finished HTML. Mailchimp treats it as a code-your-own template, so use it as-is in a campaign rather than editing its content in the Mailchimp drag-and-drop editor. Mailchimp also doesn't prevent duplicate template names, so use **Previous export** to control whether you update or duplicate. ## Troubleshooting > **'Invalid API key' error during validation** > > Make sure you copied the whole key, including the data center suffix (like `-us19`), and that it hasn't been disabled in Mailchimp. > **Some images still point to Denada** > > The File Manager accepts JPEG, PNG and GIF. Other formats, such as SVG and WebP, keep their original Denada URLs. For general information about how integrations work, see [Integrations overview](/integrations/integrations-overview). ## Need help? If you run into issues with the Mailchimp integration, reach out to [support@heydenada.com](mailto:support@heydenada.com) or ask in our [Community Slack](https://join.slack.com/t/denadacommunity/shared_invite/zt-33ermqnvl-kU9677V0eloK5Jf2SSNO5g). # Salesforce Marketing Cloud Source: https://help.heydenada.com/integrations/salesforce Push finished emails from Denada to Salesforce Marketing Cloud Denada integrates with [Salesforce Marketing Cloud](https://www.salesforce.com/marketing/email/) so you can design emails in Denada and push them directly into SFMC's Content Builder. ## What you need * A Denada project with an email ready to push * A Salesforce Marketing Cloud account with administrative permissions (to create an Installed Package) ## Step 1: Configure an SFMC Installed Package Create a dedicated package in SFMC for the Denada integration: 1. Log in to your Salesforce Marketing Cloud account. 2. Navigate to **Setup**. 3. Under Platform Tools, select **Apps**, then click **Installed Packages**. 4. Click **New** to create a new package. 5. Name the package "Denada Integration" and provide a description (e.g., "Package for Denada SFMC data synchronization"). 6. Click **Save**. 7. Under the new package details, click **Add Component**. 8. Set the component type to **API Integration**, then choose **Server-to-Server**. 9. Define the required permissions: * Documents & Images: **Read, Write** * Assets: **Read, Write** * Saved Content: **Read, Write** * Email: **Read, Write** * Provisioning Accounts: **Read** 10. Click **Save**. 11. Copy the **Client ID** and **Client Secret** generated for this component — you will need them in the next step. ![SFMC Installed Packages screen showing the Denada Integration package with API Integration component and permissions](https://mintcdn.com/denada/gqti78KNjN1u1Dpm/images/sfmc-installed-package.png?fit=max\&auto=format\&n=gqti78KNjN1u1Dpm\&q=85\&s=15e4da38a108aa5c2a7a515ed11a981b) Your SFMC Installed Package should look like this when complete. ## Step 2: Connect Denada to Salesforce 1. In Denada, open your team's **Settings** page, find the **Integrations** panel, and click **Add integration** (manager access required). You can also get there from any project via **Share > Integrations > Configure**. 2. Select **Salesforce** from the list. 3. Enter the following details: | Field | Value | | - | - | | **Name** | Optional — your account or business unit name | | **Client ID** | Paste the Client ID from step 1 | | **Client secret** | Paste the Client Secret from step 1 | | **Tenant subdomain** | The character string at the beginning of your Authentication Base URI (e.g., `mc8hsin3bsibtisb-t36toe` from `https://mc8hsin3bsibtisb-t36toe.auth.marketingcloudapis.com/`) | | **Business Unit MID (optional)** | Your SFMC Business Unit MID — found in the dropdown under your company name in the top-right corner of SFMC | | **Default folder** | The Content Builder folder where Denada emails are placed by default. Many teams create a folder called "Denada" — you can make one from the picker with **Create folder** | 4. Click **Validate** to ensure the integration is working. 5. Click **Save**. ## Push an email to Salesforce When you are ready to send a project to SFMC: 1. Open the project and click **Share**. 2. Under **Integrations**, select **Export to Salesforce** (if you have several Salesforce configurations, each appears with its configuration name). 3. Choose the destination Content Builder folder (defaults to your configured default folder, but you can pick a different one). 4. Give the asset a name — this is how it will appear in Content Builder. 5. Choose your upload type: * **Upload HTML only** — uploads HTML with Denada-hosted images. The fastest option. * **Upload images to same folder** — uploads HTML and hosts your images in SFMC, replacing image URLs in the HTML with SFMC-hosted URLs. All files go in one folder. * **Upload images to subfolder** — same as above, but images are placed in a nested subfolder (you choose its name) to keep things organized. 6. Click **Export here**. ![SFMC export dialog showing Upload HTML only, Upload images to same folder, and Upload images to subfolder options](https://mintcdn.com/denada/gqti78KNjN1u1Dpm/images/sfmc-upload-type.png?fit=max\&auto=format\&n=gqti78KNjN1u1Dpm\&q=85\&s=3df577da25a9938f50c9ddc9ca9dde2d) Choose how images are hosted when exporting to SFMC. > [!TIP] > > If you are unsure which upload type to use, **Upload images to subfolder** is the simplest option and works well for most teams. ## How updates work Before exporting, Denada checks the destination folder for assets with the same names (the email itself, and any images being uploaded). If there are matches, you'll see a **Replace existing assets?** confirmation listing what will be updated — confirm to replace them in place, or go back and change the folder or asset name. Re-exporting with the same name and folder updates the same Content Builder assets rather than creating duplicates. ## Troubleshooting > **'Invalid credentials' error during validation** > > Make sure you are using a **Server-to-Server** API integration, not a Web App or Public App type. Double-check that the Client ID, Client Secret, and Tenant subdomain are correct. > **Export fails with a permissions error** > > Verify that your Installed Package has the required permissions: Documents & Images, Assets, Saved Content, and Email all need Read and Write access. > **Images not appearing in SFMC** > > If you chose **Upload HTML only**, images are hosted by Denada and should display automatically. If you chose one of the SFMC-hosted options, check that the Assets permission includes Write access. For general information about how integrations work, see [Integrations overview](/integrations/integrations-overview). ## Need help? If you run into issues with the Salesforce integration, reach out to [support@heydenada.com](mailto:support@heydenada.com) or ask in our [Community Slack](https://join.slack.com/t/denadacommunity/shared_invite/zt-33ermqnvl-kU9677V0eloK5Jf2SSNO5g). # Zeta Source: https://help.heydenada.com/integrations/zeta Push finished emails from Denada to the Zeta Marketing Platform Denada integrates with [Zeta](https://zetaglobal.com) so you can design emails in Denada and push them directly to the Zeta Marketing Platform as content templates, ready to use in your campaigns. ## What you need * A Denada project with an email ready to push * A Zeta **REST API key** — a 32-character key from **Settings > Integrations > Keys & Apps** in the Zeta Marketing Platform * Your Zeta **site ID** ## Connect Denada to Zeta **1. Open the Integrations dialog** Click **Share** on any project, then under **Integrations**, click **Configure**. (You can also open your team's **Settings** page and click **Add integration** in the **Integrations** panel — manager access required.) **2. Select Zeta** Choose **Zeta** from the list of platforms. **3. Enter your credentials** * **Name** — optional, e.g. "Production". * **API key** — your Zeta REST API key. * **Site ID** — the site the exports should go to. **4. Validate and save** Click **Validate** to confirm the key and site ID work, then click **Save**. ## Push an email to Zeta 1. Open the project and click **Share**. 2. Under **Integrations**, select **Export to Zeta**. 3. Fill in the export dialog: * **Template name** — the name that will appear in Zeta. Defaults to your project's name. * **Upload images to Zeta** — optional. When checked, Denada uploads your email's images into the Zeta **Asset Library** and rewrites the HTML to use Zeta-hosted URLs. Click **Choose…** to pick the destination folder — the **Select folder** picker browses your Asset Library, and you can create new folders with **Create folder** right from the picker. When unchecked, images stay hosted on Denada's CDN. 4. Click **Export**. Denada renders the final HTML and creates a **content template** in Zeta. When the export finishes, the task includes a direct link to edit the new content template in Zeta. ## How updates work * **Re-exporting updates in place.** If you've pushed this project to Zeta before, the export dialog shows a **Previous export** option: choose **Overwrite** to update the same Zeta content template, or **Create new** to make a separate one. * **Images update instead of duplicating.** Uploaded images get stable filenames derived from the image itself, so re-exporting to the same Asset Library folder updates the existing assets in place — even after you re-crop an image in Denada — rather than orphaning old copies. If you export to a different folder, images are uploaded fresh there (Zeta assets are folder-bound). > [!NOTE] > > Zeta doesn't get a name-collision check like some other platforms — use the **Previous export** option to control whether you update or duplicate. ## Troubleshooting > **Validation fails** > > Confirm the API key is the 32-character REST key from **Settings > Integrations > Keys & Apps**, and that the **Site ID** matches the site that key belongs to. For general information about how integrations work, see [Integrations overview](/integrations/integrations-overview). ## Need help? If you run into issues with the Zeta integration, reach out to [support@heydenada.com](mailto:support@heydenada.com) or ask in our [Community Slack](https://join.slack.com/t/denadacommunity/shared_invite/zt-33ermqnvl-kU9677V0eloK5Jf2SSNO5g). # CCPA Notice Source: https://help.heydenada.com/legal/ccpa-notice Notice at collection and privacy notice for California residents under the CCPA/CPRA > [!NOTE] > > **Last updated:** October 14, 2026 This notice supplements the [Privacy Policy](/legal/privacy-policy) and applies to California residents under the California Consumer Privacy Act, as amended by the California Privacy Rights Act (collectively, the "CCPA"). ## Categories of personal information we collect In the preceding 12 months, Denada has collected the following categories of personal information as enumerated in Cal. Civ. Code §1798.140: | Category | Examples | Collected | | - | - | - | | Identifiers | Name, email address, account ID, IP address | Yes | | Customer records (§1798.80(e)) | Billing contact name, billing email | Yes | | Commercial information | Subscription tier, billing history | Yes | | Internet or other electronic network activity | Usage logs, pages visited, feature interactions | Yes | | Geolocation data | Approximate geolocation derived from IP (city-level, not precise) | Yes | | Professional or employment information | Job title, where you choose to provide it | Yes | | Inferences | Inferences drawn from the above to personalize the service | Yes | | Biometric information | — | No | | Precise geolocation | — | No | | Audio, electronic, visual, thermal, olfactory, or similar information | — | No | | Education information | — | No | | Sensitive personal information (§1798.140(ae)) | — | No | We do not collect personal information from California residents under the age of 16 and we do not knowingly sell or share the personal information of any minor. ## Sources of personal information We collect personal information from: * **You**, when you create an account, use the platform, contact support, or subscribe to communications * **Your team's administrator**, when you are added to a Denada team by your employer * **Single sign-on providers** (e.g., Google), when you authenticate via SSO * **Service providers** that process data on our behalf * **Automated technologies** such as cookies, when you visit our website ## Business or commercial purposes We use personal information for the following business or commercial purposes under Cal. Civ. Code §1798.140(e): * Performing the services or providing the goods reasonably anticipated by the consumer * Auditing related to counting ad impressions, verifying positioning and quality of ad impressions, and auditing compliance — **not applicable**, Denada does not show ads * Security, including detecting and preventing fraud * Debugging to identify and repair errors * Short-term, transient use, including non-personalized advertising — **not applicable**, Denada does not show ads * Performing services on behalf of the business (e.g., providing customer service, processing orders, processing payments) * Internal research for technological development and demonstration * Maintaining and improving the quality and safety of the service ## Categories of personal information disclosed for a business purpose We disclose the categories of personal information identified above to the following categories of recipients, each for a business purpose under a written contract that restricts their use of the information: * **Cloud hosting and infrastructure providers** (e.g., Google Cloud Platform, Cloudflare) * **AI / LLM inference providers** (e.g., Anthropic, OpenAI, Google Vertex AI, Fireworks, Groq) * **Email and communication providers** (e.g., Postmark, Campaign Monitor) * **Professional advisors** (e.g., legal counsel, auditors) under confidentiality obligations * **Government authorities** where required by law The current list of sub-processors and their roles is at [Sub-processors](/legal/sub-processors). ## Sale and sharing of personal information **Denada does not sell personal information** and **does not share personal information for cross-context behavioral advertising**, as those terms are defined in Cal. Civ. Code §1798.140. Because we do not sell or share personal information, we do not provide a "Do Not Sell or Share My Personal Information" link. If our practices change, we will update this notice and provide the required opt-out mechanism. ## Use of sensitive personal information We do not collect sensitive personal information as defined in Cal. Civ. Code §1798.140(ae). Accordingly, the right to limit the use of sensitive personal information under §1798.121 is not applicable. If this changes, we will update this notice and provide the required limitation mechanism. ## Retention We retain personal information only as long as needed for the purposes described above and as required by law. Specific retention timelines are listed in Section 7 of the [Privacy Policy](/legal/privacy-policy). ## Your CCPA rights California residents have the right to: * **Know** the categories and specific pieces of personal information we have collected, the sources, the purposes, and the categories of recipients * **Access** a copy of the personal information we hold about you * **Delete** the personal information we have collected from you, subject to the exceptions in §1798.105(d) * **Correct** inaccurate personal information * **Opt out of sale or sharing** — not applicable; see above * **Limit use of sensitive personal information** — not applicable; see above * **Non-discrimination** for exercising any CCPA right ### How to exercise your rights 1. Email **[privacy@heydenada.com](mailto:privacy@heydenada.com)** with your request and the email address associated with your Denada account 2. We may ask you to verify your identity to confirm the request is genuine 3. We respond within **45 days** of a verifiable request (extendable by 45 days when reasonably necessary, with notice to you) 4. Exercising your rights is **free of charge** ### Authorized agents You may designate an authorized agent to make a request on your behalf. We will require the agent to provide written permission signed by you and to verify the agent's identity. For deletion or correction requests submitted by an agent, we may also contact you directly to confirm the request. ### Appeals If we decline a request, we will explain why and inform you of your right to appeal. To appeal, email [privacy@heydenada.com](mailto:privacy@heydenada.com) with "Appeal" in the subject line. Appeals are reviewed by a member of leadership not involved in the original decision and answered within 45 days. ## Notice of financial incentives Denada does not offer financial incentives or price/service differences in exchange for the collection, sale, or retention of personal information. ## Contact **Privacy Contact:** [privacy@heydenada.com](mailto:privacy@heydenada.com) **Postal:** Denada Inc., 111 SW 5th Ave, 5th Floor, Portland, OR 97204, United States # Data Processing Agreement Source: https://help.heydenada.com/legal/data-processing-agreement Denada's DPA governing processing of personal data on behalf of customers > [!NOTE] > > **Effective date:** June 20, 2024 · **Version:** 1.0 This Data Processing Agreement ("DPA") forms part of the Master Subscription Agreement, Terms of Service, or other written or electronic agreement between Denada Inc. ("Denada," "Processor") and the customer identified in that agreement ("Customer," "Controller") for the provision of the Denada platform (the "Services"). It governs the Processing of Personal Data on behalf of the Customer. By using the Services, the Customer accepts this DPA. If the Customer requires a counter-signed copy, contact [privacy@heydenada.com](mailto:privacy@heydenada.com). ## 1. Definitions Capitalized terms used but not defined here have the meanings given in the GDPR, the UK GDPR, or the CCPA, as applicable. For purposes of this DPA: * **"Data Protection Laws"** means the EU General Data Protection Regulation 2016/679 ("GDPR"), the United Kingdom GDPR and Data Protection Act 2018 ("UK GDPR"), the Swiss Federal Act on Data Protection ("FADP"), the California Consumer Privacy Act as amended by the CPRA ("CCPA"), and any other applicable privacy law. * **"Personal Data"** means information relating to an identified or identifiable natural person processed by Denada on behalf of the Customer in the course of providing the Services. * **"Sub-processor"** means a third party engaged by Denada to Process Personal Data in connection with the Services. * **"Standard Contractual Clauses"** or **"SCCs"** means the standard contractual clauses approved by the European Commission in Implementing Decision (EU) 2021/914 of 4 June 2021. * **"UK Addendum"** means the International Data Transfer Addendum to the EU Commission Standard Contractual Clauses issued by the UK Information Commissioner's Office, version B1.0. ## 2. Roles of the parties The Customer is the Controller of Personal Data. Denada is the Processor and will Process Personal Data only on documented instructions from the Customer, including with regard to transfers to third countries, unless required to do so by law. Where Denada is required by law to Process Personal Data otherwise, it will inform the Customer of that legal requirement before Processing, unless the law prohibits such notice on important grounds of public interest. ## 3. Scope of processing Annex 1 of this DPA describes the subject matter, duration, nature and purpose of the Processing, the types of Personal Data, the categories of data subjects, and any retention period. ## 4. Denada's obligations as processor Denada will: * Process Personal Data only on the documented instructions of the Customer, including for transfers, except where required by applicable law. * Ensure that personnel authorized to Process Personal Data are bound by confidentiality obligations. * Implement and maintain appropriate technical and organizational measures to protect Personal Data, as described in **Annex 2** and as further described in our SOC 2 Type 2 report, available under NDA. * Provide reasonable assistance to the Customer in responding to data-subject requests under the Data Protection Laws. * Provide reasonable assistance to the Customer in meeting its obligations under Articles 32–36 of the GDPR (security, breach notification, data protection impact assessments, and prior consultation) taking into account the nature of the Processing and the information available to Denada. * Make available to the Customer all information reasonably necessary to demonstrate compliance with this DPA and allow for audits, including inspections, conducted by the Customer or an auditor mandated by the Customer, subject to the conditions in Section 9. * Notify the Customer of a Personal Data Breach without undue delay and in any event within **72 hours** of confirmed discovery, including the information described in Article 33(3) of the GDPR to the extent then known, and provide reasonable assistance with the Customer's own breach-notification obligations. * At the Customer's choice, delete or return all Personal Data to the Customer at the end of the Services, and delete existing copies unless applicable law requires storage of the Personal Data. ## 5. Sub-processors The Customer provides general authorization for Denada to engage sub-processors, subject to the following: * The current list of sub-processors is published at [Sub-processors](/legal/sub-processors). * Denada will notify the Customer of any intended changes — additions or replacements — at least **30 days** in advance via the sub-processors page and by email to account administrators. The Customer may object to the change on reasonable data-protection grounds during the notice period; the parties will work together in good faith to resolve the objection, and if no resolution is reached, the Customer may terminate the affected portion of the Services without penalty for the remaining notice period. * Denada will impose on each sub-processor data-protection obligations that are no less protective than those in this DPA. * Denada remains liable to the Customer for the performance of each sub-processor's obligations. ## 6. International data transfers Where Denada transfers Personal Data of data subjects located in the European Economic Area, the United Kingdom, or Switzerland to a country outside those jurisdictions that has not received an adequacy decision, the transfer is governed as follows: * **EEA transfers:** The Standard Contractual Clauses (Module 2: Controller to Processor) are incorporated into this DPA by reference and apply to such transfers, with the Customer as the data exporter and Denada as the data importer. The election and population details are set out in **Annex 3**. * **UK transfers:** The UK Addendum is incorporated into this DPA by reference and modifies the SCCs as required for transfers of UK personal data, with the elections set out in **Annex 3**. * **Swiss transfers:** The SCCs apply with the adaptations published by the Swiss Federal Data Protection and Information Commissioner. Denada has implemented the supplementary technical and organizational measures described in **Annex 2** to address the risks identified in transfers to the United States following the Schrems II judgment, including encryption in transit and at rest, strict access controls, and a documented procedure for handling government access requests. ## 7. Government access requests If Denada receives a legally binding request from a public authority for disclosure of Personal Data, Denada will: * Notify the Customer of the request before disclosure, unless prohibited by law. * Challenge the request where there are reasonable grounds to do so under applicable law. * Disclose only the minimum amount of Personal Data necessary to comply. * Maintain records of such requests and make them available to the Customer to the extent permitted by law. Denada has not, to date, received a request from a government authority for Customer Personal Data, nor has Denada been the subject of any order under Section 702 of the US FISA. ## 8. CCPA terms Where the CCPA applies, Denada acts as a **Service Provider** (and not a Third Party) with respect to Personal Information Processed on behalf of the Customer. Denada will not: * Sell or share the Personal Information. * Retain, use, or disclose the Personal Information for any purpose other than the specific purpose of performing the Services or as otherwise permitted under the CCPA. * Retain, use, or disclose the Personal Information outside of the direct business relationship between Denada and the Customer. * Combine the Personal Information with information received from another source, except as permitted by the CCPA. Denada will provide the same level of privacy protection as required of businesses under the CCPA and will notify the Customer if it determines it can no longer meet its obligations under the CCPA. ## 9. Audits The Customer may request, no more than once per twelve-month period (except where required by a competent supervisory authority or following a Personal Data Breach), an audit of Denada's compliance with this DPA. The audit will be conducted as follows: * Denada will provide the Customer's auditor with a copy of its most recent SOC 2 Type 2 report and reasonable additional documentation, which the parties agree will satisfy audit obligations where the report covers the relevant controls and time period. * If the SOC 2 report does not satisfy the audit requirement, the parties will agree on the scope, methodology, timing, and confidentiality of any further audit. On-site audits require **30 days' written notice** and must not unreasonably interfere with Denada's operations. * The auditor must execute a confidentiality agreement reasonably acceptable to Denada and must not be a competitor of Denada. * The Customer will bear the cost of the audit unless the audit reveals a material breach of this DPA, in which case Denada will bear reasonable costs. ## 10. Liability Each party's liability under this DPA is subject to the limitations of liability set forth in the Master Subscription Agreement or Terms of Service between the parties. ## 11. Term and termination This DPA is effective on acceptance and remains in effect for the duration of the Services. The obligations herein continue to the extent Denada continues to Process Personal Data after termination. ## 12. Order of precedence In the event of any conflict between this DPA and the Master Subscription Agreement or Terms of Service, this DPA prevails with respect to Processing of Personal Data. In the event of any conflict between this DPA and the SCCs, the SCCs prevail. ## 13. Governing law This DPA is governed by the law of the State of Oregon, United States, except that the SCCs and the UK Addendum are governed by the laws specified within those instruments. ## Annex 1 — Description of Processing **Subject matter.** Provision of the Denada platform, including AI-assisted generation of marketing creative. **Duration.** The duration of the Services as specified in the Master Subscription Agreement, plus any retention period required by law. **Nature and purpose of Processing.** Hosting, storage, transmission, retrieval, organization, and adaptation of Personal Data to enable the Customer to use the Services, including AI-assisted generation, collaboration, and export. **Categories of data subjects.** * The Customer's authorized users (employees, contractors, consultants) * End-recipients identified within Customer Content (e.g., names in email templates), to the extent the Customer chooses to include such data **Types of Personal Data.** * Identifiers (name, email address, account ID) * Profile information (job title, profile picture, locale) * Authentication information (hashed credentials, SSO identifiers) * Usage and device data (IP address, browser, interaction telemetry) * Customer Content submitted by users, which may incidentally contain Personal Data * Billing contact information **Special categories of Personal Data.** None expected. Customers are responsible for ensuring they do not upload special-category data (Art. 9 GDPR) to the Services without notifying Denada and entering into appropriate additional measures. **Frequency of Processing.** Continuous for the duration of the Services. **Retention.** As described in Section 7 of the [Privacy Policy](/legal/privacy-policy). ## Annex 2 — Technical and Organizational Measures Denada implements the following technical and organizational security measures, which are audited under SOC 2 Type 2 by Prescient Assurance. **Access control.** * Role-based access control on all production systems * Multi-factor authentication required for all personnel accessing production * Least-privilege provisioning; access reviews conducted at least annually * 24-hour deprovisioning of access on personnel termination * Unused accounts removed within 30 days **Encryption.** * TLS for all data in transit between users and the Services * Encryption at rest for all Customer Personal Data in production databases and object storage * Encryption key management by the underlying cloud provider (Google Cloud Platform) **Network and infrastructure.** * Production infrastructure operated on Google Cloud Platform and Cloudflare * Logical network segmentation between production, staging, and development * Web Application Firewall and DDoS protection via Cloudflare * Monthly vulnerability scans on production systems * Annual third-party penetration testing **Application security.** * Mandatory peer code review for all changes to production * Automated dependency vulnerability scanning * Static analysis on push * Segregation of development and production environments **Logging and monitoring.** * Audit logging of authentication, authorization, and administrative actions * Continuous monitoring of production systems with alerting on anomalous behavior * Log retention as specified in the Privacy Policy **Personnel.** * Background checks on hire (where legally permitted) * Security and privacy training on hire and annually * Confidentiality and acceptable-use obligations contractually imposed on all personnel **Operations.** * Documented incident response, change management, vendor management, business continuity, and disaster recovery policies * Annual review of all policies * Daily encrypted backups of production data with tested restore procedures * Recovery time and recovery point objectives documented per system tier **Supplementary measures for international transfers.** * Encryption at rest and in transit, as above * Strict access controls preventing unauthorized access by Denada personnel * Procedure for handling government access requests as set out in Section 7 of this DPA * Pseudonymization where feasible without impairing the Services ## Annex 3 — Standard Contractual Clauses and UK Addendum Elections The Standard Contractual Clauses adopted by Commission Implementing Decision (EU) 2021/914 of 4 June 2021 are incorporated into this DPA by reference. The parties agree on the following elections. **Module in use:** Module Two (Controller to Processor). **Clause 7 — Docking clause:** Applies. Other parties may accede on the conditions set out in the SCCs. **Clause 9(a) — Sub-processor authorization:** Option 2 (general written authorization). Notification period: **30 days** before the change takes effect. See Section 5 of this DPA. **Clause 11(a) — Independent dispute resolution body:** The optional language allowing data subjects to lodge complaints with an independent dispute resolution body is **not included**. **Clause 13(a) — Competent supervisory authority:** The supervisory authority of the Member State in which the data exporter is established, or, where the data exporter is not established in the EEA but its representative is, the supervisory authority of that Member State. Where neither applies, the competent supervisory authority will be the Irish Data Protection Commission. **Clause 17 — Governing law:** The law of the Republic of Ireland. **Clause 18(b) — Choice of forum:** The courts of the Republic of Ireland. **Annex I.A — List of parties:** * Data exporter: The Customer identified in the Master Subscription Agreement. * Data importer: Denada Inc., 111 SW 5th Ave, 5th Floor, Portland, OR 97204, United States. Contact: [privacy@heydenada.com](mailto:privacy@heydenada.com). **Annex I.B — Description of transfer:** As described in Annex 1 of this DPA. **Annex I.C — Competent supervisory authority:** As set out under Clause 13(a) above. **Annex II — Technical and Organizational Measures:** As described in Annex 2 of this DPA. **Annex III — List of Sub-processors:** Available at [Sub-processors](/legal/sub-processors). **UK Addendum elections** (International Data Transfer Addendum to the EU Commission Standard Contractual Clauses, version B1.0): * Table 1: as set out in Annex I.A above * Table 2: the EU SCCs incorporated as above, version "Module Two, dated June 20, 2024" * Table 3: Annexes 1, 2, and 3 above * Table 4: Either party may end this Addendum as set out in Section 19 ## Document control The current version of this DPA supersedes prior versions. Where a Customer has executed a prior version, that prior version continues to apply until both parties agree to the current version. For questions or to request a counter-signed copy, contact [privacy@heydenada.com](mailto:privacy@heydenada.com). # GDPR Compliance Statement Source: https://help.heydenada.com/legal/gdpr-statement Summary of Denada's compliance program under the GDPR and UK GDPR > [!NOTE] > > **Last updated:** May 1, 2026 This statement summarizes Denada's compliance program under the EU General Data Protection Regulation 2016/679 ("GDPR") and the UK GDPR. It is provided as a convenience for customers conducting vendor reviews. The authoritative documents are the [Privacy Policy](/legal/privacy-policy) and the [Data Processing Agreement](/legal/data-processing-agreement). ## Roles Denada Inc. acts as a **Processor** with respect to Customer Personal Data submitted through the Denada platform. The Customer is the **Controller**. For personal data Denada collects about its own customers, prospects, and personnel (e.g., billing contacts, website visitors), Denada acts as the Controller. ## Lawful bases for processing Denada processes personal data on the following bases under Article 6 GDPR: * **Performance of a contract (Art. 6(1)(b))** — to deliver the platform to subscribed customers * **Legitimate interests (Art. 6(1)(f))** — to secure the service, prevent abuse, and improve the product * **Consent (Art. 6(1)(a))** — for optional marketing communications; withdrawable at any time * **Legal obligation (Art. 6(1)(c))** — to comply with applicable law Denada does not process special categories of data (Art. 9) as part of providing the Services. ## Data subject rights Under Articles 15–22 of the GDPR, data subjects have the rights to: | Right | How to exercise | | - | - | | Access (Art. 15) | [privacy@heydenada.com](mailto:privacy@heydenada.com) or Settings → Account | | Rectification (Art. 16) | Settings → Account, or [privacy@heydenada.com](mailto:privacy@heydenada.com) | | Erasure (Art. 17) | Settings → Account (self-service) or [privacy@heydenada.com](mailto:privacy@heydenada.com) | | Restriction (Art. 18) | [privacy@heydenada.com](mailto:privacy@heydenada.com) | | Data portability (Art. 20) | [privacy@heydenada.com](mailto:privacy@heydenada.com) | | Object (Art. 21) | [privacy@heydenada.com](mailto:privacy@heydenada.com) | | Not be subject to automated decision-making (Art. 22) | Not applicable — see below | | Lodge a complaint | Your local supervisory authority (list at edpb.europa.eu) | Denada responds to verifiable rights requests within **30 days**, extendable by up to 60 days for complex requests. ### Automated decision-making Denada does **not** make solely automated decisions that produce legal or similarly significant effects on data subjects within the meaning of Art. 22. The Denada assistant generates creative drafts that are reviewed and accepted by a human user before any business use. ## International data transfers Personal data of EEA, UK, or Swiss data subjects is processed in the United States. Denada relies on the European Commission's **Standard Contractual Clauses (Module 2: Controller to Processor)**, incorporated into our Data Processing Agreement, as the transfer mechanism. For UK transfers, the **UK International Data Transfer Addendum** (version B1.0) is incorporated by reference. For Swiss transfers, the SCCs apply with the adaptations published by the Swiss Federal Data Protection and Information Commissioner. Supplementary technical and organizational measures addressing the risks identified in Schrems II are described in Annex 2 of the [Data Processing Agreement](/legal/data-processing-agreement). ## Sub-processors Denada's current sub-processors and their locations are listed at [Sub-processors](/legal/sub-processors). All sub-processors are bound by data-protection terms no less protective than those Denada owes to its customers. ## Security Denada's security program is audited under **SOC 2 Type 2** by Prescient Assurance. The most recent report covers the period August 3 to November 3, 2025. Controls include: * Encryption of data in transit (TLS) and at rest * Multi-factor authentication for all production access * Role-based access control with least-privilege provisioning * Annual third-party penetration testing * Monthly vulnerability scanning * Documented incident response, change management, and business continuity policies The full SOC 2 report is available under NDA — contact [privacy@heydenada.com](mailto:privacy@heydenada.com). ## Breach notification In the event of a Personal Data Breach affecting customer data, Denada notifies affected customers **without undue delay and within 72 hours** of confirmed discovery, consistent with Articles 33–34 of the GDPR. The notification includes the nature of the breach, categories and approximate number of data subjects and records affected, likely consequences, and measures taken or proposed. ## Records of processing (Art. 30) Denada maintains records of processing activities as required by Article 30 of the GDPR. These records are made available to supervisory authorities on request. ## Data Protection Officer Denada is not required to appoint a Data Protection Officer under Article 37 of the GDPR. Denada has designated a **Privacy Contact** at [privacy@heydenada.com](mailto:privacy@heydenada.com). ## Data Protection Impact Assessments Denada conducts Data Protection Impact Assessments (Art. 35) for new processing activities likely to result in a high risk to data subjects' rights and freedoms. Denada assists Customers acting as Controllers in conducting their own DPIAs by providing the information required under Art. 35(7). ## Data retention Retention timelines are published in Section 7 of the [Privacy Policy](/legal/privacy-policy). ## Contact **Privacy Contact:** [privacy@heydenada.com](mailto:privacy@heydenada.com) **Postal:** Denada Inc., 111 SW 5th Ave, 5th Floor, Portland, OR 97204, United States ## Document control This statement summarizes Denada's GDPR compliance program. In the event of a conflict between this statement and the Data Processing Agreement, the Data Processing Agreement controls. # Privacy Policy Source: https://help.heydenada.com/legal/privacy-policy How Denada collects, uses, shares, and protects personal information > [!NOTE] > > **Effective date:** June 20, 2024 · **Last updated:** May 1, 2026 Denada Inc. ("Denada," "we," "us," or "our") provides an AI-powered marketing creative platform. This Privacy Policy explains what personal information we collect, how we use and share it, the choices you have, and the rights you can exercise. This policy applies to information collected through: * The Denada platform at app.heydenada.com * The Denada marketing website at heydenada.com * Our admin and support tools * Communications you have with us by email or other channels If you do not agree with this policy, please do not use the service. ## 1. Information we collect ### 1.1 Information you provide * **Account information:** name, email address, password (hashed), profile picture, and team affiliation. * **Billing information:** company name, billing email, and payment method. Payment card data is processed by our payment processor and is not stored on Denada systems. * **Content:** templates, libraries, blocks, brand information, uploaded assets, and any other content you create, upload, or generate within the platform. * **Assistant inputs:** messages you send to the Denada AI assistant and any URLs or files you provide for it to process. * **Support communications:** any information you share with us when contacting support. ### 1.2 Information collected automatically * **Usage data:** pages visited, features used, clicks, scrolls, and similar interaction telemetry. * **Device and connection information:** browser type, operating system, IP address, approximate geolocation derived from IP, time zone, and referring URLs. * **Cookies and similar technologies:** session cookies for authentication and a small number of functional cookies. We do not use advertising cookies. See our cookie disclosures in Section 9. ### 1.3 Information from third parties * **Single sign-on:** if you sign in with Google or another identity provider, we receive your name, email, and profile picture from that provider. * **Integrations:** when you connect Denada to a third-party service (e.g., an email service provider), we receive the information necessary to operate the integration. We do **not** purchase personal information from data brokers or marketing list providers. ## 2. How we use information We use personal information to: * **Provide the service:** authenticate you, render the application, save your content, and run AI-assisted generation. * **Operate AI features:** process your inputs through third-party LLM providers as described in Section 4. * **Support and communicate:** respond to your questions and send service notices (e.g., billing, security, policy updates). * **Improve the service:** analyze aggregated usage patterns to fix bugs, prioritize features, and improve reliability and performance. * **Secure the service:** detect and prevent fraud, abuse, and security incidents. * **Meet legal obligations:** comply with applicable law, including tax, accounting, and law-enforcement obligations. We do **not** sell your personal information, and we do **not** use your content to train Denada's own machine-learning models or those of any third-party AI provider. See Section 4 for detail. ## 3. Legal bases for processing (EEA, UK, Switzerland) If you are located in the European Economic Area, the United Kingdom, or Switzerland, we rely on the following legal bases under Article 6 of the GDPR: * **Performance of a contract (Art. 6(1)(b)):** to deliver the platform you have subscribed to. * **Legitimate interests (Art. 6(1)(f)):** to secure the service, prevent abuse, improve the product, and communicate with you about your account. We balance these interests against your rights and freedoms. * **Consent (Art. 6(1)(a)):** where we explicitly ask for it, such as for optional marketing communications. You may withdraw consent at any time. * **Legal obligation (Art. 6(1)(c)):** to comply with applicable law. ## 4. AI processing Denada is an AI-powered creative platform. When you interact with our assistant or generate templates, libraries, or blocks, your input is processed by large language models ("LLMs") operated by third-party providers. This section describes how that processing works. ### 4.1 What we send to LLM providers To fulfill your requests, we transmit the following to LLM providers: * Messages you send to the assistant. * Brand, template, library, and block content that you have created or uploaded and that is relevant to your request. * URLs you ask the assistant to fetch, and the content retrieved from those URLs. * System instructions that govern assistant behavior. We do **not** send your account credentials, billing information, or data belonging to other Denada customers. ### 4.2 Which LLM providers we use We currently use the following LLM providers as sub-processors: * **Anthropic** (United States) * **OpenAI** (United States) * **Google Vertex AI** (United States) * **Fireworks AI** (United States) * **Groq** (United States) The specific provider used for a given request depends on the task, the model best suited to it, and operational factors such as availability. Our complete sub-processor list is published at [Sub-processors](/legal/sub-processors). ### 4.3 Retention and training We have configured our integrations with each LLM provider so that: * **Customer content is not used to train the providers' foundation models.** We rely on API-tier or enterprise agreements that contractually exclude inference inputs and outputs from model training. * **Customer content is not retained by providers after inference**, except for short-term retention permitted under each provider's standard abuse-monitoring policy (typically up to 30 days). * **We do not sell customer content** to LLM providers or any third party. Denada itself retains your assistant chat history and generated outputs within your account so that you can view, edit, and continue your work. This data is deleted in accordance with the retention timelines in Section 7. ### 4.4 Automated decision-making The assistant's outputs are creative drafts that **you review and approve before any business use**. Denada does **not** make solely automated decisions about you that produce legal or similarly significant effects within the meaning of Article 22 of the GDPR. You remain in control of which outputs are kept, edited, exported, or sent to your downstream channels. If you would like a human to review how the assistant generated a particular output, contact [privacy@heydenada.com](mailto:privacy@heydenada.com). ### 4.5 Your choices You can: * **Delete** any assistant chat or generated content at any time from within the application. * **Request export** of your AI-generated content under the portability process in Section 6. * **Request that we cease processing your content with LLMs** by contacting [privacy@heydenada.com](mailto:privacy@heydenada.com). Note that disabling LLM processing will substantially limit Denada's functionality, since AI generation is a core feature of the service. ## 5. How we share information We share personal information only as described below. * **With sub-processors** that provide infrastructure, hosting, AI inference, email delivery, and similar functions necessary to operate the service. Each sub-processor is bound by a written data-processing agreement and may use the information only as instructed by Denada. The current list is at [Sub-processors](/legal/sub-processors). * **Within your team:** content and account activity is shared with other members of your Denada team or organization. Team administrators can see member-level data. * **For legal reasons:** to comply with subpoenas, court orders, or other legal requirements, or to protect the rights, property, or safety of Denada, our users, or the public. * **In a corporate transaction:** if Denada is involved in a merger, acquisition, or sale of assets, your personal information may be transferred. We will notify you before personal information becomes subject to a different privacy policy. * **With your direction:** when you connect a third-party integration (e.g., an email service provider) or instruct us to share content with another party. We do **not** sell personal information, and we do **not** share personal information for cross-context behavioral advertising. ## 6. Your rights This section describes the rights you have over your personal information. ### 6.1 Available to all users * **Access and update** your account information from Settings → Account. * **Delete your account**, which initiates erasure of your personal information from our active systems. Self-service deletion is available from Settings → Account. * **Export your content** by contacting [privacy@heydenada.com](mailto:privacy@heydenada.com). * **Contact us** at [privacy@heydenada.com](mailto:privacy@heydenada.com) with any privacy question. ### 6.2 Residents of the EEA, UK, and Switzerland (GDPR / UK GDPR) * **Right of access (Art. 15)** * **Right to rectification (Art. 16)** * **Right to erasure (Art. 17)** * **Right to restriction of processing (Art. 18)** * **Right to data portability (Art. 20)** * **Right to object (Art. 21)**, including objection to direct marketing * **Rights related to automated decision-making (Art. 22)** — see Section 4.4 * **Right to lodge a complaint** with a supervisory authority (list at edpb.europa.eu) **International transfers:** Where personal data of EEA, UK, or Swiss data subjects is transferred to the United States, we rely on the European Commission's Standard Contractual Clauses (SCCs), incorporated into our [Data Processing Agreement](/legal/data-processing-agreement). **Data Protection Contact:** Denada is not required to appoint a Data Protection Officer under Article 37 of the GDPR. Our designated Privacy Contact is reachable at [privacy@heydenada.com](mailto:privacy@heydenada.com). ### 6.3 California residents (CCPA / CPRA) * **Right to know**, **access**, **delete**, and **correct** personal information * **Right to opt out of sale or sharing** — Denada does not sell or share personal information; no opt-out is necessary * **Right to limit use of sensitive personal information** — Denada does not use sensitive PI beyond purposes permitted by §1798.121(a) * **Right to non-discrimination** for exercising any CCPA right * **Authorized agents** may submit requests on your behalf, subject to verification See our [CCPA Notice](/legal/ccpa-notice) for the categories of personal information collected and disclosed in the preceding 12 months. ### 6.4 Other US states If you reside in Colorado, Connecticut, Virginia, Utah, Texas, Oregon, or another US state with a comprehensive privacy law, you generally have rights equivalent to those above: access, correction, deletion, portability, and opt-out of targeted advertising or profiling. Denada does not engage in targeted advertising or profiling that produces legal or similarly significant effects. To exercise any of these rights, contact [privacy@heydenada.com](mailto:privacy@heydenada.com). ### 6.5 How to exercise your rights 1. Email **[privacy@heydenada.com](mailto:privacy@heydenada.com)** with your request and the email address on your Denada account. 2. We may ask you to verify your identity. We will not ask for more information than necessary. 3. We respond within **30 days** of a verifiable request. For complex requests we may extend by up to 60 days and will notify you. 4. Exercising your rights is **free of charge**, except for manifestly unfounded or repetitive requests as permitted by law. 5. If we decline a request, we will explain why and inform you of your right to appeal or to lodge a complaint. To appeal a decision, email [privacy@heydenada.com](mailto:privacy@heydenada.com) with "Appeal" in the subject line. Appeals are reviewed by a member of leadership not involved in the original decision and answered within 45 days. ## 7. Data retention We retain personal information for as long as needed to provide the service and for the periods below. | Category | Retention | | - | - | | Active account data | Life of the account | | Customer content after account termination | Marked for deletion immediately; hard-deleted from production within **30 days** | | Encrypted backups containing terminated-account data | Maximum **90 days**, after which permanently expunged | | Audit logs and security records | **1 year** in hot storage, plus additional time as required for SOC 2 evidence | | Billing and tax records | **7 years** (US tax-law requirement) | | Incident-response documentation | Minimum **5 years** (per audited Incident Response Policy) | | Marketing communications (e.g., newsletter) | Until you unsubscribe | | Aggregated, de-identified analytics | Indefinite | You may request earlier deletion by emailing [privacy@heydenada.com](mailto:privacy@heydenada.com), subject to legal-retention exceptions. ## 8. Security and breach notification ### 8.1 Security program Denada maintains an information security program audited under **SOC 2 Type 2** by Prescient Assurance. Controls include encryption of customer data in transit (TLS) and at rest, role-based access control with multi-factor authentication, vulnerability scanning, third-party penetration testing, formal change management, and 24-hour deprovisioning of terminated personnel. The SOC 2 report is available under NDA via our trust center. ### 8.2 Breach notification In the event of a personal-data breach affecting customer data: * We notify affected customers **without undue delay, and in any event within 72 hours** of confirmed discovery, consistent with GDPR Article 33. * Notification is sent to the designated account administrator by email and includes the nature of the breach, the categories and approximate number of data subjects and records affected, likely consequences, and measures taken or proposed. * We provide reasonable assistance for customers to meet their own regulatory notification obligations. * Post-incident, we provide a written incident report and a remediation plan. > [!WARNING] > > No security program guarantees absolute security; you should also follow good security practices (strong unique passwords, MFA, prompt deprovisioning of departed users). ## 9. Cookies and similar technologies We use a small number of cookies: * **Strictly necessary** cookies for authentication and session management. * **Functional** cookies to remember UI preferences. We do **not** use advertising cookies, tracking pixels, or cross-site tracking technologies. We do not respond to "Do Not Track" browser signals because there is no industry-standard definition; however, since we do not perform cross-site tracking, the practical effect is the same. ## 10. Children Denada is not directed to children under 16 and we do not knowingly collect personal information from them. If you believe a child has provided personal information to us, contact [privacy@heydenada.com](mailto:privacy@heydenada.com) and we will delete it. ## 11. International users Denada is headquartered in the United States and our service is operated from the United States. By using the service, you understand that your personal information will be transferred to and processed in the United States. For users in the EEA, UK, and Switzerland, see Section 6.2 for our transfer mechanism. ## 12. Changes to this policy We may update this policy from time to time. When we make material changes, we will notify you by email (to the address on file for your account) or by posting a prominent notice in the application at least **30 days** before the change takes effect. The "Last updated" date at the top of this policy will always reflect the most recent revision. ## 13. Contact us **Privacy questions and requests:** [privacy@heydenada.com](mailto:privacy@heydenada.com) **General contact:** [contact@heydenada.com](mailto:contact@heydenada.com) **Postal address:** Denada Inc. 111 SW 5th Ave, 5th Floor Portland, OR 97204 United States # Sub-processors Source: https://help.heydenada.com/legal/sub-processors Third-party service providers used to deliver the Denada platform, and data residency > [!NOTE] > > **Last updated:** October 14, 2026 Denada Inc. uses the third-party service providers listed below to deliver the Denada platform. Each sub-processor is bound by a written data-processing agreement and may use Customer Personal Data only as instructed by Denada. To receive email notifications of changes to this list, email [privacy@heydenada.com](mailto:privacy@heydenada.com). ## Notification of changes We notify customers of new sub-processors or replacements at least **30 days** before they take effect, via this page and by email to designated account administrators. Customers may object on reasonable data-protection grounds during the notice period as set out in Section 5 of our [Data Processing Agreement](/legal/data-processing-agreement). ## Sub-processors ### Infrastructure and hosting | Sub-processor | Purpose | Location of processing | Entity | | - | - | - | - | | Google Cloud Platform | Application hosting, Firestore database, Cloud Storage, Cloud Functions, Cloud Tasks, BigQuery analytics | United States (us-central1) | Google LLC, USA | | Cloudflare | Content delivery, edge workers (image transformation, template rendering, in-app search), D1 database for the search index, DDoS protection, DNS | Global edge network with primary controls in the United States | Cloudflare, Inc., USA | ### AI / LLM inference | Sub-processor | Purpose | Location of processing | Entity | | - | - | - | - | | Anthropic | LLM inference for assistant generation | United States | Anthropic, PBC, USA | | OpenAI | LLM inference for assistant generation | United States | OpenAI, L.L.C., USA | | Google Vertex AI | LLM inference for assistant generation | United States | Google LLC, USA | | Fireworks AI | LLM inference for assistant generation (hosted open-weight models) | United States | Fireworks AI, Inc., USA | | Groq | LLM inference for assistant generation (hosted open-weight models) | United States | Groq, Inc., USA | All LLM providers above operate under contractual terms that exclude Customer Content from foundation-model training and limit retention to short-term abuse monitoring (typically up to 30 days). ### Application services | Sub-processor | Purpose | Location of processing | Entity | | - | - | - | - | | Postmark | Transactional email (account, security, billing notices) | United States | ActiveCampaign, LLC, USA | | Campaign Monitor | Marketing email (where you have opted in) | United States | Campaign Monitor Pty Ltd, Australia / USA | | Twilio | SMS and voice message delivery (notifications where a phone number is on file) | United States | Twilio Inc., USA | | Firecrawl | Web content extraction when you provide URLs to the assistant | United States | Firecrawl, USA | | Exa | Web search performed on your behalf by the assistant | United States | Exa Labs, Inc., USA | ### Operations (limited or no Customer Personal Data) The following services support Denada's internal operations and do not process Customer Personal Data in the ordinary course. They are listed for transparency. | Service | Purpose | | - | - | | Slack | Operational notifications and internal communication (does not contain Customer Content) | | 1Password | Password management for Denada personnel | | Airtable | Internal project tracking | | GitHub | Source-code management | | Google Workspace | Internal email, documents, calendar | | Oneleet | Compliance and vendor-management platform | ## Data residency **Production data location.** Denada stores customer data in **Google Cloud Platform's us-central1 region** (Council Bluffs, Iowa, United States). Cached and static assets are distributed via Cloudflare's global edge network. **LLM inference.** Inference requests are routed to provider endpoints in the United States as listed in the table above. Inference inputs and outputs are not durably stored at the provider beyond the short-term abuse-monitoring window described in the Privacy Policy. **Backups.** Encrypted backups are retained in the same region as production data and are deleted in accordance with the retention timelines in the Privacy Policy. **International transfer mechanism.** For transfers of personal data from the European Economic Area, the United Kingdom, or Switzerland to the United States, Denada relies on the European Commission's Standard Contractual Clauses (Module 2), as incorporated in the [Data Processing Agreement](/legal/data-processing-agreement) at Annex 3. **EU data hosting.** Denada does not currently offer EU-only data residency. Customers with a regulatory requirement for EU residency should contact [privacy@heydenada.com](mailto:privacy@heydenada.com). ## Change history | Date | Change | | - | - | | October 14, 2026 | Removed Algolia; in-app search now runs on Cloudflare | | July 11, 2026 | Added Twilio, Firecrawl, and Exa | | June 20, 2024 | Initial publication | ## Contact For questions about this page or to request a counter-signed Data Processing Agreement, email [privacy@heydenada.com](mailto:privacy@heydenada.com). # Creating libraries Source: https://help.heydenada.com/libraries/creating-libraries Create a library from scratch, build its blocks with chat, or import a .library file A library is a collection of reusable blocks — hero sections, text areas, product grids, footers, and more — that define the building pieces for your projects. This page covers the ways to create one. > [!NOTE] > > Creating and editing libraries requires the **Libraries** permission on your team. If you don't see **Libraries** in the sidebar, ask a team owner to grant it. ## Create a new library **1. Open the Libraries section** Click **Libraries** in the sidebar. **2. Start a new library** Click the **New library** button and choose **Create new**. **3. Name it and pick a type** Enter a name and choose the **Type** — **Email** or **Site** (landing pages). The library starts unpublished, so it won't be available for projects until you're ready. The new library opens in the [library editor](/libraries/library-editor), where you build out its blocks. ![The New library dialog with the Type dropdown set to Email and a field for the library name](https://mintcdn.com/denada/xjX7XM-d7P3k40as/images/generated/new-library-dialog.png?fit=max\&auto=format\&n=xjX7XM-d7P3k40as\&q=85\&s=33d8a55eaa5860c6e17f9465cdf96146) ## Build blocks with chat The fastest way to fill a new library is to describe what you need in the library editor's **Chat** tab. Denada builds blocks with appropriate parameters based on your description, and you can keep chatting to refine the design. **Example prompt:** > "Create blocks for our e-commerce brand. I need a hero block with a full-width image and headline, a two-column product feature block, a testimonial block, and a simple footer with social links. Use a clean, modern style." > [!TIP] > > The more detail you provide about your brand (colors, fonts, tone), the closer the first draft will be to what you need. You can also connect an external AI agent like Claude Code and have it build or edit the library from your own machine — see [Working with AI agents](/agents/overview). ## Start from existing HTML If you already have HTML — from an existing email, another tool, or a designer — you can bring it into a library you've created: * In the library editor's **Edit** tab, click **New** and choose **New empty block…**, then paste your HTML into the block's HTML editor. * Or open the library menu and choose **Edit combined HTML** to work on all of the library's block HTML in a single document. > [!NOTE] > > The quality of the result depends on the structure of the source HTML. Well-organized, semantic HTML is the best starting point, and you'll typically follow up by defining parameters so the content becomes editable. ## Import a `.library` file Libraries can be exported to a portable `.library` file (open any library's menu and choose **Export library**) and imported into another team. 1. Click **Libraries** in the sidebar. 2. Click the **New library** button and choose **Import library**. 3. Select the `.library` file. Denada recreates the library with all of its blocks and parameters. ## Work with the Denada team For fully custom libraries — especially when you need pixel-perfect brand compliance or complex layouts — the Denada team can build a library tailored to your specifications. * **Send your existing designs.** Provide your current emails or pages and the team will recreate them as a Denada library with full parameterization. * **Start from a brief.** Share your brand guidelines, example designs, and requirements. The team designs and builds the library from scratch. To get started, reach out to [support@heydenada.com](mailto:support@heydenada.com) or talk to your account manager. ## After creating a library Once your library is ready, you can: * Continue refining blocks and parameters in the [library editor](/libraries/library-editor). * Turn on **Published** in the library editor's **Options** tab so your team can build with it. * Use it in any new project — see [Using libraries in projects](/libraries/using-libraries). ## Choosing the right method | Method | Best for | Speed | | - | - | - | | Build with chat | Starting from scratch, exploring ideas | Minutes | | Start from existing HTML | Migrating from another tool, reusing existing designs | Minutes to hours (depending on HTML complexity) | | Import a `.library` file | Moving a library between teams | Seconds | | Denada team | Pixel-perfect brand compliance, complex requirements | Days (collaborative process) | # Fonts Source: https://help.heydenada.com/libraries/fonts Host your brand's web fonts at permanent URLs for use in your libraries Email clients and landing pages can only display a custom typeface if the font file is hosted somewhere reliable. The **Fonts** area gives your brand's font files a permanent home on Denada's CDN, so your libraries can reference web fonts at URLs that will never move or expire — instead of depending on a third-party host that might change out from under your emails. Click **Fonts** in the sidebar to open it. ![The Fonts page showing hosted font cards, each with a live preview and weight, style, and format details](https://mintcdn.com/denada/xDwLiQ3ZSLkr4p_w/images/generated/fonts-page.png?fit=max\&auto=format\&n=xDwLiQ3ZSLkr4p_w\&q=85\&s=6786d854ffd72bd5199003c86d1c3680) > [!NOTE] > > The Fonts section appears in the sidebar for members with the **Libraries** permission, since hosted fonts are used when building libraries. Team owners can grant the permission in [team settings](/team/team-management). ## Upload fonts Drag font files anywhere onto the page, or click **Upload fonts** to browse. Denada accepts **WOFF2**, **WOFF**, **TTF**, and **OTF** files, and reads the family, weight, and style from the filename — upload `Lato-Bold.woff2` and it arrives as Lato at weight 700. Each hosted font gets a card with a live preview, so you can confirm at a glance that the file renders the way you expect. > [!TIP] > > Prefer WOFF2 when you have a choice — it is the smallest format and the best supported by email clients and browsers that support web fonts at all. > [!WARNING] > > Make sure your font license permits web embedding before hosting a font. Many desktop font licenses do not cover serving the file publicly. ## Use a hosted font in a library Fonts are loaded in your library's [shell](/libraries/libraries-overview#the-shell) — the outer HTML document that wraps every block. Open the **⋯** menu on a font card and choose: * **Copy @font-face CSS** — a ready-to-paste `@font-face` rule pointing at the hosted URL. Paste it into the shell's `` styles, then use the family name in your blocks. * **Copy public URL** — just the permanent file URL, if you prefer to write the CSS yourself. Because the URL is permanent, emails you have already sent keep rendering correctly forever — there is no font host to renew or migrate. ## Manage fonts From each card's **⋯** menu you can also: * **Rename** — give the font a friendlier name for organizing; this does not change the CSS font family. * **Download** — retrieve the original file. * **Delete font** — remove it from the Fonts page. Emails you have already sent may still reference the hosted URL, so deleting is about tidying the list rather than revoking the file. ## Fonts and AI agents Connected [AI agents](/agents/overview) can work with hosted fonts too: the `list_fonts` tool returns each font's family, weight, and CDN URL ready for `@font-face` rules, and `create_font` hosts a new font from a download URL. This lets an agent building or restyling a library wire up your brand typography end to end. See [Agent capabilities](/agents/capabilities#fonts). # Libraries overview Source: https://help.heydenada.com/libraries/libraries-overview Learn how libraries, blocks, and parameters give your team reusable, on-brand building pieces for every project Libraries are the foundation of every project you build in Denada. A library packages your brand's visual identity — colors, typography, layout patterns, and component designs — into reusable pieces that anyone on your team can assemble into polished, on-brand emails and landing pages without touching HTML. > [!NOTE] > > This section is written for the technical person on your team — usually a developer or designer — who builds and maintains libraries. If you just want to create emails or landing pages from a library someone else built, start with [Creating new projects](/creating/new-projects). ## What a library defines A library is the complete design system that projects are built from. It defines: * **Blocks** — the self-contained sections (heroes, product grids, footers) that get assembled into projects. * **Shell HTML** — the outer document that wraps every block: the ``, fonts, resets, and overall page structure. * **Parameters** — the specific fields (headline, image, accent color) that are safe to customize, on each block and at the library level. * **A type** — either **Email** or **Site** (landing pages), which determines what kind of projects the library produces. * **A published state** — whether the library is available to Denada and your team for building projects. * **A scripting language** — optionally Liquid or Django, which enables [personalization](/editor/personalization) with dynamic content that gets wrapped in that syntax on export. ## Why libraries matter Without a shared system, every email or landing page becomes a one-off effort. Designers recreate layouts from scratch, marketers paste content into inconsistent documents, and brand guidelines slowly drift. Libraries solve this by centralizing your design system: * **Brand consistency** — every project uses the same approved components, so your visual identity stays intact across campaigns, teams, and regions. * **Reusability** — build a component once, use it in hundreds of projects. Update the component, and every future project gets the improvement. * **Speed** — marketers can create professional projects through chat or the editor without waiting for design support. * **Guardrails** — libraries control what can be customized and what stays locked, so non-designers can personalize content without breaking the layout. ## Blocks Blocks are the building pieces of your projects. Each block is a self-contained piece of responsive HTML that handles one section — a hero banner, a text section, a product grid, a call-to-action strip, a footer, and so on. A typical library contains 10 to 30 blocks covering all the common patterns your projects need. When building a project, you pick the blocks you want and arrange them in order. ![The library editor showing a library's blocks rendered in the preview, with the block list grouped by category in the sidebar](https://mintcdn.com/denada/xjX7XM-d7P3k40as/images/generated/library-editor.png?fit=max\&auto=format\&n=xjX7XM-d7P3k40as\&q=85\&s=f04d96dcbf6182692e7a2a89f8de8f57) Blocks are: * **Responsive** — they adapt to desktop and mobile screen sizes automatically. * **Dark mode compatible** — they render correctly in email clients that support dark mode. * **Self-contained** — each block manages its own HTML and styling, so blocks can be mixed and matched freely without conflicts. ## Parameters Every block exposes parameters — the specific fields that are safe to customize. Parameters are the bridge between the designer who built the block and the marketer who fills it in. ### Parameter types | Type | Description | Example | | - | - | - | | **Text** | Short or long text content | Headline, body copy, button label | | **Image** | A visual asset — from your image library, a URL, or generated by Denada | Hero photo, product thumbnail, logo | | **Color** | A color value | Accent color, section background | | **Boolean** | A show/hide toggle | Display disclaimer, show social links | | **Link** | A URL | Button destination, product page link | | **Enum** | A choice from predefined options | Layout style, alignment, number of columns | | **Insets** | Spacing around content, adjustable per edge | Section padding | | **List** | A repeating group of content within a block | Product rows, feature items | > [!TIP] > > Parameters are how libraries enforce brand guidelines. By choosing which fields to expose (and which to lock), the library designer controls the balance between flexibility and consistency. ### How parameters work When a marketer creates a project, they see only the parameters — not the underlying HTML. They fill in a headline, pick an image, toggle a section on or off, and the block's HTML handles the rest. This means: * Marketers never need to edit code. * The design stays pixel-perfect regardless of what content is entered. * The library designer decides exactly what can change and what cannot. ![A block selected in the project editor with its parameter fields — image, eyebrow, title, body, and button — in the sidebar](https://mintcdn.com/denada/vD14D0xpOQNEh5R4/images/generated/editor-block-parameters.png?fit=max\&auto=format\&n=vD14D0xpOQNEh5R4\&q=85\&s=4cef7ec763bd19188963ec1f04726dad) ## The shell Beyond individual blocks, every library has a shell: the outer HTML document that wraps the assembled blocks in every rendered project. The shell owns the ``, font loading (see [Fonts](/libraries/fonts) for hosting custom web fonts), CSS resets, and the overall frame. Parameters defined at the shell level become the library's theme — shared values like a brand color that every block can reference. ## Brand guidelines through libraries Libraries are your brand guidelines made executable. Instead of a PDF that people may or may not follow, a library is a living system that enforces your standards automatically. A well-designed library: * Locks down fonts, spacing, and color palettes so they cannot be accidentally changed. * Exposes only the parameters that should vary between projects. * Provides enough block variety to cover your team's common patterns. * Includes sensible defaults so a new project looks good even before customization. ## Publishing libraries Once a library is ready, turn on its **Published** toggle in the library editor's **Options** tab to make it available to your team. Published libraries appear when creating projects, and Denada can build with them in chat. Individual blocks have their own **Published** toggle too, so you can keep a work-in-progress block out of circulation while the rest of the library is live. > [!NOTE] > > Building and editing libraries requires the **Libraries** permission, which team owners can grant per member in team settings. Members without it can still use published libraries to create projects. ## Versioning Libraries support versioning so you can evolve your design system over time without breaking existing work. * **Versions** — the library editor records checkpoint versions automatically as you work, and you can save named versions at meaningful milestones. * **Pinned projects** — every project keeps the library version it was built with. Later changes to the library never silently alter existing projects; each project pulls in updates only when someone chooses to. See [Using libraries in projects](/libraries/using-libraries). > [!WARNING] > > Deleting blocks from a library can affect future projects that would have used those blocks. If you need to retire a block, consider unpublishing it instead of removing it entirely. ## Creating libraries Libraries can be created in several ways: * **In the app** — create a new library and build its blocks yourself in the [library editor](/libraries/library-editor), or describe what you need in the editor's chat and let Denada build the blocks. * **From a `.library` file** — import a library exported from another team or workspace. * **With the Denada team** — send your existing designs and the Denada team will build a fully parameterized library for you. Learn more in the [Creating libraries](/libraries/creating-libraries) guide. ## What to read next * [Creating libraries](/libraries/creating-libraries) — the ways to start a new library. * [The library editor](/libraries/library-editor) — where blocks, parameters, and versions are managed. * [Using libraries in projects](/libraries/using-libraries) — how projects select, pin, and update libraries. # The library editor Source: https://help.heydenada.com/libraries/library-editor Edit blocks, parameters, the shell, versions, and publishing from the library editor The library editor is where a library's blocks, parameters, and settings are built and maintained. Open it by clicking **Libraries** in the sidebar, then clicking any library. ![The library editor with the library's blocks rendered in the preview and the sidebar showing the block list grouped by category](https://mintcdn.com/denada/xjX7XM-d7P3k40as/images/generated/library-editor.png?fit=max\&auto=format\&n=xjX7XM-d7P3k40as\&q=85\&s=f04d96dcbf6182692e7a2a89f8de8f57) The editor has two parts: a preview of the library's blocks rendered with their example values, and a sidebar with four tabs — **Chat**, **Edit**, **Versions**, and **Options**. > [!TIP] > > Click any block in the preview to jump straight to it in the sidebar. If the selection overlays get in your way, open the library menu and turn on **Disable overlays** to click elements in the rendered preview directly. ## Chat tab The **Chat** tab works like project chat, but for the library itself: describe blocks you want, ask Denada to restyle existing ones, or have it define parameters — and it edits the library directly. You can keep multiple chats, including private chats only you can see. The chat list also offers **Edit with external tools**, which walks you through connecting an AI agent like Claude Code or Codex to work on the library from outside Denada. See [Working with AI agents](/agents/overview). ## Edit tab The **Edit** tab lists the library's blocks. Click **New** to add one: * **New empty block…** — start a fresh block and write or paste its HTML. * **Paste block…** — paste a block copied from another library. Click a block to open its settings: * **Published** — whether the block is available for building projects. Keep a block unpublished while it's a work in progress. * **Category** — groups related blocks (headers, content, footers); choose **New category…** to create one. * **Block HTML** — opens the block's HTML editor. Block HTML is written with [Eta](https://eta.js.org) syntax, so it can reference the block's parameter values. * **Appearance** — a short written description of what the block looks like, since Denada cannot "see" the rendered result. * **Chat instructions** — guidance for Denada on how to fill out this block when building projects. ### Parameters Below the block's settings is its parameter list. Click **New parameter…** to add one, or click an existing parameter to edit its type, default value, and instructions. Parameters can be of type **Text**, **Link**, **Image**, **Boolean**, **Enum**, **Color**, **Insets**, or **List** (a repeating group of content within a block) — see the [libraries overview](/libraries/libraries-overview#parameter-types) for what each is for. ![The Photo Hero block open in the library editor sidebar, with its appearance, chat instructions, and parameter list](https://mintcdn.com/denada/xjX7XM-d7P3k40as/images/generated/library-block-parameters.png?fit=max\&auto=format\&n=xjX7XM-d7P3k40as\&q=85\&s=d2d78c2367a027e7a2438c04894efc75) ## Versions tab The **Versions** tab is the library's history: * Checkpoint versions are created automatically after 30 minutes of inactivity. * Click **Save current version** to record a named version at a meaningful milestone. * Changes committed by connected AI agents appear here too, with the message the agent supplied. Each version's menu lets you **Rename version**, **Restore this version**, create a **New library from this version**, or **Set as current version**. Setting a current version marks a stable release: projects that adopt the library use that version instead of the latest draft. Selecting a version shows the library as it was at that point, so you can review before restoring. ## Options tab The **Options** tab holds library-wide settings: * **Published** — makes the library available to Denada and your team for building projects. * **Type** — **Email** or **Site** (landing pages). * **Scripting language** — enables dynamic content for [personalization](/editor/personalization), wrapped in this syntax on export: **Liquid** (Braze, Mailchimp, Shopify) or **Django** (Klaviyo). Leave it on **None** to disable dynamic content for this library. * **Thumbnail** — an optional image that replaces the full library rendering in tiles. * **Shell HTML** — opens the editor for the library's shell (see below). * **Chat instructions** — guidance for Denada on how to use the library as a whole. For example, you might explain to include one header block, up to five body blocks, then a standard footer. * **Theme** — the library-level parameters, shared by every block. ## The shell The shell is the outer HTML document that wraps the assembled blocks in every rendered project: the ``, font loading ([hosted fonts](/libraries/fonts) give you permanent `@font-face` URLs), CSS resets, and page frame. Edit it from **Options** → **Shell HTML**. Parameters you define at the shell level appear in the **Theme** panel and are available to every block — ideal for shared values like a brand color. ## Publishing Publishing happens at two levels: * **The library** — the **Published** toggle in **Options** controls whether the library is available at all. * **Individual blocks** — each block's **Published** toggle controls whether that block is offered when building projects. You can also publish or unpublish a block directly from its tile in the block list. ## Undo and redo Every change in the library editor is undoable. Use the library menu's undo and redo items, or press Cmd+Z and Shift+Cmd+Z (Ctrl+Z / Ctrl+Y on Windows). ## The library menu The menu in the editor's header collects library-wide actions: * **Rename** — rename the library. * **Edit combined HTML** — edit all of the library's block HTML in a single document. * **Edit library file** — edit the library's portable text format directly, like a virtual export and re-import. * **Export library** — download a `.library` file that can be imported into another team. * **Import library** — replace this library's contents with an uploaded `.library` file. A checkpoint of the current version is saved first. * **Delete library** — delete the library. # Using libraries in projects Source: https://help.heydenada.com/libraries/using-libraries Select a library for a project, add its blocks, and control which library version the project uses Every project in Denada is built on top of a library. The library defines which blocks are available and how they look; the project fills in the content. This page covers how libraries and projects work together. ## Selecting a library When you create a new project, you choose which library it will use. The library determines the set of blocks you can add and the overall design style. If your team has just one library, Denada uses it automatically; if there are several (for example, one for newsletters and one for promotional emails), a picker appears so you can choose the one that matches what you're creating. ![The Select library dialog showing tiles for several team libraries](https://mintcdn.com/denada/xjX7XM-d7P3k40as/images/generated/select-library.png?fit=max\&auto=format\&n=xjX7XM-d7P3k40as\&q=85\&s=c7fe77708abbb1363a1562138e0793f5) > [!TIP] > > If you are not sure which library to use, ask Denada. It can recommend a library based on what you are trying to build. ## The block picker Once your project has a library assigned, you add content by inserting blocks from that library. 1. Use the add-block control between blocks in the preview — or the **Add first block…** button in an empty project — to open the block picker. 2. The picker shows all published blocks in the project's library. 3. Browse the list or search by name. 4. Click a block to add it to your project. Each block appears as a preview card so you can see what it looks like before adding it. ![The Select block dialog in the project editor, listing the library's published blocks as preview cards grouped by category](https://mintcdn.com/denada/vD14D0xpOQNEh5R4/images/generated/editor-insert-block.png?fit=max\&auto=format\&n=vD14D0xpOQNEh5R4\&q=85\&s=096d873b117b75ac6714a3e8a3edd311) ## How parameters get filled in Every block comes with a set of parameters defined by the library — things like headline text, images, button labels, and colors. When you add a block to a project, these parameters start with default values (or empty, depending on the library design). You fill in parameters in two ways: * **In the editor** — select a block and edit its parameters in the sidebar. * **Through chat** — describe what you want and Denada fills in the parameters for you. The library controls which parameters exist and what types they accept. You cannot add new parameters to a block from the project editor — that is done at the library level, in the [library editor](/libraries/library-editor). ## Projects keep their own copy When you create a project, it takes a snapshot of the library at that moment. If the library is updated later (new blocks, design changes, bug fixes), your existing projects are not affected until you choose to update. This means library work never silently changes a campaign that's already approved. ## Library versions and updates The **Options** tab of the project editor shows which library and version the project is using. When a newer version of the library is available, the library shows an **Update available** badge. Click the library to see your options: * **Update** — pull in the latest library version. * **Change version** — browse all available library versions (named releases and automatic checkpoints) and pick the one you want. The current version is labeled so you always know where you are. * **Change library** — switch to a different library entirely. Your blocks are kept, but may not match up with the new library. * **View library** — open the library in the library editor to see its blocks and structure (requires the **Libraries** permission). This gives you full control — you can stay on a stable version for approved campaigns, roll back to a previous version if needed, or pull in the latest changes when you're ready. Version changes apply to the project and all of its variations together, and they can be undone. > [!NOTE] > > A library can mark one of its versions as the current version. Projects that adopt the library use that version rather than the latest draft, so the library team can keep working without affecting new projects. ## How it all fits together 1. **Library** defines the available blocks, their structure, and their parameters. 2. **Project** selects a library and assembles blocks in a specific order with filled-in parameter values. 3. **Variations** (optional) let you create multiple versions of the same project with different parameter values. This separation means your brand's design system lives in the library, while individual campaigns live in projects. Update the library once, and every project can pull in the change when it's ready. > [!NOTE] > > If you need blocks that do not exist in your current library, ask a teammate with the **Libraries** permission to add them in the [library editor](/libraries/library-editor), or reach out to the Denada team to extend the library for you. # Canvases Source: https://help.heydenada.com/organizing/canvases Arrange projects side by side on a freeform board for comparison and review A canvas is a freeform board where you lay out multiple projects side by side. It's the best way to compare designs, present a campaign to stakeholders, or run a review across several projects at once — everything on one zoomable surface. > [!NOTE] > > Canvases are available on the Team plan. ## Creating a canvas 1. In your projects view, click **New** and choose **New canvas**. 2. Give it a name (or skip that for later). 3. The empty canvas opens, ready for projects. ## Adding projects Open the **Projects** panel in the canvas sidebar and click **Add project** to pick from your team's projects. Each project appears on the canvas as a live preview. Drag items in the sidebar to change their order on the canvas. ### Showing variations If a project has [variations](/editor/variations), you can display them all on the canvas at once. Open the project's menu on the canvas and turn on **Include variations**, then choose which ones to show. This is a great way to review an entire campaign's worth of variations at a glance. ## Navigating the canvas Use the controls in the corner of the viewport, or their keyboard shortcuts: * **Zoom in** (`=`) and **Zoom out** (`-`) * **Zoom to 100%** (`0`) for actual size * **Zoom to fit** (`9`) to frame everything at once * **Pan tool** — click the hand icon, or just hold Space and drag ## Sharing a canvas Canvases publish just like projects: click **Share**, toggle on **Publish to web**, and use **Copy link** to send a read-only view to anyone — no Denada account required. One important detail: visitors can only see projects that are themselves published. If your published canvas contains unpublished projects, a warning appears in the canvas editor with a one-click **Publish all projects** link that publishes them all at once. See [publishing to the web](/exporting/publish-to-web) for more on how published links work. > [!NOTE] > > Canvases are a newer feature and we're actively expanding their capabilities. If you have feedback, reach out to [support@heydenada.com](mailto:support@heydenada.com) or our [Community Slack](https://join.slack.com/t/denadacommunity/shared_invite/zt-33ermqnvl-kU9677V0eloK5Jf2SSNO5g). # Team docs Source: https://help.heydenada.com/organizing/docs Store brand guidelines, legal requirements, and briefs that Denada reads as context Docs is your team's reference library — the place for brand guidelines, legal requirements, compliance checklists, campaign briefs, and anything else that should inform how your creative gets made. Denada can read these documents during chat, so the knowledge in them shapes every project it helps you build. ## How Denada uses docs When you ask Denada a question or make a request, it can pull up relevant documents and use them as context. For example: * "Check this email against our legal guidelines" — Denada reads your legal doc and verifies compliance. * "Make sure this follows our brand voice" — Denada references your brand style guide. * "Write the hero copy from the Q3 brief" — Denada works from the brief you uploaded. ## The DENADA page One doc is special. A page named **DENADA.page** at the top level of your docs is always given to Denada in every chat, no request needed — it's how your team customizes the way Denada operates. Use it for standing guidance: tone of voice, things to always or never do, product naming rules, links to your most important reference pages. If you haven't created it yet, choose **Create DENADA.page** from the **New** menu. ### Link pages together While editing any page, type **@** to link to another doc. Denada follows those links when they're relevant to the task at hand — so a small, well-linked DENADA page becomes a map to everything else your team has written down. This is the intended way to grow your docs: something like a small wiki, with the DENADA page as its front door. ### Keep the DENADA page small Resist the urge to pile everything into one giant DENADA page. Too much standing information slows Denada down and dilutes its focus — just as it would for a human colleague who had to re-read your entire handbook before every task. Instead: * **Keep the DENADA page to the essentials** — the rules that apply to every single task. * **Give each topic its own page** — a dedicated page for translation guidelines, one for legal requirements, one for each product line's voice. * **Link to them with @** from the DENADA page, with a word or two about when each applies ("when translating, follow @Translation guidelines"). Denada reads the DENADA page every time, notices the relevant link, and pulls up the detailed page only when the task calls for it. ## Creating and uploading docs Access **Docs** from the sidebar. The **New** menu offers: * **New page** — a rich page that can contain text, images, and formatting, edited right in Denada. * **New text file** — a plain file (like `guidelines.md` or `notes.txt`) edited in place. * **New folder** — organize docs into folders, just like projects. * **Upload docs** — bring in existing files. You can also drag and drop files anywhere on the Docs page. ![The Docs section listing the DENADA page alongside other team documents](https://mintcdn.com/denada/xjX7XM-d7P3k40as/images/generated/docs-page.png?fit=max\&auto=format\&n=xjX7XM-d7P3k40as\&q=85\&s=cf57e7f8e8403771e430cdeaa7cba9ea) ### Supported file types * **Pages and text files** (`.page`, `.md`, `.txt`, and other plain-text formats) are editable directly in Denada. * **HTML files** (`.html`, `.htm`) open as a rendered preview, so you see the email or page as it will actually look. Choose **View source** from the **⋯** menu to read the markup instead, or **Edit** to change it. The preview's **⋯** menu also has the preview layout, color scheme, and above-the-fold guides you get elsewhere in Denada. * **Office documents** (Word, Excel, PowerPoint, CSV, RTF, and more) are converted to text automatically so Denada can read them. * **PDFs** have their text extracted for Denada to read. * **Images, audio, and video** can be stored alongside your other docs. > [!TIP] > > For documents Denada should rely on heavily, plain text or pages work best — you can see and edit exactly what Denada reads. ## Plan availability The full Docs section — multiple documents, folders, and uploads — is available on the Team plan. On other plans, the Docs area contains a single agents page where you can keep the standing guidance Denada uses in every chat. > [!NOTE] > > If you don't see the full Docs section in your sidebar, check with your team owner about upgrading to the Team plan. # Folders Source: https://help.heydenada.com/organizing/folders Organize your projects and canvases into folders As your team creates more projects and canvases, folders help you keep everything organized and easy to find. Folders live in your team projects view, and you can arrange your work however makes sense for your team. > [!NOTE] > > Folders are available on the Team plan, along with the **Mine**, **Team**, and **Private** filters in the sidebar. ## Creating a folder 1. In your team projects view, click **New** and choose **New folder**. 2. Give your folder a name (for example, "Q2 campaigns" or "Newsletter drafts"). 3. The folder appears alongside your projects, ready to use. ![The team projects view with folders at the top and projects listed alongside them](https://mintcdn.com/denada/NyzQoREZNdsRbVqa/images/generated/folders-team-projects.png?fit=max\&auto=format\&n=NyzQoREZNdsRbVqa\&q=85\&s=7b6d0cab59fb5e2e6c4d51d049ca5972) ## Moving items into folders You can move projects and canvases into any folder: * **Drag and drop** — drag an item onto a folder to move it there. * **Move dialog** — select one or more items (choose **Select items** from the options menu, or use the item's own menu), then choose **Move** and pick a destination in the **Move to folder** dialog. Items can live at the top level (outside any folder) or inside a folder. Move them around as your workflow evolves. ## Sorting Use the options menu to sort the current view by **Date** (recently created first) or **Name** (alphabetical). Breadcrumbs at the top of the view show where you are and let you jump back up the folder tree. ## Nested folders Folders can contain other folders, giving you as much depth as you need. For example: ``` Q2 campaigns/ Newsletter/ April newsletter May newsletter Promotions/ Spring sale email Loyalty program email ``` Drag a folder into another folder to nest it, or create a new folder while browsing inside an existing one. ## Filtering with Mine, Team, and Private Under **Projects** in the sidebar, three filters help you focus: * **Mine** — projects you created. * **Team** — everything shared with the team, including the folder tree. * **Private** — your private projects, hidden from teammates. In the Team view, the **Status** button in the header filters by [project status](/editor/project-statuses). The filtered view flattens the folder tree into one list of matching projects — your folder structure organizes projects by campaign or purpose, while statuses cut across all of it by workflow state. ## Sharing folders with public links You can share an entire folder with people outside your team using a public link. Click the share button on the folder's row and toggle on **Publish to web** — then **Copy link** to send it to reviewers. Anyone with the link can browse the folder and view the published projects inside, no Denada account needed. See [publishing to the web](/exporting/publish-to-web) for details, including the note that individual projects must also be published to be visible. > [!TIP] > > Shared folder links are a convenient way to send a batch of projects for review — for example, sharing all the emails for an upcoming campaign with a client in a single link. ## Best practices * **Organize by campaign.** One folder per campaign keeps related projects and canvases together. * **Archive old work.** Create an "Archive" folder to move completed campaigns out of the way without deleting them. * **Use clear names.** Descriptive folder names save time when you or a teammate are looking for something later. * **Keep nesting shallow.** One or two levels of nesting is usually enough. Deeply nested folders become harder to navigate. > [!NOTE] > > Folders are shared across your team. Any team member can see and organize items in the same folder structure. # API tokens Source: https://help.heydenada.com/team/api-tokens Create team API tokens so other apps can access Denada API tokens let other apps access your Denada team — most notably the [Figma plugin](/integrations/figma), which uses a team API token to send designs from Figma into Denada. > [!NOTE] > > Connecting an external AI agent like Claude Code? That uses your **personal** API token from your account menu, not a team token. See [Connecting AI agents](/agents/connecting). Team API tokens live in **Settings** under the **API tokens** section, and require manager or owner access. ## Creating a token 1. Go to **Settings** in the Denada app. 2. Scroll to the **API tokens** section and click **Create token**. 3. Enter a name for the token — it's only used to distinguish between different tokens, so name it after the app that will use it (e.g. "Figma"). The new token is copied to your clipboard automatically, ready to paste into the app that needs it. Tokens appear in the list with their name, and you can click any token to **Copy token** or **Rename** it later. ![API tokens panel with an existing Figma token and the Create token button](https://mintcdn.com/denada/xjX7XM-d7P3k40as/images/generated/api-tokens.png?fit=max\&auto=format\&n=xjX7XM-d7P3k40as\&q=85\&s=5c54199647fd90123f71e28682a4eaf0) > [!WARNING] > > Treat API tokens like passwords. Never share them publicly or commit them to source control. If a token is compromised, delete it immediately and create a new one. ## Using your token Paste the token wherever the connecting app asks for it — for the Figma plugin, see the [setup guide](/integrations/figma). For programmatic access, include the token in the `Authorization` header of your requests: ``` Authorization: Bearer your-token-here ``` ## Revoking a token Click the token in the **API tokens** list and choose **Delete**. Any applications using that token will immediately stop working — create a new token and update the app if you're rotating credentials. ## Need help? If you have questions about API access, reach out to [support@heydenada.com](mailto:support@heydenada.com) or ask in our [Community Slack](https://join.slack.com/t/denadacommunity/shared_invite/zt-33ermqnvl-kU9677V0eloK5Jf2SSNO5g). # Billing and plans Source: https://help.heydenada.com/team/billing-and-plans Understand Denada's plan types and what each one includes Denada offers four plan types, from evaluation accounts to enterprise deployments. ## Plan types | Plan | Best for | | - | - | | **Demo** | Trying Denada out, with a usage allowance for evaluation | | **Individual** | Solo users creating and exporting projects | | **Team** | Marketing teams collaborating on shared projects | | **Custom** | Enterprise teams with tailored needs | ## What the Team plan unlocks On demo and individual plans, everyone on the team works from a single shared list of projects and one image collection. The Team plan (and Custom plans) add collaboration features: * **Project and chat filters** — the **Mine**, **Team**, and **Private** filters appear in the sidebar, so you can keep personal drafts private and share finished work with the team. * **Folders** — organize team projects into folders. * **Variations** — automatically generate derived versions of your content, for instance to translate into a list of languages or personalize for different audience segments. * **Version history** — view the edit history of your projects and restore previous checkpoints. * **Comments** — add comments to published pages to solicit reviews and change requests from your team. * **Multiple image collections and image search** — organize your image library into collections and search across them. * **Docs** — a full docs section for keeping reference content alongside your projects. > [!NOTE] > > Demo teams can try some Team features, like variations and comments, while evaluating Denada. ## Demo usage Demo teams have a usage allowance. A **Demo usage** meter appears at the bottom of the sidebar and fills as your team uses Denada's AI features. Click it any time to see how much of your allowance you've used. When the meter fills up, upgrade to keep going — reach out using the **Support** link in the sidebar. ## Changing your plan Billing isn't self-serve — plan changes are handled by the Denada team. To upgrade, discuss pricing, or change plans, contact us using the **Support** link in the sidebar, or email [support@heydenada.com](mailto:support@heydenada.com). # Custom domains Source: https://help.heydenada.com/team/custom-domains Serve published projects from your own branded domain When you [publish a project to the web](/exporting/publish-to-web) — like a [landing page](/creating/landing-pages) — it's served from Denada's domain by default. A custom domain lets you serve those published projects from your own branded URL instead, like `denada.yourcompany.com`. > [!NOTE] > > Setting up a custom domain requires **owner** access to your team. ## Setting up a custom domain **1. Add your domain** Go to **Settings** in the Denada app, scroll to the **Custom domain** section, and click **Set up custom domain**. Enter the domain you'd like to use (e.g. `denada.yourcompany.com`). **2. Create a CNAME record** At your DNS provider, create a CNAME record pointing your domain to `pages.heydenada.com`. The dialog shows this target with a click-to-copy shortcut. **3. Verify** Your domain appears in the panel with a **Pending** badge while Denada provisions it and issues a TLS certificate. Click the domain and choose **Check status** to re-check — once your CNAME record is in place, the badge switches to **Active**. Once active, published projects from your team are served from your custom domain over HTTPS. The certificate is issued and renewed automatically — there's nothing to upload or rotate. To choose a readable URL for a published project, open its **Share** menu and select **Set custom link** under your domain. Enter a path like `spring-sale` or `campaigns/spring-sale`. Use **Change custom link** to edit it later, or leave it blank to return to the standard link. Each path can belong to only one project in your team. ![Custom domain panel showing a configured domain with a Pending verification badge](https://mintcdn.com/denada/xjX7XM-d7P3k40as/images/generated/custom-domain.png?fit=max\&auto=format\&n=xjX7XM-d7P3k40as\&q=85\&s=d7157a2dd07781afa900937a745e6814) > [!NOTE] > > DNS changes can take up to 48 hours to propagate, though most complete within a few minutes. ## Domain status | Badge | Meaning | | - | - | | **Pending** | Denada is waiting for your CNAME record to be visible and for the TLS certificate to be issued. Click the domain and choose **Check status** to re-check. | | **Active** | Your domain is verified and serving published projects. | | **Failed** | Verification didn't succeed. Double-check that your CNAME record points to `pages.heydenada.com`, then re-add the domain or contact support. | ## Changing or removing your domain Click your domain in the **Custom domain** panel: * **Change domain** — enter a new domain. The old one is disconnected first. * **Remove** — disconnect the domain. Published projects will no longer be accessible at that address (they remain available at their default Denada URLs). > [!NOTE] > > A domain can only be connected to one Denada team at a time. If you see "This domain is already in use," it's connected to another team — remove it there first. ## Need help? If you run into issues setting up a custom domain, reach out to [support@heydenada.com](mailto:support@heydenada.com) or ask in our [Community Slack](https://join.slack.com/t/denadacommunity/shared_invite/zt-33ermqnvl-kU9677V0eloK5Jf2SSNO5g). # Single sign-on (SSO) Source: https://help.heydenada.com/team/sso-setup Set up SAML-based single sign-on for your team Denada supports SAML-based single sign-on (SSO), allowing your team members to sign in using your organization's identity provider (IdP) such as Okta, Azure AD, Google Workspace, or OneLogin. > [!NOTE] > > **SAML 2.0 is the only supported protocol.** Denada does not support OpenID Connect (OIDC), and a "bookmark app" style tile won't work either — it only links to a URL and never sends us an assertion. If your IdP intake form asks you to pick an application type, choose **SAML 2.0**. > [!NOTE] > > SSO setup requires **manager** permissions on your team. ## Prerequisites Before you begin, make sure you have: * A Denada team with manager-level access * Administrator access to your organization's identity provider (IdP) * Your IdP's SAML metadata XML (provided by your IdP) ## Step 1: Get Denada's service provider details When configuring your identity provider, you'll need the following details about Denada: | Field | Value | | - | - | | **ACS (Assertion Consumer Service) URL** | `https://cloud.heydenada.com/api/saml/callback` | | **Audience URI (SP Entity ID)** | `https://heydenada.com` | | **SP metadata URL** | `https://cloud.heydenada.com/api/saml/metadata` | | **NameID format** | `urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress` | | **Relay State** | Leave blank | Your IdP may also refer to the ACS URL as the "Reply URL" or "Single sign-on URL." Note that the Audience URI is `https://heydenada.com` — the marketing site, not the app or cloud hostname. It's an identifier rather than an address, so it doesn't need to be a URL anyone visits. > [!WARNING] > > Leave **Relay State** empty. Denada reserves it for deep-linking a viewer back to a specific shared > project, and a plain word like `Denada` will be read as a project ID and land every SSO user on a > broken share page. If your IdP requires a value, use a full URL such as `https://app.heydenada.com` > — it's ignored safely and users arrive at the app home page. > [!TIP] > > Most identity providers allow you to import settings automatically from a metadata URL. Try pasting the **SP metadata URL** above into your IdP's configuration to auto-populate the required fields. ## Step 2: Configure your identity provider The exact steps vary depending on your IdP, but generally you'll need to: 1. Create a new SAML application in your IdP. 2. Enter the **ACS URL** and **SP metadata URL** from the table above. 3. Set the **NameID format** to email address. 4. Assign users or groups that should have access to Denada. 5. Copy the **IdP metadata XML** — you'll need this for the next step. > **Okta** > > 1. In the Okta admin console, go to **Applications > Applications > Create App Integration**. > 2. Select **SAML 2.0** and click **Next**. > 3. Enter "Denada" as the app name and click **Next**. > 4. Set the **Single sign-on URL** to `https://cloud.heydenada.com/api/saml/callback`. > 5. Set the **Audience URI (SP Entity ID)** to `https://heydenada.com`. > 6. Leave **Default Relay State** blank. > 7. Set **Name ID format** to **EmailAddress** and **Application username** to **Email**. > 8. Under **Attribute Statements**, add `email`, `firstName`, and `lastName` (mapped to `user.email`, `user.firstName`, and `user.lastName`). These are optional, but without them new accounts are created with no name. > 9. Click **Next**, then **Finish**. > 10. Go to the **Sign On** tab and click **View SAML setup instructions** or **Identity Provider metadata** to copy the metadata XML. > **Azure AD (Entra ID)** > > 1. In the Azure portal, go to **Enterprise Applications > New application > Create your own application**. > 2. Name it "Denada", select **Integrate any other application**, and click **Create**. > 3. Go to **Single sign-on > SAML**. > 4. Under **Basic SAML Configuration**, set the **Reply URL (ACS)** to `https://cloud.heydenada.com/api/saml/callback`. > 5. Set the **Identifier (Entity ID)** to `https://heydenada.com`. > 6. Under **User Attributes & Claims**, ensure the **NameID** is set to **user.mail**. > 7. Download the **Federation Metadata XML** from the **SAML Signing Certificate** section. > **Google Workspace** > > 1. In the Google Admin console, go to **Apps > Web and mobile apps > Add app > Add custom SAML app**. > 2. Name it "Denada" and click **Continue**. > 3. Copy the **IdP metadata** from the Google IdP information page (you'll paste this into Denada). > 4. Set the **ACS URL** to `https://cloud.heydenada.com/api/saml/callback`. > 5. Set the **Entity ID** to `https://heydenada.com`. > 6. Set **Name ID format** to **EMAIL**. > 7. Click **Finish**, then turn the app **ON** for the relevant organizational units. ## Step 3: Configure SSO in Denada 1. Open **Settings** in the Denada app. 2. Scroll to the **Single sign-on** section and click **Setup SSO**. ![SSO setup button in settings](https://mintcdn.com/denada/OHnn3DAhofG_z9GR/images/sso-setup.png?fit=max\&auto=format\&n=OHnn3DAhofG_z9GR\&q=85\&s=f2709687856c89008b5c5f8651d1b66f) The SSO settings panel before configuration. 3. Paste your IdP metadata XML into the **IdP metadata** field. Denada will validate the metadata and display the detected issuer. ![SSO configuration dialog](https://mintcdn.com/denada/OHnn3DAhofG_z9GR/images/sso-dialog.png?fit=max\&auto=format\&n=OHnn3DAhofG_z9GR\&q=85\&s=7af8aeb9dcccd3bf2ce40b3b4d39bcf5) The SSO configuration dialog with IdP metadata. 4. Optionally, enable **Auto-add new users to team** — when turned on, any user who signs in via SSO will automatically be added as a member of your team. 5. Click **Save**. Once saved, your team members can sign in using your identity provider. The **Single sign-on** panel will show **SSO Configured** along with the detected issuer. ![SSO configured state showing issuer](https://mintcdn.com/denada/OHnn3DAhofG_z9GR/images/sso-configured.png?fit=max\&auto=format\&n=OHnn3DAhofG_z9GR\&q=85\&s=16e9e0fe18b944d1b0b0d2ac45481709) SSO successfully configured. ## How SSO login works SSO logins start at your identity provider, not at Denada. Users click the Denada tile on their IdP dashboard (their Okta or Azure "My Apps" home page), and: 1. The IdP authenticates them and posts a SAML response to Denada. 2. Denada matches the assertion's issuer to your team's saved metadata and validates the signature. 3. The user is identified by the `email` attribute, or by the NameID when it's in email format. 4. Denada signs them in, creating an account if this is their first visit. 5. If **auto-add** is enabled, new users are automatically added to your team. > [!NOTE] > > There is no "Sign in with SSO" button on the Denada sign-in page — send your users to the tile on > their IdP dashboard instead. The one exception is a **restricted share link**: when someone opens a > restricted project belonging to an SSO-enabled team, that page does offer to sign them in through > your IdP. ## Troubleshooting > **'Invalid metadata' error when pasting XML** > > Make sure you're pasting the complete IdP metadata XML, starting with `` or ``. Some IdPs provide a download link rather than displaying the XML directly — use that to get the full content. > **SSO configuration shows an error badge** > > This typically means the metadata XML was saved but couldn't be fully parsed. Click the SSO configuration to re-open the dialog, and re-paste the metadata from your IdP. Ensure there are no extra spaces or truncated content. > **Users aren't being added to the team automatically** > > Verify that the **Auto-add new users to team** toggle is enabled in the SSO configuration dialog. Users who haven't yet created a Denada account will receive an invitation when they first sign in via SSO. > **Login fails with 'No email or nameID found in SAML profile'** > > Denada identifies users by email address. Set the NameID format to **EmailAddress** (so the NameID > is the user's email), or add an `email` attribute to the assertion. An assertion carrying only an > opaque or username-style NameID can't be matched to an account. > **'No SSO config found for issuer' error** > > This means the issuer in the SAML response doesn't match any configured SSO setup. Double-check that the Entity ID / Issuer in your IdP matches what Denada detected when you pasted the metadata. ## Need help? If you run into issues setting up SSO, reach out to [support@heydenada.com](mailto:support@heydenada.com) or ask in our [Community Slack](https://join.slack.com/t/denadacommunity/shared_invite/zt-33ermqnvl-kU9677V0eloK5Jf2SSNO5g). # Team management Source: https://help.heydenada.com/team/team-management Invite members, manage roles, and control permissions for your team Your Denada team is the shared workspace where projects, images, libraries, and docs live. Team management lets you control who has access and what they can do. Everything in this guide happens on the **Settings** page, which you can open from the sidebar. Everyone on the team can see Settings, but what you can change depends on your access level. ## Inviting members To add someone to your team: **1. Open Settings** Go to **Settings** in the sidebar. **2. Add the member** Click **Add member** at the bottom of the **Members** list and enter the person's email address. **3. Send the invitation** Click **Add member** to send it. The invitee receives an email with a link to join your team (unless your team is on a demo plan, in which case they're added quietly without an email). Until they accept, the person appears in the Members list with an **Invited** badge. New invitations start at the member access level — click the invited entry and choose **Access level** if you want to change it before they join, or **Delete invitation** to withdraw it. ![Members list showing owner, manager, and member access levels, a pending invitation, and the Add member button](https://mintcdn.com/denada/xjX7XM-d7P3k40as/images/generated/team-members.png?fit=max\&auto=format\&n=xjX7XM-d7P3k40as\&q=85\&s=66d6397cca973ca65c4f89f1ddff364c) > [!NOTE] > > Inviting members requires manager or owner access. ## Access levels Every team member has one of three access levels. | Access level | What they can do | | - | - | | **Owner** | Can see and manage every aspect of your team, including the custom domain, and everything managers can do. | | **Manager** | Can manage your team members — invite, remove, and change access levels (except for owners) — plus edit the team name, and manage workspace settings, integrations, single sign-on, and API tokens. | | **Member** | Can access the team — create and edit projects, chat with Denada, and use the image library. | A few rules to keep in mind: * Only owners can promote someone to owner, or change an existing owner's level. * Managers can change access levels for members and other managers, but not owners. ## Permissions In addition to access levels, individual permissions can be toggled on or off for each member: * **Libraries** — access to the library building system. This is **off by default** for everyone. An owner or manager must enable it for anyone who needs to create or edit library designs; it also reveals the **Libraries** and **Fonts** sections in the sidebar. > [!NOTE] > > Library access is deliberately restricted. Libraries control your brand guardrails, so only team members who need to build or modify them should have this permission enabled. ## Changing a member's access level 1. Go to **Settings**. 2. Click the member in the **Members** list. 3. Click **Access level** to open the selector. 4. Choose the new level, and toggle any permissions. The change takes effect immediately. Denada asks you to confirm before promotions and demotions that change what someone can do. > [!WARNING] > > Denada does not stop you from demoting or removing the last owner — even yourself. Keep at least one owner on the team at all times, and ideally two, so someone can always administer it. ## Removing members 1. Go to **Settings**. 2. Click the member you want to remove. 3. Choose **Remove from team**. 4. Confirm with **Remove**. Removed members immediately lose access to the team's content. Any projects or content they created remains in the team. You can also remove yourself this way — but you won't be able to rejoin without another member inviting you. ## Your account Click your name or avatar in the app header to open your account menu. From here you can: * **Update your profile.** Click your name to change it, or click your avatar to upload a new picture. * **Change email address** — update the email you sign in with. * **Manage API token** — your personal token for [connecting AI agents](/agents/connecting). * **Sign out** of Denada. ### Multiple teams If you belong to more than one team, they're listed under **Teams** in your account menu — click any team to switch to it. Choose **New team** to create a fresh team; you'll be its owner and can invite others to join. ## Integrations Below the Members list, managers and owners will find the **Integrations** section, where you can connect email platforms. Click **Add integration** to set up a new connection. [Learn more about integrations →](/integrations/integrations-overview) ## Best practices * **Use the member role for most people.** Give manager or owner access only to people who need to administer the team. * **Grant library access sparingly.** Only enable the **Libraries** permission for people who need to build or modify library designs. * **Keep at least two owners.** This ensures someone can always manage the team if one owner is unavailable. * **Review membership periodically.** Remove people who have left the organization or no longer need access. # Workspace settings Source: https://help.heydenada.com/team/workspace-settings Team-wide settings that control how Denada behaves for everyone on your team A few settings apply to your whole team. You'll find them on the **Settings** page, and they require manager or owner access to change. ## Team name and contact email The **Team** panel at the top of Settings shows your team's name and contact email. Click your team's logo to upload a new one, or click **Edit** to change: * **Name** — your team's name as it appears throughout Denada. * **Email** — used for private communications between the Denada team and yours. * **Newsletter** — opt in to receive occasional (about once a month) updates about Denada. You can also opt in when you first create a team. ## AI image generation The **Settings** panel contains the **AI image generation** toggle: > Allow chat and connected AI agents to generate new images. Team members can always generate images manually. This is **off by default**. When it's off, Denada and any [connected AI agents](/agents/connecting) won't create new AI images on their own — they'll work with the images already in your [image library](/image-library/collections). Team members can still generate images themselves in the app at any time. Turn it on if you want Denada to be able to generate imagery while building projects for you. ![Settings panel with the AI image generation toggle turned on](https://mintcdn.com/denada/xjX7XM-d7P3k40as/images/generated/workspace-settings.png?fit=max\&auto=format\&n=xjX7XM-d7P3k40as\&q=85\&s=e7224d2ca851da1b4d771f3b3213fd64) [Learn more about AI images →](/image-library/ai-images) ## Project statuses The **Project statuses** panel defines the workflow statuses your team can assign to projects — **Draft**, **In review**, and **Approved** to start. Click **Add status** to grow the list, or click any status to rename it, change its color, reorder it, or mark it as the status that means *approved* or *completed*. ![The Project statuses panel with a team's customized statuses](https://mintcdn.com/denada/NyzQoREZNdsRbVqa/images/generated/project-statuses-settings.png?fit=max\&auto=format\&n=NyzQoREZNdsRbVqa\&q=85\&s=beb1a18e1336afb9548365ef4d115b20) [Learn more about project statuses →](/editor/project-statuses) > [!NOTE] > > More workspace-wide settings will appear here as Denada grows. # Welcome Source: https://help.heydenada.com/welcome Welcome to Denada! ![Hero Dark](https://images.heydenada.com/sharedFiles/NmShzg5ScltDTT63N0Qe?v=6) Denada is your AI-powered marketing creative platform, designed to streamline content creation from first idea to final approval. ## Overview With Denada, you can: * Have natural conversations to generate on-brand emails and landing pages. * Pull in content from websites, briefs, and your image library as you work. * Move seamlessly from ideation to final content with the integrated editor. Denada lets subject matter experts — and anyone with a message — directly create marketing material while staying brand compliant. New here? [Learn about the Denada interface](/concepts/interface-overview), or jump straight in and [get started](/getting-started)! ## Support and community For assistance, contact [Support](mailto:support@heydenada.com) or join our [Community](https://join.slack.com/t/denadacommunity/shared_invite/zt-33ermqnvl-kU9677V0eloK5Jf2SSNO5g) on Slack. Stay updated with our latest news on the [Blog](https://heydenada.com/blog).