Why use a custom registry
- Version control your code separate from Tracecat
- Reuse your custom actions in multiple agents and workflows
- Easily update your custom actions across all agents and workflows
Permissions
Custom registry is an organization-level feature and syncs across all workspaces. You must have the “Organization Admin” role to add and manage the custom registry.Installation
Clone the custom registry starter kit
Clone the custom registry starter kit from GitHub.

Add registry to Tracecat
Go to “/actions” page in the workspace -> “Add registry” button -> “Custom registry” in organization settings.Configure the remote repository URL, package name, and allowed Git domains.
The package name is the name of the Python package (e.g. the parent folder named 
custom_actions in the starter kit) in the repo.
Revert changes
Syncing defaults to the latest commit in the remote repository. You can change the commit to sync to using the “Change commit” button.
How custom registry works
When you sync a registry, Tracecat:- Pulls the latest code from the remote repository
- Converts the package and its dependencies into a tarball using
uv - Uploads the tarball to S3-compatible object storage
- Tarballs are stored in the bucket specified in the
TRACECAT__BLOB_STORAGE_BUCKET_REGISTRYenvironment variable
Published workflows run actions synced at the time of publication.
When triggered, the Tracecat executor pulls the pinned version of the platform registry and custom registry tarballs from S3.You must republish a workflow to use the latest platform and custom actions.
Even if there were no changes to the workflow itself.
FAQ
Does Tracecat support self-hosted Git repositories?
Yes. Tracecat works with Gitlab and GitHub Enterprise.Can I rename my custom Python package name?
Yes. The package name from the starter kit iscustom_actions.
To rename it, you’ll need to rename the:
custom_actionsfolder tomy_new_package_name- Project name in
pyproject.tomltomy_new_package_name
Can I rename the git repo?
Yes. You can rename the git repo. It does not need to have the same name as the Python package.How can I add new Python dependencies?
You must specify new dependencies in thedependencies section of the pyproject.toml file.
