monday.com to Canva Bulk Create: The Complete Workflow (With Images)
Draft — Post #43 · Target keyword: monday.com to canva bulk create · Meta: monday.com's board export drops uploaded images, and Canva Bulk Create won't read plain URLs either. The full monday.com to C

Draft — Post #43 · Target keyword: monday.com to canva bulk create · Meta: monday.com's board export drops uploaded images, and Canva Bulk Create won't read plain URLs either. The full monday.com to Canva Bulk Create workflow.
Your monday.com board is the single source of truth for a product launch, a content calendar, or a client roster. Each item carries a name, a status, and a photo, either dropped into a Files column or linked in from wherever the asset lives.
You export the board to Excel, open Canva, fire up Bulk Create, and connect the columns. The text merges fine. The image column comes back blank, or the photo never made it into the file at all.
That's the monday.com to Canva Bulk Create wall, and it shows up earlier than it does on a Shopify or Airtable export, because monday.com's own board export drops images before Canva ever gets a chance to reject them. Here's why that happens, which column type gets you a usable link, and the one-step fix that turns a monday.com board into finished Canva designs.
Why Canva Bulk Create Stalls on monday.com Boards
monday.com boards hold images two different ways, and the difference matters more here than on most source platforms. A Files column is a straight upload: you drag a photo into the cell and monday stores it on its own servers. A Link column is a generic URL field: you paste in a link, and monday just holds onto the text.
They behave completely differently once you try to get the data out. Export a board with a Files column to Excel, and the images don't come along. monday's own community forum has long-running threads asking for the ability to include files and images in Excel or PDF exports, and the answer has stayed the same: the standard export doesn't carry them. You get a blank cell, not a link.
Export a board with a Link column, and you get what you'd expect: the plain text URL, same as you typed it in. Real progress, but it runs into the same wall as every spreadsheet-to-Canva workflow. Canva Bulk Create only accepts images physically embedded inside the file as binary data, a format called DrawingML. A URL is just text to Canva, so it either prints the raw link inside your design or leaves the image blank. We covered the technical reason in full in Why Canva Bulk Create Ignores Image URLs.
So monday.com boards create a two-part problem, similar to what Coda users run into: get a usable image URL out of the board at all, then get that URL turned into something Canva can actually read.
The Manual Workaround Most monday.com Teams Try First
The first fix most people reach for is the Excel one: export the board, click into each image cell, use Insert > Picture > Place in Cell, browse to a downloaded copy of the photo, repeat for every item. It works, and it turns a 40-item launch board into an afternoon of clicking that has to be redone every time the board changes.
The second fix is Google Sheets' =IMAGE() formula. It looks like it solves the problem, since the photo renders in the cell, but it doesn't embed anything. =IMAGE() is a live formula that fetches the picture at view time, so the underlying file still has no embedded image data and Canva sees nothing when it parses the sheet. We broke this down fully in Why =IMAGE() Doesn't Work for Canva Bulk Create.
Some teams try the monday.com API next. A GraphQL query against an item's assets field returns a public_url for each uploaded file. That's real, but it's a script, not a two-click export, and it's worth confirming the link stays valid over time before building a recurring workflow on it. Fine for a developer to wire up once, not something a marketing coordinator repeats weekly.
What You Need Before You Start
Two things.
A Canva template per design type. Most monday.com boards map to a small set of repeating layouts: a product launch card with a photo, name, and price; a content calendar tile with a thumbnail and headline; a roster card with a headshot and title. Build the template with Bulk Create placeholders for each text field, plus one image element for the photo.
Your images living in a Link column, not a Files column. This is the monday.com-specific step. If your photos are uploaded as a Files column, either host them publicly (your website, a CDN, cloud storage with shareable links) and paste those links into a new Link column, or pull the URLs through the API. Either way, you want a column of plain-text image URLs before you export.
The same rule applies here as on Airtable, Notion, and Coda: one row per output, one column per data field, image links isolated in their own column.
Step 1: Get Your Image URLs Into a Link Column
If your images already live in a Link column with working URLs, skip to Step 2. If they're uploaded as a Files column, add a new column and set its type to Link, then grab the public URL from wherever else the photo is hosted, or use the API's assets { public_url } query. It's manual the first time through a board; once the Link column exists, new items just need a URL pasted in.
Step 2: Export Your Board to Excel
Open the board, trim it to what you need (filter to the right items, hide extra columns, sort in the order you want the designs to come out), then use the three-dot menu at the top right, click More actions, and Export board to Excel.
Your Link column comes through as plain text URLs. If a Files column is still in the mix, don't expect anything usable there.
Step 3: Clean Up the Image Column
Open the exported file and get to one clean image URL per row, trimmed down to the bare link ending in .jpg or .png. Rename the column image_url and leave everything else as is.
Step 4: Build the Spreadsheet
A typical monday.com product launch board, cleaned up for Bulk Create, looks like this.
| item | status | owner | image_url |
| Wireless Charger | Launching | Sam | https://cdn.yoursite.com/charger.jpg |
| Desk Lamp | In Review | Sam | https://cdn.yoursite.com/lamp.jpg |
| Travel Mug | Launching | Priya | https://cdn.yoursite.com/mug.jpg |
Save it as CSV or XLSX. Column names don't need to match your template exactly, since you connect them manually in Bulk Create, but matching names lets Canva auto-connect in one click.
Step 5: Convert the Spreadsheet With Postprep
This is the step nothing in monday.com or Canva does for you. Go to postprep.app, upload your file, and select the column holding the image URLs. Postprep fetches each link, downloads the image, and embeds it inside the XLSX as DrawingML, the binary format Canva Bulk Create actually reads. Every other column passes through unchanged.
A few hundred rows convert in about a minute. The free tier covers 100 rows with no account required, enough to run one full board through before committing to the whole workflow.
Step 6: Bulk Generate in Canva
Open your template in Canva. Bulk Create needs a Canva Pro, Teams, Business, Enterprise, Education, or Nonprofit plan, and runs on desktop only, so confirm your plan covers it before you get here.
In the left panel, click Apps, then Bulk Create. Click Upload data, select your converted file, then drag each column onto its matching placeholder, or use Auto-connect if the names line up. Click Generate designs. Canva builds one finished design per row, photo included, and downloads as a ZIP ready to post, print, or schedule.
Worth clearing up: monday.com also has its own app inside Canva for pulling up items without leaving your design. Useful, but it works one item at a time and won't turn a 60-item board into 60 designs the way Bulk Create does.
A Realistic monday.com Workflow
monday.com stays the single source of truth. Every item that needs a graphic carries its photo link in the Link column. When a batch is due, whether that's a weekly content calendar, a product launch, or a new round of client cards, you open the board, filter to what's ready, export, clean the image column, run it through Postprep, and bulk-generate in Canva. A few minutes of spreadsheet work bookended by a few minutes in Canva, whether the board has a dozen items or a few hundred.
When the board changes, the pipeline doesn't. Update the items, re-export, re-run Postprep, regenerate, no one opening Insert > Picture by hand. See the general version of this workflow in How to Use Canva Bulk Create With Images. If your team runs a similar setup in Airtable, Notion, or Coda, the fix is the same shape, with its own export wrinkle covered on each: Airtable, Notion, and Coda.
Frequently Asked Questions
Why don't my board's images show up at all when I export to Excel?
Your images are probably living in a Files column. monday.com's standard export doesn't carry uploaded files or images out with it, a limitation its own community has requested a fix for repeatedly. Move your image links into a Link column pointing at a public URL, and the export will include the plain text link instead.
Can I use the monday.com API to pull image URLs instead?
Yes. A GraphQL query against an item's assets field returns a public_url for each uploaded file. It's solid if someone on your team can run it, but it's a script, not a two-click export, and it's worth confirming the URL stays valid over time before relying on it.
Do I need a paid monday.com plan for this?
No. Any plan that lets you export a board to Excel works. The conversion and design generation both happen outside monday.com. You do need a Canva plan that includes Bulk Create.
The text merged in Canva but the images are blank or show a raw link. What happened?
Canva read your image column as plain text instead of an embedded photo. That's expected behavior, not a bug. Run the exported file through Postprep first, then upload the converted XLSX to Bulk Create.
The Short Version
monday.com is a strong single source of truth for a launch, a calendar, or a roster, but its board export doesn't carry images the way you'd expect. Uploaded Files column images don't survive the export at all, and even a working Link column only gets you as far as a plain text URL, which is exactly what Canva Bulk Create can't read. Postprep closes that second gap in one upload, once your image links are sitting in a Link column to begin with.
Move your photos into a Link column, export the board, clean up the image column, convert with Postprep, bulk generate in Canva. Your board becomes a design pipeline instead of a place graphics get built one at a time.
Try it free at postprep.app — 100 rows, no account required.