⚠️ Experimental — Manages the dedicated Guild Microsoft Teams tenant connection for the provider workspace_id. Requires a workspace scope. Entra tenants can be connected to multiple workspaces, but Teams channel claims are exclusive to one workspace. Does not manage sg_guild_platform; do not also configure Teams through that resource for the same workspace. Creation refuses an existing connection instead of adopting or overwriting it. A 409 (tenant/channel claim conflict) is never adopted. The password is write-only and retained in sensitive Terraform state. Import is not supported because Guild does not return the password; disconnect an existing connection deliberately before managing it here.
# Set provider workspace_id to the target workspace. Register an Azure Bot
# with these Entra tenant and Microsoft App IDs before connecting it to Guild.
# Do not also manage Teams for this workspace with sg_guild_platform.
# WARNING: The write-only app_password stays in sensitive Terraform state;
# supply it from a secure variable source and protect the state backend.
resource "sg_teams_connection" "example" {
tenant_id = "11111111-1111-4111-8111-111111111111" # placeholder Entra tenant UUID
app_id = "22222222-2222-4222-8222-222222222222" # placeholder Azure Bot App ID
app_password = var.teams_bot_password
}
variable "teams_bot_password" {
description = "Placeholder Azure Bot client secret; supply securely, never in version control."
type = string
sensitive = true
}
# Configure the Azure Bot messaging endpoint with sg_teams_connection.example.event_url.
# A conflicting/existing connection is not adopted; importing the write-only password is unsupported.
Not supported. Guild never returns the Azure Bot password, so an imported connection cannot be fully reconstructed. Use one managing configuration per workspace; disconnect an existing connection deliberately before creating this resource.
Unlike sg_guild_platform, this resource manages the workspace’s dedicated Teams tenant connection and Azure Bot credentials. A tenant can serve multiple workspaces, but channel claims remain exclusive. workspace_id is required; a different existing connection is never silently adopted. The app password remains in Terraform state even though Guild never returns it.
app_id (String) Nonempty Microsoft App ID of the Azure Bot. Changing it replaces this connection.app_password (String, Sensitive) Azure Bot client secret. Write-only: Guild never returns it; changing it rotates the credential. Stored in sensitive Terraform state.tenant_id (String) Entra tenant UUID owning the Azure Bot. Changing it replaces this workspace connection; a tenant may be shared across workspaces.event_url (String) Guild messaging endpoint to configure on the Azure Bot registration.id (String) Workspace ID of the connected Guild organization.