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:
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:
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.
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.
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.
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.