Back to Planly in Google Sheets
SheetXAI logo
Planly logo
Planly · Google Sheets Guide

Bulk Import Media URLs From a Google Sheet Into Planly's Library

2026-05-14
5 min read

The Scenario

The campaign is approved. Eighty final images are live on the CDN, and someone dropped all the URLs into a Google Sheet — column A, one URL per row, with the file type in column B. Planly scheduling starts tomorrow. Before anyone can schedule a single post, every one of those images needs to be inside Planly's media library.

Nobody is looking forward to doing this eighty times.

The bad version:

  • Open Planly's media library, click the import-from-URL option, paste the first URL, select the file type, confirm.
  • Do it again. And again. Lose track of which URL you're on around row 30.
  • Finish the import and realize you have no record of which Planly media ID maps to which original URL — so when the social team asks which asset is which, you can't tell them.

This is prep work. It exists only so that the real work can start. It shouldn't take two hours.

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent that lives inside your Google Sheet. It reads the sheet, understands what you're looking at, and through its built-in Planly integration it can read every URL in column A, import each one into Planly's media library, and write the returned media ID back to column C — all in one pass.

Open the Google Sheet with your asset URLs, open the SheetXAI sidebar, and paste this prompt:

For every URL in column A of the 'Assets' sheet, import the media into Planly's team library using the media type in column B — write the returned media ID to column C

What You Get

  • Column C: Planly media ID for each successfully imported asset
  • If an import fails (bad URL, unsupported file type), column C gets an error note for that row — it doesn't silently skip
  • All 80 rows processed in sequence; no manual confirmation needed per row
  • The original URL in column A and the media type in column B stay intact

What If the Data Is Not Quite Ready

The media type column is missing — all assets are JPEGs

For every URL in column A of the 'Assets' sheet, import the media into Planly's team library as image/jpeg — write the returned media ID to column B

Some URLs are videos and some are images — the type needs to be inferred from the URL extension

For every URL in column A of the 'Assets' sheet, infer the media type from the file extension (.mp4 → video/mp4, .png → image/png, .jpg → image/jpeg, .gif → image/gif), import each file into Planly's team library, and write the returned media ID to column B

The URL list includes duplicates that should be skipped

For every unique URL in column A of the 'Assets' sheet (skip duplicates), import the media into Planly's team library using the type in column B — write the Planly media ID to column C and 'Duplicate skipped' to column D for any URL that appeared more than once

Full campaign prep: import all URLs, capture IDs, flag failures, and confirm the count

For every URL in column A of the 'Assets' sheet, import the media into Planly using the type in column B — write the media ID to column C, write 'Imported' or 'Failed: [reason]' to column D, and after all rows are processed write the total import count and failure count into cells F1 and F2

The social team gets the ID mapping and the import summary in one shot.

Try It

Get the 7-day free trial of SheetXAI and open the Google Sheet with your CDN asset URLs, then ask it to bulk import everything into Planly. You can also check out how to inventory your media library or read the Planly hub overview.

Stop memorizing formulas.
Tell your spreadsheet what to do.

Join 4,000+ professionals saving hours every week with SheetXAI.

Learn more