The Scenario
Your marketing team sent out a campaign to 50 top customers last quarter, and someone on the leadership team decided each of them deserves a personalized thank-you video — name in the opening frame, company name in the closing card. You have the list in an Excel workbook. Column A is the customer name. Column B is the company. The Shotstack template ID is sitting in cell D1 because you set it up last week.
The bad version:
- Open the Shotstack dashboard, copy the template ID from the URL, then paste a request body into Postman — customer name and company name typed in by hand — fire the call, and write down the render ID on a sticky note.
- Repeat that 49 more times, then go back through your sticky notes and check each render ID for status.
- Copy each hosted video URL into column D, one by one, and hope you didn't mix up rows 23 and 24.
Fifty render jobs submitted manually means fifty chances to transpose a customer name, lose a render ID, or accidentally send the wrong company name to the wrong video. And your manager wants the links by Thursday.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Excel workbook. It reads your data, understands which column maps to which merge field, and talks to Shotstack on your behalf — no JSON, no Postman, no manual polling.
For each row in my sheet (column A is customer name, column B is company), submit a Shotstack render job using template ID in cell D1 with merge fields for name and company — write the returned render ID into column C
SheetXAI reads D1 for the template, iterates every row with data in columns A and B, constructs the merge field payload for each, submits the render job, and writes the returned render ID into column C as each call completes.
What You Get
- Column C fills with Shotstack render IDs, one per row, as submissions succeed.
- Any row where the submission fails gets a note in column C explaining what Shotstack returned — no silent skips.
- You can then run a second prompt to poll each render ID in column C for status and write the hosted video URL into column D.
What If the Data Is Not Quite Ready
Customer names have inconsistent formatting
Some rows have all-caps names from an import, others are properly cased, and one column has a trailing space.
Before submitting Shotstack render jobs, clean column A so each name is title-cased and trimmed, then submit a render job per row using template ID in D1 with the cleaned name and the company from column B — write render IDs into column C
The template ID is different for enterprise vs. standard customers
You have a tier column in column E — "enterprise" or "standard" — and two template IDs in cells D1 and D2.
Submit Shotstack render jobs for each row: use template D1 if column E says enterprise, use template D2 otherwise — merge fields are customer name from column A and company from column B, write render IDs into column C
Some rows are missing a company name
Column B is blank for 8 customers who signed up before the company field was required.
Submit Shotstack render jobs for all rows in column A, using template ID in D1 — for rows where column B is blank, use the merge field value "your team" as the company name — write render IDs into column C
Clean the data, flag errors, and submit everything in one shot
Title-case column A, replace any blank in column B with "your team", flag rows where column A is also blank in column E as "skip", then submit Shotstack render jobs for all non-flagged rows using template ID in D1 with merge fields from columns A and B — write render IDs into column C
The pattern: hand the cleanup and the submission to the same prompt so you are not doing a data-prep pass and then re-running the automation separately.
Try It
Open an Excel workbook with your customer list and a Shotstack template ID, then Get the 7-day free trial of SheetXAI and ask it to batch-submit personalized renders. When the render IDs land in column C, ask it to check status and write the video URLs into column D. See also: Collect hosted render URLs into your workbook and the Shotstack overview.
