You can trigger a video from a new spreadsheet row without writing any code, as long as you run Templater Bot. The Bot is a background process that watches your data source, notices rows marked ready, and renders them on its own. The person adding the row only types data into a sheet.
That sentence hides some detail worth knowing before you build it. A new row is not the trigger by itself. The trigger is a value in one special column, the Bot checks on a timer rather than instantly, and a few parts of the job still need a person or a script. This article walks through what the Bot does with a row, how to set it up without code, and where “no code” stops being true. Where our documentation is silent, we say so instead of guessing.
What the Bot does when a new row appears
Templater comes in three editions. Rig prepares an After Effects project for dynamic content and previews it. Pro adds desktop automation, so you can render or replicate a batch of versioned compositions. Bot adds the part this article is about: it is the edition that can check for incoming data periodically, pull new data in, and render video as a background process. Our feature comparison lists “Version AE Projects as a Background Process” for Bot only. With Pro, you render or replicate batches from the desktop. With Bot, a new row can start the work with nobody at the keyboard.
The Bot follows the same loop every time. Once it is enabled, it periodically checks the data source for new data. When it checks, it retrieves the rows whose render-status value is ready. It changes all of those rows to queued. Then, for each queued row, it sets the status to processing, versions the target composition with that row’s data, outputs it, and sets the status to done. If it hits a problem, it writes an error code instead of done. After the retrieved rows are finished, it goes back to checking for new ones.
Two details in that loop matter for a no-code setup.
First, the trigger is the word ready. The render-status column should contain only reserved terms or stay empty. You, or your application, are meant to type only ready or clear the cell. Templater writes every other value itself: queued, processing, done, and the error codes. Because the Bot retrieves rows marked ready, a row you add with an empty status is not picked up. Our suggestion is to use this: add draft rows, fix their data, and release them one at a time by typing ready when each is correct.
Second, the check runs on a timer. For a native Google Sheet, the default is every 0.5 minutes, which is 30 seconds. You can set it as low as 0.3 minutes, about 18 seconds, because Templater uses the Google Sheets API to read and write your spreadsheet and has to respect that service’s rate limits. Our documentation warns that setting the value too low may make After Effects behave unexpectedly. For JSON sources the floor is 0.2 minutes, about 12 seconds. So the Bot picks up a row you mark ready at its next check, not in the same second, and rows can also wait behind earlier jobs. When you first enable the Bot, you may also have to wait for its first check.
The loop also shows what you must prepare first. The project has to be rigged, with the Templater Settings effect on each dynamic layer and layer names that match your column headers. Our complete reference to using Templater with Google Sheets covers the sheet side of that in more detail.
Setting it up without writing code
Here is a worked example. Imagine a small marketing team that sends a short personalized offer video to each new customer. Someone on the team adds a row to a shared sheet when a customer signs up. We will build that, using only features our documentation describes.
Step 1: rig the template. Apply the Templater Settings effect to every layer that should change, once per layer. Rename each layer explicitly, even if its source name already looks right, because a layer that is not explicitly renamed may not be processed as dynamic. Avoid spaces in layer names. Name a text layer customerName and another offerLine, for example.
Step 2: build the sheet. Use a native Google Sheets document, which needs Templater 3.5 or later. Make a column header for every dynamic layer: customerName, offerLine, and so on. Add an id column with a unique value for each row, so every output gets its own file name. Add a column named render-status. Keep headers free of leading numerals, spaces and the _ character, since Templater does not currently support those in Google Sheets headers. A dollar sign in a header can also cause trouble. Use only one worksheet, because Templater maps data to a single worksheet in a Google Sheet.
Step 3: link the assets. In the Batch Assets section of the Templater panel, enter the data source, the footage folder and the output folder. Specify a target composition, the composition Templater will version for each row. If your sheet is in Google Drive, the machine must be able to reach Google’s servers, so a firewall that blocks them will stop Templater from reading the sheet.
Step 4: configure the Bot. Open Templater Preferences and go to the Bot settings. Choose what the Bot should do with each row: Render, Replicate or Spot Check. Set the check interval. Set how many rows may be queued at once. The default and the maximum are both 20, and a lower number is allowed. Leave the Bot Name blank unless more than one Bot will read the same sheet.
Step 5: check the two conditions, then enable. Before you enable the Bot, the data source must contain a render-status column, and at least some of its values should be ready. Then click Enable Bot in the Templater panel. The button changes to Disable Bot, and the rest of the Templater interface freezes. That is expected. Templater has entered a server mode and is checking your sheet on its timer.
Step 6: add a row. A teammate types the customer’s name and offer into the next row, then types ready in the render-status cell. The Bot checks the sheet on a timer, so it picks up your row at its next check. It then changes the cell to queued, then processing, and finally done. The video appears in the output folder under a name built from the job prefix, the target composition name and the row’s id.
That is the whole no-code path. Nobody wrote a script, a server or an API call. One person set up the template and the Bot once, and everyone after that works only in the sheet.
If the new row should come from a form or another app instead of a person typing, our FAQ describes one route. Set Que as Templater’s data source, then connect your Google Sheet to Que either through the Que API or through Que’s built-in Zapier integration. Our article on using Templater with Zapier is the place to start for that route. We do not have step-by-step documentation for the Zapier configuration in the material this article draws on, so we will not describe those steps here.
Where “no code” ends
The sheet-to-video path needs no code. A working pipeline around it often still needs attention. These are the limits we would want you to know before you promise anyone a result.
It is not instant. There is the check interval, then the time to render. Our FAQ says render time depends on several factors: video length, output resolution, your hardware, how many frames are dynamic, how processor-intensive your effects are, and how you built the template. It recommends a pre-flight. Render one video, or a small batch, on a machine comparable to your production machine, using a video similar to the others. For videos rendered in a queue on one machine, multiplying that time by the number of videos gives a fair estimate. We publish no render-time figure, because the honest answer is that it depends on your template.
The Bot has to be running. While it is enabled, After Effects is working as the Bot’s host, and the Templater panel is frozen except for the Disable Bot button. The Bot checks for new rows only while it is enabled, so the machine has to stay on. If you leave the Bot enabled for long periods, our documentation says Templater’s versioning can slow down because After Effects caches data every time a layer property changes. It recommends turning off layer caching and, on any machine where the Bot stays enabled, disabling disk caching. Until you have set that up, be ready to empty the disk cache after each job by hand.
Outputs can overwrite each other. Because the Bot is fully automated, it overwrites an existing file if it renders to the same output file name. Give every row a unique value in the id column or the output column. If you give neither, Templater generates identifiers from the row index. Rows that share an output name will overwrite one another, because the Bot is fully automated.
Formulas in render-status do not survive. As of Templater 2.9.5, when the Bot updates the render-status column, any formulas in those cells are overwritten with the formula’s result. If you were hoping a formula would keep marking rows ready, it will not keep working after the Bot has touched the cell. Type the value, or let your application write it.
Large sheets are processed in windows of 20. You can mark thousands of rows ready. Our documentation gives the example of 10,000 rows set to ready with the queue limit set to 20, so the Bot works through them in batches and Templater needs less memory.
More than one machine can share a sheet. Several machines can read new data from the same spreadsheet, even in different locations, because the sheet is stored in the cloud. To split the work, give each Bot a unique name in Templater Preferences, add a column named bot to the sheet, and type a Bot’s name into the cell of each row you want it to process.
Rows can end in an error. The status ERR::MEDIA means Templater had trouble locating or importing a media asset. Our documentation notes that the video may still have rendered but could contain a media problem, so look at it. The status ERR::AFXHOST means After Effects itself hit an error, and After Effects will likely have stopped operating normally. Someone has to look at the status column and, for the second case, at After Effects on the Bot’s machine. Our article on what happens when a Templater batch fails mid-queue goes deeper on this.
Delivery takes a script. The Bot writes finished files to the output folder. Moving a finished video to a streaming provider, emailing a link, or writing the video’s URL back into the sheet takes a script registered to a Templater event, such as the After Job event. Event scripts run only with Templater Bot, and your script runs after the row is versioned. If you send replicates to Adobe Media Encoder, our documentation says shell scripts run after the composition is versioned in After Effects, not after Adobe Media Encoder finishes rendering. Dataclay publishes sample scripts on GitHub, and can help write them. That is the point where a no-code setup becomes a small amount of code, or a conversation with us.
Metered accounts can stop the Bot. If you pay per output through a Que Meter account, the Bot stops and disables itself when you run out of credits. When you refill the meter, you re-enable the Bot and it picks up where it left off. Every output consumes one credit, including spot checks and replicas. Check your balance before a large job.
URL feeds are a different case. If the data source is a URL feed rather than a sheet, the Bot cannot update the render-status value, because the feed lives on your own system. You would register scripts that update the status at the Post Job, Post Batch and On Bot Disable events, or ready rows will render again. For a person adding rows by hand, a Google Sheet avoids that problem.
The short version
If a person adds rows to a Google Sheet and wants a video to appear, Templater Bot does that without code. Build the template once, give each row a unique id, put render-status in the sheet, enable the Bot, and type ready when a row is correct. Expect a wait of one check interval plus render time, keep the machine running, and plan who watches for error codes. Add a small script only when you need the finished video delivered somewhere. For the full picture of how batches behave, see our guide to batch rendering with Templater, or the Templater page for the editions.
Before you wire this up for real, these are the questions that come up most often.
Frequently Asked Questions
Do I need Templater Bot to trigger a video from a new row?
Yes. Rig and Pro do not run in the background. Pro lets you render or replicate batches from the desktop, but it does not run as a background process. The Bot is the edition that checks the data source on a timer, picks up rows marked ready and renders them without anyone at the keyboard. Our feature comparison lists background versioning and large data sources for Bot only. The free trial includes the features of every edition, so you can test the loop before you decide.
How quickly does a new row become a video?
Not instantly. The Bot checks a Google Sheet every 0.5 minutes by default, and you can lower that to 0.3 minutes, about 18 seconds. After a row is picked up, rendering time depends on your video length, output size, hardware, effects and template design. Render one sample video on a machine like your production machine to estimate it. We do not publish a render-time figure.
Why did my new row not start rendering?
Check the render-status cell first. The Bot only retrieves rows whose value is ready, so a row with an empty cell is not picked up. Then confirm the Bot is enabled, that your sheet has a column literally named render-status, and that the machine can reach Google Drive. If you named your Bot in Preferences, the sheet also needs a bot column, and the row’s cell must match the name.
Can several people add rows at once?
The Bot handles rows by their status. Give every row a unique id or output value, because the Bot overwrites a file that has the same output name. If you want two machines to share the work, name each Bot and assign each row to a Bot in a column called bot.
What happens if the row has bad data or a missing image?
The Bot sets the row to an error code. ERR::MEDIA means a media asset could not be located or imported, and the video may still exist with a problem in it. ERR::AFXHOST means After Effects hit an error. You can also choose in Templater Preferences how missing footage is handled, including using a branded placeholder, which our documentation recommends for smooth batch operation.
Can the finished video be emailed or uploaded automatically?
Yes, but that part takes a script. Event scripts run with Templater Bot and can upload a video, send an email or text message, or write the video’s URL back into the data source. Dataclay provides sample scripts on GitHub and can help you write them. The sheet-to-render path itself needs none.
Can a Zapier connection or a form add the row for me?
Our FAQ says you can use Que as the Templater data source and connect Google Sheets to Que through the Que API or Que’s built-in Zapier integration. That lets another app create the job instead of a person typing. We cover that route in our Zapier article, and Dataclay can help if you want a custom front end.
