> For the complete documentation index, see llms.txt.
Skip to main content

Check out Port for yourself ➜ 

Create a custom integration

Port allows you to create custom integrations to ingest data from any tool or platform. You can model the data in Port any way you like, and ingest data using one of the supported methods described in this page.

Why create a custom integration?​

  • The tool you want to integrate with is not yet available in our integrations library.
  • You wish to create your own data model and/or ingest data using a different method than the one provided in our integrations.
  • You wish to integrate Port with an internal tool in your organization.

How to create a custom integration​

Generally, integrating a platform/tool with Port consists of 3 steps:

Custom integration process for creating a Port data model, sending data through IaC, webhooks, or the API, and mapping it into blueprints

1. Define your data model​

  • Define how your data will be represented in Port, by creating one or more blueprints and their properties.
  • Determine the relationships between your new blueprints and other data models in your catalog, using relations.

2. Ingest data to catalog​

Use one of the supported methods to ingest data from your tool into Port:

3. Configure the integration​

  • When using a webhook, the last step is to configure the integration's mapping, in order to tell your integration where to find the data in your tool, and how to map it to your blueprint/s.
  • When using Port's API, there is no need to configure mapping. Since you are directly interacting with the software catalog, the mapping is done as part of the ingestion process.

Choose an Ocean approach​

Most of Port's integrations were developed using the Ocean framework.
Ocean is an open-source framework that simplifies connecting external tools to Port.

Use the no-code Ocean custom integration when you can describe the API with endpoints, auth, and JQ mapping. Use a custom-coded Ocean integration when you need custom Python logic for auth, pagination, live events, or actions.

To contribute a public integration to the community, see the Ocean repository contributing guide.