Skip to main content
The integration catalog is the set of Nango-maintained functions you can browse and deploy from the dashboard. On a Self-Managed instance, you upload its compiled files to your own object storage. Until you do, templates show up in the dashboard but fail when you run them.
This page is for Self-Managed instances only. If you run BYOC, Nango installs and updates the catalog for you.

Requirements

  • An access token from Nango. The integration catalog repository is private. Ask for a token in your shared Slack channel with Nango or email support@nango.dev.
  • Nango managed image managed-1.6.18 or later.
  • An object storage bucket (S3, GCS or Azure Blob Storage) configured for your instance’s compiled integration files. See Configure object storage.
  • git, node and npm on the machine that builds the catalog.
  • Your cloud provider’s CLI, signed in with write access to the bucket, on the machine that uploads the catalog:

Configure object storage

Nango reads the catalog from the same object store it uses for your deployed functions. Set the variables for one provider on the server, jobs and runner services. If your instance already deploys functions to object storage, these are already set. Also set NANGO_ENTERPRISE=true. See the configuration reference for the full list of variables.
The workloads need permission to read and write objects in the bucket, for example through an IAM role.
Set NANGO_FLAG_PROVIDER=env and NANGO_FEATURE_FLAG_TOOLS_CATALOG=true on the server and jobs services. Once an object store is configured, Nango reads catalog files from it.

Install the catalog

1

Find the matching catalog version

Each Nango image bundles catalog metadata built from one specific commit of the integration-templates repository. The files you upload must come from that same commit, or templates fail at runtime.To find it, clone the Nango repo and check out the commit your image was built from. That commit is the last part of the image tag:
Check out that commit and read the integration-templates commit from the last update to the bundled catalog metadata:
The SHA at the end of the output is the integration-templates commit to use in the next step:
2

Build the catalog at that commit

Clone the integration-templates repository, authenticating with your access token. Check out the commit from step 1 and compile:
This takes several minutes. The script sets its own 8 GB Node heap, so don’t override it. The output goes into integrations/<provider>/build/.
3

Verify the build

The compiled catalog metadata must be byte-identical to the metadata bundled in your image. Compare it with the file in the Nango checkout from step 1:
The two hashes must match. If they differ, return to step 1, confirm you checked out the Nango commit from your image tag, and rebuild.
4

Upload to your bucket

Upload each provider’s folder to the templates-zero/ prefix in your bucket, so that integrations/github/... ends up at templates-zero/github/....
aws s3 sync uploads in parallel. Add --delete to also remove files that no longer exist in the catalog.
Uploads overwrite existing files, so it’s safe to run them again.
5

Verify the install

First, check that a known file exists in your bucket:
Then confirm it works end to end:
  1. In the dashboard, open an integration with templates provided by Nango (see Use the template catalog).
  2. Select an action with source “Nango catalog”.
  3. Run the selected action via the Trigger action API or using the “Test run” button.

Update the catalog

When you upgrade your image, repeat the install steps with the new image tag. Your access token stays valid, so you don’t need to contact Nango again. Templates you already deployed keep the files they were deployed with, so deploy them again to pick up the new version.

Troubleshooting