Adding Entries to Service Catalog



Datadog Service Catalog is a centralized hub for your development teams to discover and understand critical components in your runtime envrionments. If you are using products that provide application performance telemetries such as APM, USM, and RUM, you can take advantage of the auto-discovery feature. If not, you can create your Service Catalog based on your existing knowledge base (with open-source solutions like Backstage or managed solutions like ServiceNow) or create entries from service tags from other Datadog products like infrastructure monitoring and Log Management.

Automatic service discovery

Datadog Service Catalog includes both eBPF-based autodiscovery with Universal Service Monitoring and distributed tracing based detection with APM. RUM applications are included in the Service Catalog as well. If you are using any of these products, your catalog is pre-populated with entries.

Opt in to the private beta!

Datadog automatically discovers the dependencies of instrumented services, including databases or third-party APIs, even if the dependency hasn't been instrumented. The Service Catalog lists these as separate entries. To differentiate auto-detected components from instrumented services, you can request access to the private beta for inferred services.

Request Access

Create user-defined services

To add your own services to Service Catalog, you can either manually add them by creating Service Definitions through the API or GitHub integration or import them from existing sources like ServiceNow or Backstage. These services are by default not associated with any Datadog telemetry, but you can link telemetries from Datadog or external sources manually using service.datadog.yaml files.

To create a user-defined service, name your service in the dd-service field in a service.datadog.yaml file at the root of the repository, using one of the supported metadata schema versions. For example:



schema-version: v2.1
dd-service: my-unmonitored-cron-job
team: shopist
 - type: slack
application: shopist
description: important cron job for shopist backend
tier: tier1
lifecycle: production
 - name: Common Operations
   type: runbook
 - name: Disabling Deployments
   type: runbook
tags: []
External Resources (Optional)

You can register multiple services in one YAML file by separating each definition with three dashes (---).

Import data from other sources


Service panel highlighting backstage metadata, links and definition

If you already have data or services registered in Backstage, you can import these services into Datadog directly.

If you use API or Terraform, replace the YAMLs in your requests.

If you use GitHub integration, directly save your Backstage YAMLs to a repo with Datadog read permission. Datadog scans for files named catalog-info.yaml located at the root folder of a repo.

Upon import, the following occurs:

  • Datadog only recognizes kind:component in Backstage YAMLs as services
  • gets mapped to dd-service
  • metadata.namespace gets mapped to a custom tag with the format namespace:${metadata.namespace}
  • spec.lifecycle gets mapped to lifecycle
  • spec.owner gets mapped to team
  • metadata.links gets mapped to links
    • The annotation maps to a link with type=repo and url=${}
  • metadata.description gets mapped to description
  • spec.system gets mapped to application
  • Other spec values get mapped to custom tags


You can populate your Datadog Service Catalog with services from your ServiceNow CMDB by using the Service Ingestion feature in the Datadog-ServiceNow integration.

Manual Service Discovery through other Datadog telemetries

To discover additional services through existing Datadog telemetry such as infrastructure metrics, navigate to the Setup & Config tab on the top of the page and click on the Import Entries tab. You can import services from other Datadog telemetry containing the DD_SERVICE tag.

Import Entries tab in the Service Catalog setup and configuration section

After you have imported some entries, they appear in the Explore tab. Entries may expire unless you add metadata such as the owner or contacts by using the API or the GitHub integration.

To remove your imported services from the default Explore view, click Clear Previously Imported Services. This removes all services that do not have metadata or do not have APM, Universal Service Monitoring (USM), or Real User Monitoring (RUM) telemetry.

Confirm the deletion of previously imported services in the Service Catalog setup and configuration section

Further reading