Set up the Sym Terraform Provider

Overview

Now that your org is configured and the Slack app is installed, we can set up all the Terraform that will serve as your org's core configurations for Sym.

The Sym Terraform Provider

Sym ships a Terraform Provider that declares your environment, integrations, and other configs, and connects back to our core Runtime. Because of Terraform's flexibility and support for complex variable management, there are numerous ways you could effectively set up your repo.

In these examples, we'll be working off a single directory that contains all the necessary setup:

File Name

Purpose

main.tf

This file contains definitions of all Sym resources needed to create a workflow, as well as configuration for the Sym Terraform Provider.

versions.tf

This is where you'll specify what version of Sym's Terraform Provider you want to use.

terraform.tfvars

This is where you'll start to customize parts of the quickstart to work for your organization by declaring variables to be used throughout the rest of the files.

impl.py

This is where you'll use the Sym SDK to fully customize approval logic.

🚧

This section is somewhat optional.

If you're working off one of our Quickstart Guides, most of this section will be in place for you already. Still, it could be helpful to follow along and make sure all your variables are correctly placed.

Set up the provider

You'll need to add a requirement for Sym to wherever your organization commonly sets up required_providers. For us, that's in versions.tf:

terraform {
  required_providers {
    sym = {
      source  = "terraform.symops.com/symopsio/sym"
      version = ">= 1.11.2, < 2.0.0"
    }
  }
}

Configure the provider

To use the Sym Provider, you'll also need to specify your organization's slug, which will be provided to you when you sign up for Sym. We'll do this by changing the value in terraform.tfvars:

sym_org_slug = "CHANGEME"

The sym_org_slug variable in terraform.tfvars will be used in the provider's configuration in main.tf:

provider "sym" {
  org = var.sym_org_slug
}

Next steps

Next up, we'll be working Terraform. This will involve creating an Integration to connect your Slack workspace and setting up the Sym Runtime and Environment.

  1. Install Sym's Slack app
  2. Set up Sym's Terraform Provider
  3. Configure your Terraform to work with Sym ← up next
  4. Implement your first Flow

Did this page help you?