The Scenario
You submitted 40 Shotstack render jobs this morning and sent the render IDs to an Excel workbook — column A. Now it is mid-afternoon and the distribution team is waiting on the video URLs so they can start scheduling posts. You need to check which renders are done, pull the hosted URLs, and get them into column B before end of day.
The bad version:
- Open the Shotstack API, look up the status endpoint, write a request for the first render ID in column A, check if it says "done", copy the URL from the response payload into column B.
- Repeat for each of the remaining 39 IDs, keeping track of which ones are still "rendering" so you can come back to them.
- For any that are not ready, check them again an hour later and manually fill in the remaining cells.
Forty IDs is not a big number. But each one requires an API call, a response inspection, a conditional decision, and a manual cell write. The third time you cycle back through the list for the stragglers, you will have lost any time this process was supposed to save.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Excel workbook. It reads the render IDs in column A, checks each one against Shotstack, and writes the hosted video URL and thumbnail URL into columns B and C for every completed render.
Check all 40 Shotstack render IDs in column A of my Excel table, retrieve the hosted video URL for each completed render, and write the URLs into column B
SheetXAI iterates column A, calls Shotstack for each render ID, and writes the hosted video URL into column B. Renders that are still processing get a status note rather than a blank.
What You Get
- Column B contains the hosted video URL for every render that has completed.
- Still-processing renders get "rendering" in column B so you know which ones to follow up on, rather than a blank that could mean anything.
- You can extend the prompt to also write thumbnail URLs into column C if you need them.
What If the Data Is Not Quite Ready
Some render IDs in column A are from a different project and should be skipped
Column B already has a project tag — "campaign-A" or "campaign-B" — and you only want to retrieve URLs for campaign-A.
For rows in column A where column B says "campaign-A", check the Shotstack render status and write the hosted video URL into column C and the thumbnail URL into column D — skip rows where column B says "campaign-B"
The render IDs are mixed in with old completed rows that already have URLs in column B
You ran a partial retrieval earlier and column B already has values for rows 2 through 18. You only want to fill in the blanks.
For rows in column A where column B is blank, fetch the Shotstack hosted assets and write the video URL into column B — leave already-populated rows untouched
You need the render duration and file size in addition to the URL
The distribution team asked for file size information to check against the platform's upload limits.
For each render ID in column A, retrieve the Shotstack hosted asset details and write the video URL into column B, thumbnail URL into column C, file size in MB into column D, and video duration in seconds into column E
Retrieve all asset details, flag anything still rendering, and write a summary row at the bottom
Check all render IDs in column A against Shotstack: for completed renders write video URL into column B, for renders still processing write "pending" into column B, then add a summary row at the bottom showing total completed count and total pending count
The point: checking status and populating the workbook do not need to be separate manual operations — you describe what you want to end up with and let the prompt do the conditional logic.
Try It
Open your render ID workbook and Get the 7-day free trial of SheetXAI and ask it to check each ID and populate the URL columns from Shotstack. The Shotstack integration is included on every SheetXAI plan. See also: Batch render personalized videos and the Shotstack overview.
