Skip to main content

Set up All Quiet Terraform Provider

Open the latest version of the All Quiet Terraform Provider.
  1. Click on Use Provider.
  2. Copy the code and paste it into your terraform configuration file. If you haven’t set up a terraform file yet, follow the instructions on Terraform’s website.
  3. Run terraform init in your terminal.
To use our Terraform provider, you need to create an API Key, next.

Create API Key

Creating an organization API key requires you to be the Organization Owner or Billable User. To set up an Organization, please follow the related documentation. Use an organization API key, not a personal access token — Terraform acts as the organization, not as a person.
The account that creates the Organization cannot be provisioned via Terraform. Therefore, we recommend to create the Organization with a root user that is not bound to a specific employee, like admin@allquiet.app. This way, you ensure all “real” on-call users and employee accounts can be provisioned. If you already set up the Org with your personal account, you can change your account’s email address via the Web app on /app/account to a root user email and later provision your personal email and account via Terraform.
Open our All Quiet Terraform Provider Documentation.
  1. Copy the code snippet and paste it into your configuration file.
  2. In the file, set your api_region depending on your organization’s data storage region.
  3. Next, you need to generate an organization API key.
Generating the API key has to be done in the All Quiet Web App. Afterwards, you can set up everything via our Terraform Provider.
  1. In the Web App, open Organizations.
  2. Select the correct Organization and click API Keys.
Click + Create API Key.
  1. Add a Display Name, optional expiry, and an optional IP Filter (public IPs or CIDR ranges; private/local IPs are not allowed).
  2. Scope the key to the resources and permissions Terraform needs (for example Teams, Users, Integrations, On-Call). Leave Unrestricted resources off unless you intentionally want full read and write.
  3. Optionally scope to specific teams or organizations.
After creating the key, copy it, and paste it into your Terraform configuration as your_api_key.
Congrats, you’re good to go and can use All Quiet via Terraform!

All Quiet Resources in Terraform

Please find the documentation of our resources attached.
To learn more about Terraform commands, please check their tutorials.

Provisioned Resources Cannot Be Edited Via Web App

The All Quiet Terraform provider always marks resources as provisioned (UI-locked). To ensure that the resources managed by your Terraform provider stay in sync with your setup, we lock provisioned resources within the Web App. This means these resources cannot be edited or deleted directly through the Web App’s interface.
Creates and updates via the Public API (organization API keys or personal access tokens) don’t automatically lock resources by default. Terraform is the exception: it always locks. Personal access tokens cannot change already provisioned resources.
Provisioned resources are marked with an icon, and hovering over it will display a message explaining why the resource is locked and cannot be modified via the Web App. Our Terraform provider is designed to help you configure and manage your standard setup seamlessly. However, temporary changes — such as on-call schedule overrides or maintenance windows — will always be able to be added via the Web’s interface.

Find Provisioned Users in All Quiet

To see the users currently provisioned via Terraform in All Quiet,
  1. Select your Organization
  2. Open the Associated Users tab. Here, you can see all users of your organization.
  3. Users provisioned via Terraform can be identified by Source = TF
If you provision the phone numbers of your users via Terraform, they still have to confirm their phone number via notification settings.