One screen to find, tidy, and ship every Canva design

By General Input

Search every design your team has made, spot the untitled and forgotten ones, then export or send it straight to Drive or Slack.

Integrations

  • Canva
  • Google Drive
  • Slack

Type

App

Categories

  • Operations
  • Marketing

I want one screen where anyone on the team can find a Canva design and ship it somewhere, instead of scrolling through Projects hoping to recognize a thumbnail. Build it as an app with three parts: a thumbnail grid, a folder sidebar, and a detail panel that opens when you click a design.

The main view is a grid of design thumbnails backed by Canva List Designs. Put a search box at the top that passes the query straight through to List Designs, plus filters for owner, design type, and last modified. List Designs uses continuation-token pagination rather than page numbers, so the grid should page with the continuation token and omit that parameter entirely on the first request, since empty strings are rejected. Page as the user scrolls or clicks through rather than trying to pull the whole account at once.

Down the left, a folder sidebar built from Canva List Folder Items and Get Folder. Start at the root Projects folder and let people expand into subfolders, showing nested folders and the designs inside each one. Folder listings use the same continuation-token pagination as List Designs. People should also be able to reorganize from here: Create Folder adds a folder under the one they are viewing, and Move Folder Item moves a design or a folder somewhere else. Dragging a design from the grid onto a folder in the sidebar is the ideal interaction, with a plain menu action as the fallback.

Clicking a design opens a detail panel. Load the full metadata with Get Design and the per-page thumbnails with List Design Pages. Note that List Design Pages is the exception to continuation-token pagination: it uses a 1-indexed offset with a limit of up to 200.

The detail panel offers three actions. First, export. Call Get Design Export Formats for that specific design and build the format picker from whatever comes back, rather than showing a fixed list, because format support varies by design type and Canva Docs cannot export to PNG or JPG at all. Export Design then starts an async job, so poll until it reaches success or failed and show progress while it runs. A queued job that later comes back failed is a real error even though the initial call returned successfully, so surface that to the user instead of leaving a spinner running.

Second, save to Drive: take the exported file and put it into a Google Drive folder the user picks, using Upload File (Multipart). Third, post to Slack: let the user pick a channel and write a short note, send the exported file with Upload a File, which is a three-step flow of requesting an upload URL, sending the bytes, then completing the upload, and post the accompanying note with Send a Message.

The grid should flag housekeeping problems as badges on each card, specifically designs still called Untitled, designs sitting outside any folder, and anything untouched for more than 90 days. Add a filter to show only flagged designs so someone can do a cleanup pass and file them into folders without leaving the screen. Canva timestamps are Unix seconds rather than milliseconds, so convert before comparing against the 90 day threshold.

Two things to bake in. Canva thumbnail URLs expire after about 15 minutes, so refetch designs to get fresh thumbnails rather than caching image URLs anywhere. And keep a per-user recently opened list, persisted server side so it survives a reload, shown as a row above the grid so people land back on whatever they were working on.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentWin back LiveChat visitors whose chats went unansweredChat quality review board for LiveChat support leadsWin back no-show and cancelled appointments every morningLive Loop returns analytics with product-level drill-downNewsletter pre-flight and approval board for Mailjet sendsTurn a prospect spreadsheet into personalized sequence enrollmentsMailjet email delivery lookup console for support teamsCatch feature flags that never got switched on in productionKajabi customer support console for member access fixes