Automate Personalized Video Creation at Scale with Google Sheets and Synthesia
Have you ever wished you could welcome each new hire with a personalized video? Or send hundreds of tailored messages to prospects or job candidates—without spending hours editing? Or maybe create a new video for a job posting to enrich every offers on your website?
Video personalization is one of the most impactful ways to engage an audience. But scaling that manually is nearly impossible.
The good news? It’s easy to automate with Synthesia’s API—and even easier with a pre-built script you can use directly in Google Sheets.
In this guide, we’ll show you how to set up a simple, no-code solution to generate videos at scale using Synthesia and a Google Sheet.
🔧 What You’ll Need
Before we dive in, make sure you have the following:
- A Synthesia account
- A Synthesia API key
- A Synthesia video template with variables
- A Google account (If you have GMail, this would work well)
This guide assumes you’ve already created a Synthesia template and know what variables it contains. If not, check out to add variables to a video.
🧩 Understanding Templates & Variables in Synthesia
In Synthesia, templates are the foundation of automation. There are two types:
1. Visual Templates
These are designed to speed up creation with pre-designed, branded visuals. They help you stay on-brand without starting from scratch. This type of templates is not directly relevant for our example.
2. Variable Templates
These templates allow you to create dynamic content using placeholders (called variables) that get replaced when the video is generated.
For example:
“Hi {{Name}}, welcome to the team!”
Here, {{Name}}
is a variable that can be replaced with each recipient’s name, allowing you to personalize the video for everyone in your spreadsheet.
Variables can appear in:
- On-screen text
- Voice-over scripts
- Images or videos
If you want to learn more how to add a variable, check this article.

📋 Step 1: Set Up Your Google Sheet
Create a new Google Sheet and set it up with the following columns:
Required Columns
template_id
: The ID of your Synthesia templatetitle
: The title of each video- One column for each variable used in your template (e.g., Name, JobTitle, etc.)
Note: Variable names are case-sensitive and must exactly match what’s defined in your template.
Optional Columns
cta_label
: Text for the call-to-action button in the videocta_url
: The URL where the button leads
Tip: You can use any formula within the sheet (e.g., =CONCAT(...), VLOOKUP) to generate content dynamically.

🛠️ Step 2: Import the Script into Your Sheet
Now let’s add the automation script.
- In your Google Sheet, go to Extensions → Apps Script.
- Delete any code and paste in this script.
- At the top of the script, set your API key:
const SYNTHESIA_API_KEY = 'your-api-key-here';
- Save the project and close the script editor.
- Refresh your Google Sheet.
You should now see a new menu called Synthesia.


🎬 Step 3: Generate Your Videos
With your sheet filled in and the script installed, you’re ready to create videos!
- Add a row, for each variation of your video you want
- Click Synthesia → Generate Videos
- The script will:
- Read each row of your sheet
- Send a request to the Synthesia API
- Generate a personalized video

Once complete, a new tab will appear called Output.
This output sheet includes:
- All the original row data
- A
videoID
column - A
publicVideoLink
column for easy access to the final video to share
You can now review and share your personalized videos directly.


💡 Use Cases for This Setup
This Google Sheets + Synthesia solution is flexible and powerful. Here are two common ways to use it:
🎉 Bulk Personalization
Send a unique video to:
- Every attendee of an upcoming event
- All new hires joining your company
- Customers in a drip marketing campaign
- Prospects you’re reaching out to in a recruitment effort
🔁 Repetitive Automation
Automate video updates for:
- Monthly hiring or performance reports
- Scheduled company updates
- Job posting video teaser
- Recurring employee training or onboarding
Just update the values in the sheet and regenerate—no need to touch the video editor again.
⚠️ Things to Keep in Mind
Before you go all in:
- API Usage Limits: Your Synthesia account may include limited API minutes. For larger-scale needs, reach out to your CSM or Account Executive team.
- Variable Matching: Ensure that variable column names in your sheet match those in the Synthesia template exactly, including capitalization.
- Testing First: Try a few rows before launching a big campaign.
- Permissions: You may need to approve script permissions when you run it the first time.
✅ Conclusion: Scalable Video Creation Without the Complexity
That’s it! In just a few minutes, you’ve turned Google Sheets into a powerful personalized video generator using Synthesia.
With no advanced coding or engineering effort, you now have the ability to:
- Automate repetitive tasks
- Personalize messaging at scale
- Deliver more engaging content to your audience
This is just the beginning. Imagine combining this with CRM data, event signups, HR systems, or marketing platforms. The potential is limitless.
Want to go further? You could also use a script of the same sort to automatically send emails from your GMail. If you want me to cover this, let me know in the comments.
Is it still too much tech, check out the integrated bulk personalization feature.
🧪 Ready to try it?
👉 Download the sample Sheet + script here
👉 Learn more about the Synthesia API
👉 Create beautiful videos with variables with some advanced tips