Introduction - Development & API

Automation with actions & events

Automation enables you to speed through certain tasks in ftrack that can take a long time to achieve manually. It removes or reduces the time spent on tedious tasks, lets your coworkers focus on more creative tasks, and reduces the risk of human error. As such, automation is an important part of your ftrack pipeline to get right!

You can build most automation scripts using the ftrack API.

Automations are categorized into three different groups:

  • Actions - User-triggered scripts that perform a piece of work. Actions are typically written with the ftrack Python API client and present a user interface to the user. This interface can either be a form or a custom JavaScript-based web widget.

Example: Run a custom report, move files on storage, open an application using ftrack Connect.

  • Event listeners - Most changes in ftrack trigger an event, such as status changes, project creation, and assignments. You can set up a script to listen to these events and react accordingly using our event system.
Examples: Send an email upon completion of all tasks, create a folder on disk when you start a new project, sync with an external system based on changes in ftrack.
  • Scheduled scripts - A traditional and simple yet powerful way of extending a system. Depending on the platform and infrastructure, scheduled scripts can be as simple as setting up a CRON job or a scheduled task in Windows to run a script that uses the ftrack API to automate tasks.
Examples: Send a nightly report email to management, archive data on your storage system based on ftrack statuses.


Typically automation scripts in the form of Actions and event listeners run either as a plugin to the ftrack Connect service or somewhere on your company's infrastructure (perhaps a VM or a Docker). We recommend using a system where the script automatically restarts if it were to error out.

Tip: See more:


Storage locations

Use ftrack to orchestrate and track assets on your digital asset management (DAM) system, whether a simple NAS on your network or a more sophisticated solution. 

ftrack achieves this via a concept known as “storage locations”. Registering an asset file in ftrack is called Publishing and results in a new asset version.

You can have one or several storage locations representing different types of storage across multiple sites if necessary.

Configure a storage scenario

By default, assets are published to the "ftrack.unmanaged" location, which means that files are not touched and paths are just recorded at components as they are.

By setting up a storage scenario, or registering a managed location in general, publishing via API, Connect, and DCC app integrations will cause files to be moved based on the registered Structure (default: ftrack_api.structure.standard) and Accessor (default: ftrack_api.accessor.disk) to its correct location upon publish.

ftrack comes with support for disk-based storage location..

If you have traditional disk-based storage – for example, a network mounted NAS – it is possible to configure that using the centralized storage scenario.

Building your own custom location plugins

If you want more control over how file paths are generated (Structure API plugin) or wish to use custom storage like Amazon S3, Dropbox or FTP, etc. (Accessor API plugin), it is possible to develop a location plugin to the Python API.


See more:


For developers:


Further customization and API

If you want to really dive in with ftrack customization, a good point to start is our developer hub, where you can find a whole load of useful links. You should also check out our forum, where a lot of information is posted and discussed by real developers using the platform.

To further customize the ftrack web UI experience, you can write your own JavaScript widgets. You can use these to create custom dashboards in ftrack, available both from inside Projects and the Overview page.

ftrack’s integrations with other applications are open-source, and you can find them on our Github page. Another useful resource is the ftrack recipes repository, which you can use for reference or to copy code snippets.

You can find documentation for our open API endpoint in the following articles, but for ease of use, we provide API clients for JavaScript and Python.


See more:

Was this article helpful?
0 out of 0 found this helpful

Articles in this section