Trello to Canva Bulk Create: The Complete Workflow (With Images)
Draft — Post #64 · Target keyword: trello to canva bulk create · Meta: Export your Trello board's card images and turn them into Canva Bulk Create graphics. The full workflow for trello to canva bulk

Draft — Post #64 · Target keyword: trello to canva bulk create · Meta: Export your Trello board's card images and turn them into Canva Bulk Create graphics. The full workflow for trello to canva bulk create, including the image URL fix.
Your content calendar lives in Trello. Every card has a cover image, a product shot, or a client photo attached. Fifty cards deep into planning next month's posts, you realize you still have to turn every single one into a designed graphic by hand.
You paste a card's attachment link into Canva Bulk Create, expecting the photo to show up in your design. Instead you get a text box with a URL in it. Not a picture. Just the link, sitting there as plain text, in every single row.
This isn't a Trello bug. It's how Canva Bulk Create was built, and it trips up marketing teams, creative ops folks, and agencies running client work through Trello just as often as it trips up Etsy sellers exporting product photos from Shopify.
Why Canva Bulk Create Stalls for Trello Boards
Canva Bulk Create reads a spreadsheet or CSV row by row and drops each cell's value into a template field. If a cell holds text, it drops in text. If a cell holds a number, it drops in a number. But if a cell holds an image URL — even a real, working, publicly accessible link straight from a Trello attachment — Canva treats it as a string of characters, not a picture.
Canva only pulls in an image when it's physically embedded in the file, using the DrawingML format inside an XLSX. A URL in a cell isn't an embedded image. It's just text that happens to look like a link. We wrote up the technical reason behind this in why Canva Bulk Create ignores image URLs if you want the full breakdown.
Trello makes this worse in one specific way: getting a usable image URL out of Trello in the first place isn't obvious. Card covers and attachments don't show their URLs anywhere in the Trello interface. You have to go looking for them.
The Manual Workaround Most Trello Users Try First
Two workarounds show up constantly in Trello and Canva forums, and both fall short.
The Excel Insert > Picture route. You download each attachment from Trello, then manually insert it into a cell in Excel using Insert > Pictures. This actually does embed the image — but you're doing it one card at a time. For a 40-card board, that's 40 downloads and 40 manual inserts before you've even opened Canva.
The formula route. People try Google Sheets' =IMAGE() function next, assuming it'll display the photo inline and Canva will read it that way. It won't. =IMAGE() renders a preview inside Sheets for your own eyes, but the underlying cell is still a formula, not an embedded picture, so Canva sees the same nothing it always sees. We cover exactly why this formula fails in our =IMAGE() breakdown.
Neither approach scales past a handful of cards. That's the gap Postprep fills.
What You Need Before You Start
- A Trello board with cards that have cover images or attachments
- A Canva account with a Bulk Create-ready template (Pro, Teams, or an eligible Education/Nonprofit plan — confirm your specific plan's Bulk Create access on Canva's own pricing page, since eligibility details shift)
- A spreadsheet tool (Google Sheets or Excel both work)
- 10-15 minutes
Step 1: Pull the Image URLs Out of Trello
Trello doesn't show attachment URLs in the card view, but it does include them in a full board export. From your board, open the menu in the top right, go to More → Print, export, and share → Export as JSON. This works on every Trello plan, including Free, and the exported file includes the URL for every attachment on every card.
For a small board (under 15-20 cards), it's often faster to open each card, right-click the attachment, and copy the link directly — Trello attachment URLs are stable, so this works fine for a one-off batch. For anything bigger, the JSON export is the more reliable source since it captures every card in one file, even the ones you'd otherwise miss scrolling through a long list.
Either way, what you're after is one URL per card: the cover image or the specific attachment you want turned into a design.
Step 2: Build Your Spreadsheet
Paste the card names and image URLs into a simple spreadsheet. Keep one row per design.
| Design Name | Image URL | Category |
| Fall Collection Teaser | https://trello.com/1/cards/.../attachment.jpg | Product |
| Client Spotlight - Jamie | https://trello.com/1/cards/.../attachment.jpg | Testimonial |
| Weekly Promo | https://trello.com/1/cards/.../attachment.jpg | Promo |
Add whatever extra columns your Canva template needs — a headline, a price, a caption. Bulk Create maps each column to a text or image field in your template.
Step 3: Convert With Postprep
Upload that spreadsheet to postprep.app. Postprep fetches each image URL and embeds it directly into a new XLSX using the same DrawingML format Canva's own Bulk Create expects — the same fix, whether the source is Trello, Shopify, or a plain Google Sheet. The free tier handles up to 100 rows with no account required, which covers most single-board exports.
Step 4: Bulk Generate in Canva
Open your Canva template, go to Apps → Bulk Create, and upload the XLSX Postprep just generated. Map each column to its field — image, headline, category — and generate. Every card's photo now shows up as an actual image in the design, not a stray URL sitting in a text box.
A Repeatable Workflow for Trello-Based Content Teams
If your team plans content in Trello every week or month, this isn't a one-time fix — it's a recurring five-minute step:
- Export the board as JSON (or copy attachment links for a small batch) once your cards are locked for the cycle
- Drop names and URLs into your standing spreadsheet template
- Run it through Postprep
- Bulk Create in Canva
- Archive the board, start the next cycle
Once the spreadsheet template exists, this whole loop takes less time than manually building three or four graphics by hand.
FAQ
Does Trello's free plan let you export attachment URLs?
Yes. JSON export is available on every Trello plan, including Free, and it includes the URL for every attachment on the board.
Will Postprep work with Trello's raw JSON export directly?
Not directly — Postprep needs a CSV or XLSX with a column of image URLs. You'll need to pull the card names and attachment URLs out of the JSON into a spreadsheet first (manageable by hand for smaller boards; a JSON-to-CSV tool speeds this up for larger ones).
What if a Trello card has multiple attachments?
Give each attachment its own row if you want it in a separate design, since Bulk Create generates one design per row and reads one image per image field.
Do I need a paid Canva plan to use Bulk Create?
Bulk Create availability depends on your Canva plan. Confirm your specific plan's access on Canva's pricing page before you build your workflow around it — this has changed before and is worth double-checking.
Does this work for boards with hundreds of cards?
Yes, up to Postprep's free tier limit of 100 rows. Beyond that, a paid tier removes the row cap.
What if my Trello attachment links expire or require login?
Trello attachment URLs tied to your board are generally stable for members with access, but if you've restricted board visibility, double-check that the URLs resolve for a logged-out viewer, since Postprep needs to fetch each image from a publicly reachable link.
The Short Version
Trello doesn't expose image URLs anywhere obvious, and even once you have them, Canva Bulk Create won't read them as pictures. Export your board as JSON (or grab attachment links directly for a small batch), drop them into a spreadsheet, run it through Postprep to embed the images properly, then bulk generate in Canva. What used to be an afternoon of manual downloads and inserts becomes a five-minute step you repeat every content cycle.
Try it free at postprep.app — 100 rows, no account required.