One screen to find, tidy, and ship every Canva design
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
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.
What it does
- Puts every design in one searchable thumbnail grid, filtered by who made it, what type it is, and when it was last touched
- Lets people browse and reorganize Canva folders without leaving the screen, creating folders and moving designs as they go
- Opens any design to show its pages, then exports it in a format that design actually supports and saves it to Google Drive or posts it into Slack with a note
- Flags the housekeeping problems for you: designs still called Untitled, designs filed nowhere, and anything nobody has touched in 90 days
What you’ll need
- A Canva account with permission to view and organize your team's designs
- A Google Drive account, if you want to save exports there
- A Slack workspace, if you want to post designs into channels
- Nothing to set up in Canva first: the app reads the folders you already have
How to customize it
- Change the 90 day cut-off for stale designs to match how fast your team works
- Choose which Google Drive folder exports land in and which Slack channels people can post to
- Adjust which housekeeping problems get flagged, or add your own naming rules on top of Untitled
Use cases
- Content Generation