Skip to content
Fides Configuration
Custom Integrations

Custom Integration Templates

Fides can define custom integration templates during runtime using integration template uploads. This feature is available to admin users from the System > Integrations tab.

A screenshot showing the integrations tab of a system named Planet Express.

Requirements

An integration template is uploaded to Fides in the form of a zip file. This zip file must be created manually outside of Fides and include the following:

  • SaaS config (required) file must end in config.yml
  • Dataset (required) file must end in dataset.yml

Both the SaaS config and dataset must have a fides_key with a value of <instance_fides_key>. Refer to the docs for guidance on how to write a SaaS config and dataset.

You can optionally also include the following in the zip file:

  • Icon (optional) An svg icon to be used in the UI to represent your custom integration

Upload integration template

Clicking the Upload integration button will present you with a modal to upload your custom integration templates. From here, you can click the drop zone to open the file selector or drag and drop your custom integration template zip file.

A screenshot showing the click or drag to upload custom integration modal.

If the template passes validation, your new integration template will be saved and available for use.

A screenshot of an uploaded integration called Planet Express is visible in the Search Integrations dropdown. A screenshot of the configuration options that were added to the example integration Planet Express after having selected Planet Express in the Search Integration dropdown.

Behind the scenes

  • The SaaS config and dataset are validated to ensure proper formatting and compliance with the Fides system requirements.
  • The files in the custom integration template are written to the custom_connector_template table in the Fides database to be available between server restarts.

The replaceable flag

The SaaS config has a field called replaceable. This indicates that the custom integration template created from this SaaS config can be replaced by any updates to the official connector templates provided by Fides.

If an integration is not marked as replaceable, it will be treated as a custom integration template that deviates from the official Fides version. In either case, the custom integration templates will hide the official versions of the integration template with a matching type.

saas_config:
  fides_key: <instance_fides_key>
  name: Zendesk
  type: zendesk
  description: A sample schema representing the Zendesk integration for Fides
  version: 0.0.1
  replaceable: True