Skip to content

mixpanel_custom_events (Data Source)

Lists every Mixpanel custom event in a project — use it to discover custom event IDs and to bulk-import with for_each. See also mixpanel_custom_event data source and mixpanel_custom_event resource.

Example Usage

data "mixpanel_custom_events" "all" {
  project_id = 1234567
}

Returns ids (list of raw custom event IDs) and import_ids (list of PROJECT_ID:CUSTOMEVENT_ID composites ready to feed for_each import blocks). See the import guide for the bulk-import pattern.

Bulk import with for_each

Adopt every custom event in the project in one pass: the list data source's import_ids feed a for_each import block, and -generate-config-out scaffolds each resource body for review before you apply.

data "mixpanel_custom_events" "all" {}

# One import per custom event. Both for_each iterate import_ids, so the import block
# and the resource address share the same instance key.
import {
  for_each = toset(data.mixpanel_custom_events.all.import_ids)
  to       = mixpanel_custom_event.this[each.key]
  id       = each.value
}

resource "mixpanel_custom_event" "this" {
  for_each = toset(data.mixpanel_custom_events.all.import_ids)
  # Body scaffolded by `terraform plan -generate-config-out=generated.tf`,
  # then reviewed and edited before apply.
}

Run terraform plan -generate-config-out=generated.tf, review the generated configuration, then terraform apply to import every custom event. Set project_id on the data source to target a non-default project. See the import guide for gotchas (write-only fields, normalization drift).

Schema

Optional

  • project_id (String) Project id. Falls back to the provider default project.

Read-Only

  • ids (List of String) Raw ids of every custom_event in the project.
  • import_ids (List of String) <project_id>:<id> composite import ids for every custom_event.