Dash0 Raises $110M Series B at $1B Valuation

Last updated: July 23, 2026

dash0_team

Terraform resource for Dash0 teams — declaratively manage the technical name, display attributes, and membership of a team via the TeamDefinitionV1Alpha1 CRD envelope.

Manages a Dash0 Team. Teams group organization members so alert notifications, dashboards, and other assets can be attributed to a shared owner. Teams are organization-level resources and are not scoped to a dataset.

Membership in spec.members accepts either the member's email address or their internal Dash0 id (the dash0.com/id label value returned by the Members API, e.g. user_01ABC...). Emails are matched case-insensitively and translated to internal ids during reconciliation on the server. The provider normalizes server responses back to email addresses for legibility, so writing emails and refreshing state produces no drift.

Only metadata.labels and metadata.annotations under the dash0.com/* namespace are persisted by the Dash0 API. Any custom labels or annotations you set are silently dropped on write; the provider surfaces this as a plan-time warning via ValidateConfig so the discard is visible before apply.

Example Usage

terraform
1234567891011121314151617181920212223242526272829303132333435363738
# Manage a Dash0 team declaratively. Teams group organization members so
# alerts, dashboards, and other assets can be attributed to a shared owner.
# Teams are organization-level resources (no dataset).
#
# Members can be referenced by email address (matched case-insensitively
# against organization members) or by internal Dash0 id (the `dash0.com/id`
# value returned by the Members API). Email references are the recommended
# style because they are legible in diffs and reviews.
resource "dash0_team" "backend" {
team_yaml = <<-YAML
apiVersion: dash0.com/v1alpha1
kind: Dash0Team
metadata:
name: backend-team
spec:
display:
name: Backend Team
description: Owns backend services and the data platform.
color:
from: "#6366F1"
to: "#8B5CF6"
members:
- alice@example.com
- bob@example.com
YAML
}
# Expose the server-assigned team id when other resources need to reference
# the team by its raw UUID.
output "backend_team_id" {
value = dash0_team.backend.id
}
# You can also load the YAML definition from a file:
#
# resource "dash0_team" "backend" {
# team_yaml = file("${path.module}/teams/backend-team.yaml")
# }

Schema

Required

  • team_yaml (String) The team definition in YAML format, following the Dash0Team CRD envelope: apiVersion: dash0.com/v1alpha1, kind: Dash0Team, metadata.name for the technical name, and spec.display plus spec.members for the human-facing attributes and membership. Setting apiVersion explicitly is recommended so the configuration pins to the current schema and does not silently migrate if a future schema version ships. Server-managed metadata fields (dash0.com/id, dash0.com/source, dash0.com/created-at, dash0.com/updated-at) are stripped from the state on read; the provider stamps dash0.com/origin from the origin attribute on write.

Read-Only

  • id (String) The server-assigned UUID of the team, resolved by the provider after creation. Reference this value from other resources that need the raw team id.
  • origin (String) A unique identifier for the team, automatically generated by the provider on creation. Used to reference the team for updates, reads, deletes, and imports.

Import

Import is supported using the following syntax:

The terraform import command can be used, for example:

shell
12345
#!/bin/bash
# Teams are organization-scoped, so the import ID is a bare identifier — no
# dataset prefix. Both the provider-generated origin (tf_-prefixed) and the
# raw team id (server-assigned UUID) are accepted; the example uses an origin.
terraform import dash0_team.backend tf_existing-team-origin