---
title: "Import existing setup"
description: "Bring monitors, status pages and incident management you created in the dashboard under OpenTofu or Terraform with import."
---

Every resource supports import. You do not have to start from scratch: create the configuration for what already exists and let `plan` confirm it matches.

## Import block (recommended)

```terraform
import {
  to = uptimeify_website.shop
  id = "42"
}
```

```sh
tofu plan -generate-config-out=generated.tf
```

OpenTofu and Terraform write the configuration of every imported resource into `generated.tf`. Review it, move it where it belongs and run `tofu apply` to complete the import.

## Import command

```sh
tofu import uptimeify_website.shop 42
```

## Which id to use

| Resource | Import id |
| --- | --- |
| Monitors, customers, tags, maintenance windows, notification channels, status pages | numeric id or public id (UUID) |
| Child objects | `<parent_id>/<child_id>`, for example `<status_page_id>/<component_id>` or `<team_id>/<member_id>` |
| [`monitor_tag`](/terraform/resources/monitor_tag) | `<monitor_type>/<monitor_id>/<tag_id>` |
| One per organization (`organization_settings`, `im_org_settings`, `smtp_settings`, `sso_oidc`, ...) | any id, the token's organization is used |

The exact format is on each resource page under **Import**.

## After the import

Write-only secrets (headers, request bodies, passwords, HMAC keys) are never returned by the API and therefore not imported. Set them in the configuration together with their `*_wo_version`, see [Secrets and updates](/terraform/secrets-and-updates).
