1. Registry
  2. Packages
  3. Incident Provider
  4. API Docs
  5. CustomField
Viewing docs for incident 7.0.0
published on Friday, Sep 11, 2026 by incident-io
Viewing docs for incident 7.0.0
published on Friday, Sep 11, 2026 by incident-io

    Manage custom fields.

    Custom fields are used to attach metadata to incidents, which you can use when searching for incidents in the dashboard, triggering workflows, building announcement rules or for your own data needs.

    Each field has a type:

    • Single-select, single value selected from a predefined list of options (e.g. Detection Method)
    • Multi-select, as above but you can pick more than one option (e.g. Affected Teams)
    • Text, freeform text field (e.g. Customer ID)
    • Link, link URL that is synced to Slack bookmarks on the incident channel (e.g. External Status Page)
    • Number, integer or fractional numbers (e.g. # Customers Affected)

    We may add more custom field types in the future - we’d love to hear any other types you’d like to use!

    Example - Single-select

    import * as pulumi from "@pulumi/pulumi";
    import * as incident from "@pulumi/incident";
    
    // Single-select: one value from a predefined list of options (e.g. Detection Method).
    // Options are managed separately with incident_custom_field_option.
    const detectionMethod = new incident.CustomField("detection_method", {
        name: "Detection Method",
        description: "How this incident was detected.",
        fieldType: "single_select",
    });
    
    import pulumi
    import pulumi_incident as incident
    
    # Single-select: one value from a predefined list of options (e.g. Detection Method).
    # Options are managed separately with incident_custom_field_option.
    detection_method = incident.CustomField("detection_method",
        name="Detection Method",
        description="How this incident was detected.",
        field_type="single_select")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/incident/v7/incident"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Single-select: one value from a predefined list of options (e.g. Detection Method).
    		// Options are managed separately with incident_custom_field_option.
    		_, err := incident.NewCustomField(ctx, "detection_method", &incident.CustomFieldArgs{
    			Name:        pulumi.String("Detection Method"),
    			Description: pulumi.String("How this incident was detected."),
    			FieldType:   pulumi.String("single_select"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Incident = Pulumi.Incident;
    
    return await Deployment.RunAsync(() => 
    {
        // Single-select: one value from a predefined list of options (e.g. Detection Method).
        // Options are managed separately with incident_custom_field_option.
        var detectionMethod = new Incident.CustomField("detection_method", new()
        {
            Name = "Detection Method",
            Description = "How this incident was detected.",
            FieldType = "single_select",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.incident.CustomField;
    import com.pulumi.incident.CustomFieldArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            // Single-select: one value from a predefined list of options (e.g. Detection Method).
            // Options are managed separately with incident_custom_field_option.
            var detectionMethod = new CustomField("detectionMethod", CustomFieldArgs.builder()
                .name("Detection Method")
                .description("How this incident was detected.")
                .fieldType("single_select")
                .build());
    
        }
    }
    
    resources:
      # Single-select: one value from a predefined list of options (e.g. Detection Method).
      # Options are managed separately with incident_custom_field_option.
      detectionMethod:
        type: incident:CustomField
        name: detection_method
        properties:
          name: Detection Method
          description: How this incident was detected.
          fieldType: single_select
    
    Example coming soon!
    

    Example - Multi-select

    import * as pulumi from "@pulumi/pulumi";
    import * as incident from "@pulumi/incident";
    
    // Multi-select: like single-select, but more than one option can be picked
    // (e.g. Affected Teams). Options are managed separately with
    // incident_custom_field_option.
    const affectedTeams = new incident.CustomField("affected_teams", {
        name: "Affected Teams",
        description: "The teams that are affected by this incident.",
        fieldType: "multi_select",
    });
    
    import pulumi
    import pulumi_incident as incident
    
    # Multi-select: like single-select, but more than one option can be picked
    # (e.g. Affected Teams). Options are managed separately with
    # incident_custom_field_option.
    affected_teams = incident.CustomField("affected_teams",
        name="Affected Teams",
        description="The teams that are affected by this incident.",
        field_type="multi_select")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/incident/v7/incident"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Multi-select: like single-select, but more than one option can be picked
    		// (e.g. Affected Teams). Options are managed separately with
    		// incident_custom_field_option.
    		_, err := incident.NewCustomField(ctx, "affected_teams", &incident.CustomFieldArgs{
    			Name:        pulumi.String("Affected Teams"),
    			Description: pulumi.String("The teams that are affected by this incident."),
    			FieldType:   pulumi.String("multi_select"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Incident = Pulumi.Incident;
    
    return await Deployment.RunAsync(() => 
    {
        // Multi-select: like single-select, but more than one option can be picked
        // (e.g. Affected Teams). Options are managed separately with
        // incident_custom_field_option.
        var affectedTeams = new Incident.CustomField("affected_teams", new()
        {
            Name = "Affected Teams",
            Description = "The teams that are affected by this incident.",
            FieldType = "multi_select",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.incident.CustomField;
    import com.pulumi.incident.CustomFieldArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            // Multi-select: like single-select, but more than one option can be picked
            // (e.g. Affected Teams). Options are managed separately with
            // incident_custom_field_option.
            var affectedTeams = new CustomField("affectedTeams", CustomFieldArgs.builder()
                .name("Affected Teams")
                .description("The teams that are affected by this incident.")
                .fieldType("multi_select")
                .build());
    
        }
    }
    
    resources:
      # Multi-select: like single-select, but more than one option can be picked
      # (e.g. Affected Teams). Options are managed separately with
      # incident_custom_field_option.
      affectedTeams:
        type: incident:CustomField
        name: affected_teams
        properties:
          name: Affected Teams
          description: The teams that are affected by this incident.
          fieldType: multi_select
    
    Example coming soon!
    

    Example - Text

    import * as pulumi from "@pulumi/pulumi";
    import * as incident from "@pulumi/incident";
    
    // Text: a freeform text field (e.g. Customer ID).
    const customerId = new incident.CustomField("customer_id", {
        name: "Customer ID",
        description: "The customer identifier associated with this incident.",
        fieldType: "text",
    });
    
    import pulumi
    import pulumi_incident as incident
    
    # Text: a freeform text field (e.g. Customer ID).
    customer_id = incident.CustomField("customer_id",
        name="Customer ID",
        description="The customer identifier associated with this incident.",
        field_type="text")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/incident/v7/incident"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Text: a freeform text field (e.g. Customer ID).
    		_, err := incident.NewCustomField(ctx, "customer_id", &incident.CustomFieldArgs{
    			Name:        pulumi.String("Customer ID"),
    			Description: pulumi.String("The customer identifier associated with this incident."),
    			FieldType:   pulumi.String("text"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Incident = Pulumi.Incident;
    
    return await Deployment.RunAsync(() => 
    {
        // Text: a freeform text field (e.g. Customer ID).
        var customerId = new Incident.CustomField("customer_id", new()
        {
            Name = "Customer ID",
            Description = "The customer identifier associated with this incident.",
            FieldType = "text",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.incident.CustomField;
    import com.pulumi.incident.CustomFieldArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            // Text: a freeform text field (e.g. Customer ID).
            var customerId = new CustomField("customerId", CustomFieldArgs.builder()
                .name("Customer ID")
                .description("The customer identifier associated with this incident.")
                .fieldType("text")
                .build());
    
        }
    }
    
    resources:
      # Text: a freeform text field (e.g. Customer ID).
      customerId:
        type: incident:CustomField
        name: customer_id
        properties:
          name: Customer ID
          description: The customer identifier associated with this incident.
          fieldType: text
    
    Example coming soon!
    
    import * as pulumi from "@pulumi/pulumi";
    import * as incident from "@pulumi/incident";
    
    // Link: a URL synced to Slack bookmarks on the incident channel
    // (e.g. External Status Page).
    const externalStatusPage = new incident.CustomField("external_status_page", {
        name: "External Status Page",
        description: "Link to the external status page for this incident.",
        fieldType: "link",
    });
    
    import pulumi
    import pulumi_incident as incident
    
    # Link: a URL synced to Slack bookmarks on the incident channel
    # (e.g. External Status Page).
    external_status_page = incident.CustomField("external_status_page",
        name="External Status Page",
        description="Link to the external status page for this incident.",
        field_type="link")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/incident/v7/incident"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Link: a URL synced to Slack bookmarks on the incident channel
    		// (e.g. External Status Page).
    		_, err := incident.NewCustomField(ctx, "external_status_page", &incident.CustomFieldArgs{
    			Name:        pulumi.String("External Status Page"),
    			Description: pulumi.String("Link to the external status page for this incident."),
    			FieldType:   pulumi.String("link"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Incident = Pulumi.Incident;
    
    return await Deployment.RunAsync(() => 
    {
        // Link: a URL synced to Slack bookmarks on the incident channel
        // (e.g. External Status Page).
        var externalStatusPage = new Incident.CustomField("external_status_page", new()
        {
            Name = "External Status Page",
            Description = "Link to the external status page for this incident.",
            FieldType = "link",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.incident.CustomField;
    import com.pulumi.incident.CustomFieldArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            // Link: a URL synced to Slack bookmarks on the incident channel
            // (e.g. External Status Page).
            var externalStatusPage = new CustomField("externalStatusPage", CustomFieldArgs.builder()
                .name("External Status Page")
                .description("Link to the external status page for this incident.")
                .fieldType("link")
                .build());
    
        }
    }
    
    resources:
      # Link: a URL synced to Slack bookmarks on the incident channel
      # (e.g. External Status Page).
      externalStatusPage:
        type: incident:CustomField
        name: external_status_page
        properties:
          name: External Status Page
          description: Link to the external status page for this incident.
          fieldType: link
    
    Example coming soon!
    

    Example - Numeric

    import * as pulumi from "@pulumi/pulumi";
    import * as incident from "@pulumi/incident";
    
    // Numeric: an integer or fractional number (e.g. Customers Affected).
    const customersAffected = new incident.CustomField("customers_affected", {
        name: "Customers Affected",
        description: "How many customers are affected by this incident.",
        fieldType: "numeric",
    });
    
    import pulumi
    import pulumi_incident as incident
    
    # Numeric: an integer or fractional number (e.g. Customers Affected).
    customers_affected = incident.CustomField("customers_affected",
        name="Customers Affected",
        description="How many customers are affected by this incident.",
        field_type="numeric")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/incident/v7/incident"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Numeric: an integer or fractional number (e.g. Customers Affected).
    		_, err := incident.NewCustomField(ctx, "customers_affected", &incident.CustomFieldArgs{
    			Name:        pulumi.String("Customers Affected"),
    			Description: pulumi.String("How many customers are affected by this incident."),
    			FieldType:   pulumi.String("numeric"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Incident = Pulumi.Incident;
    
    return await Deployment.RunAsync(() => 
    {
        // Numeric: an integer or fractional number (e.g. Customers Affected).
        var customersAffected = new Incident.CustomField("customers_affected", new()
        {
            Name = "Customers Affected",
            Description = "How many customers are affected by this incident.",
            FieldType = "numeric",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.incident.CustomField;
    import com.pulumi.incident.CustomFieldArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            // Numeric: an integer or fractional number (e.g. Customers Affected).
            var customersAffected = new CustomField("customersAffected", CustomFieldArgs.builder()
                .name("Customers Affected")
                .description("How many customers are affected by this incident.")
                .fieldType("numeric")
                .build());
    
        }
    }
    
    resources:
      # Numeric: an integer or fractional number (e.g. Customers Affected).
      customersAffected:
        type: incident:CustomField
        name: customers_affected
        properties:
          name: Customers Affected
          description: How many customers are affected by this incident.
          fieldType: numeric
    
    Example coming soon!
    

    Example - Catalog-backed with a fixed filter

    import * as pulumi from "@pulumi/pulumi";
    import * as incident from "@pulumi/incident";
    
    // Catalog-backed fields can offer a restricted set of options, rather than every
    // entry of their catalog type.
    const service = new incident.CatalogType("service", {
        name: "Service",
        description: "All services that we run across our product",
        sourceRepoUrl: "",
    });
    const serviceTier = new incident.CatalogType("service_tier", {
        name: "Service Tier",
        description: "Level of importance for each service",
        sourceRepoUrl: "",
    });
    const serviceServiceTier = new incident.CatalogTypeAttribute("service_service_tier", {
        catalogTypeId: service.id,
        name: "Tier",
        type: serviceTier.typeName,
    });
    const tierOne = new incident.CatalogEntry("tier_one", {
        catalogTypeId: serviceTier.id,
        name: "Tier 1",
        attributeValues: [],
    });
    // Offer only our tier 1 services, on every incident. `fixed_filter` restricts the
    // options to entries whose Tier attribute is one of the listed values - unlike
    // `filter_by`, which follows another custom field's value on the incident.
    const affectedTierOneService = new incident.CustomField("affected_tier_one_service", {
        name: "Affected tier 1 service",
        description: "The tier 1 service that is affected by this incident.",
        fieldType: "single_select",
        catalogTypeId: service.id,
        fixedFilter: {
            catalogAttributeId: serviceServiceTier.id,
            values: [tierOne.id],
        },
    });
    
    import pulumi
    import pulumi_incident as incident
    
    # Catalog-backed fields can offer a restricted set of options, rather than every
    # entry of their catalog type.
    service = incident.CatalogType("service",
        name="Service",
        description="All services that we run across our product",
        source_repo_url="")
    service_tier = incident.CatalogType("service_tier",
        name="Service Tier",
        description="Level of importance for each service",
        source_repo_url="")
    service_service_tier = incident.CatalogTypeAttribute("service_service_tier",
        catalog_type_id=service.id,
        name="Tier",
        type=service_tier.type_name)
    tier_one = incident.CatalogEntry("tier_one",
        catalog_type_id=service_tier.id,
        name="Tier 1",
        attribute_values=[])
    # Offer only our tier 1 services, on every incident. `fixed_filter` restricts the
    # options to entries whose Tier attribute is one of the listed values - unlike
    # `filter_by`, which follows another custom field's value on the incident.
    affected_tier_one_service = incident.CustomField("affected_tier_one_service",
        name="Affected tier 1 service",
        description="The tier 1 service that is affected by this incident.",
        field_type="single_select",
        catalog_type_id=service.id,
        fixed_filter={
            "catalog_attribute_id": service_service_tier.id,
            "values": [tier_one.id],
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/incident/v7/incident"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Catalog-backed fields can offer a restricted set of options, rather than every
    		// entry of their catalog type.
    		service, err := incident.NewCatalogType(ctx, "service", &incident.CatalogTypeArgs{
    			Name:          pulumi.String("Service"),
    			Description:   pulumi.String("All services that we run across our product"),
    			SourceRepoUrl: pulumi.String(""),
    		})
    		if err != nil {
    			return err
    		}
    		serviceTier, err := incident.NewCatalogType(ctx, "service_tier", &incident.CatalogTypeArgs{
    			Name:          pulumi.String("Service Tier"),
    			Description:   pulumi.String("Level of importance for each service"),
    			SourceRepoUrl: pulumi.String(""),
    		})
    		if err != nil {
    			return err
    		}
    		serviceServiceTier, err := incident.NewCatalogTypeAttribute(ctx, "service_service_tier", &incident.CatalogTypeAttributeArgs{
    			CatalogTypeId: service.ID(),
    			Name:          pulumi.String("Tier"),
    			Type:          serviceTier.TypeName,
    		})
    		if err != nil {
    			return err
    		}
    		tierOne, err := incident.NewCatalogEntry(ctx, "tier_one", &incident.CatalogEntryArgs{
    			CatalogTypeId:   serviceTier.ID(),
    			Name:            pulumi.String("Tier 1"),
    			AttributeValues: incident.CatalogEntryAttributeValueArray{},
    		})
    		if err != nil {
    			return err
    		}
    		// Offer only our tier 1 services, on every incident. `fixed_filter` restricts the
    		// options to entries whose Tier attribute is one of the listed values - unlike
    		// `filter_by`, which follows another custom field's value on the incident.
    		_, err = incident.NewCustomField(ctx, "affected_tier_one_service", &incident.CustomFieldArgs{
    			Name:          pulumi.String("Affected tier 1 service"),
    			Description:   pulumi.String("The tier 1 service that is affected by this incident."),
    			FieldType:     pulumi.String("single_select"),
    			CatalogTypeId: service.ID(),
    			FixedFilter: &incident.CustomFieldFixedFilterArgs{
    				CatalogAttributeId: serviceServiceTier.ID(),
    				Values: pulumi.StringArray{
    					tierOne.ID(),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Incident = Pulumi.Incident;
    
    return await Deployment.RunAsync(() => 
    {
        // Catalog-backed fields can offer a restricted set of options, rather than every
        // entry of their catalog type.
        var service = new Incident.CatalogType("service", new()
        {
            Name = "Service",
            Description = "All services that we run across our product",
            SourceRepoUrl = "",
        });
    
        var serviceTier = new Incident.CatalogType("service_tier", new()
        {
            Name = "Service Tier",
            Description = "Level of importance for each service",
            SourceRepoUrl = "",
        });
    
        var serviceServiceTier = new Incident.CatalogTypeAttribute("service_service_tier", new()
        {
            CatalogTypeId = service.Id,
            Name = "Tier",
            Type = serviceTier.TypeName,
        });
    
        var tierOne = new Incident.CatalogEntry("tier_one", new()
        {
            CatalogTypeId = serviceTier.Id,
            Name = "Tier 1",
            AttributeValues = new[] {},
        });
    
        // Offer only our tier 1 services, on every incident. `fixed_filter` restricts the
        // options to entries whose Tier attribute is one of the listed values - unlike
        // `filter_by`, which follows another custom field's value on the incident.
        var affectedTierOneService = new Incident.CustomField("affected_tier_one_service", new()
        {
            Name = "Affected tier 1 service",
            Description = "The tier 1 service that is affected by this incident.",
            FieldType = "single_select",
            CatalogTypeId = service.Id,
            FixedFilter = new Incident.Inputs.CustomFieldFixedFilterArgs
            {
                CatalogAttributeId = serviceServiceTier.Id,
                Values = new[]
                {
                    tierOne.Id,
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.incident.CatalogType;
    import com.pulumi.incident.CatalogTypeArgs;
    import com.pulumi.incident.CatalogTypeAttribute;
    import com.pulumi.incident.CatalogTypeAttributeArgs;
    import com.pulumi.incident.CatalogEntry;
    import com.pulumi.incident.CatalogEntryArgs;
    import com.pulumi.incident.CustomField;
    import com.pulumi.incident.CustomFieldArgs;
    import com.pulumi.incident.inputs.CustomFieldFixedFilterArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            // Catalog-backed fields can offer a restricted set of options, rather than every
            // entry of their catalog type.
            var service = new CatalogType("service", CatalogTypeArgs.builder()
                .name("Service")
                .description("All services that we run across our product")
                .sourceRepoUrl("")
                .build());
    
            var serviceTier = new CatalogType("serviceTier", CatalogTypeArgs.builder()
                .name("Service Tier")
                .description("Level of importance for each service")
                .sourceRepoUrl("")
                .build());
    
            var serviceServiceTier = new CatalogTypeAttribute("serviceServiceTier", CatalogTypeAttributeArgs.builder()
                .catalogTypeId(service.id())
                .name("Tier")
                .type(serviceTier.typeName())
                .build());
    
            var tierOne = new CatalogEntry("tierOne", CatalogEntryArgs.builder()
                .catalogTypeId(serviceTier.id())
                .name("Tier 1")
                .attributeValues()
                .build());
    
            // Offer only our tier 1 services, on every incident. `fixed_filter` restricts the
            // options to entries whose Tier attribute is one of the listed values - unlike
            // `filter_by`, which follows another custom field's value on the incident.
            var affectedTierOneService = new CustomField("affectedTierOneService", CustomFieldArgs.builder()
                .name("Affected tier 1 service")
                .description("The tier 1 service that is affected by this incident.")
                .fieldType("single_select")
                .catalogTypeId(service.id())
                .fixedFilter(CustomFieldFixedFilterArgs.builder()
                    .catalogAttributeId(serviceServiceTier.id())
                    .values(tierOne.id())
                    .build())
                .build());
    
        }
    }
    
    resources:
      # Catalog-backed fields can offer a restricted set of options, rather than every
      # entry of their catalog type.
      service:
        type: incident:CatalogType
        properties:
          name: Service
          description: All services that we run across our product
          sourceRepoUrl: ""
      serviceTier:
        type: incident:CatalogType
        name: service_tier
        properties:
          name: Service Tier
          description: Level of importance for each service
          sourceRepoUrl: ""
      serviceServiceTier:
        type: incident:CatalogTypeAttribute
        name: service_service_tier
        properties:
          catalogTypeId: ${service.id}
          name: Tier
          type: ${serviceTier.typeName}
      tierOne:
        type: incident:CatalogEntry
        name: tier_one
        properties:
          catalogTypeId: ${serviceTier.id}
          name: Tier 1
          attributeValues: []
      # Offer only our tier 1 services, on every incident. `fixed_filter` restricts the
      # options to entries whose Tier attribute is one of the listed values - unlike
      # `filter_by`, which follows another custom field's value on the incident.
      affectedTierOneService:
        type: incident:CustomField
        name: affected_tier_one_service
        properties:
          name: Affected tier 1 service
          description: The tier 1 service that is affected by this incident.
          fieldType: single_select
          catalogTypeId: ${service.id}
          fixedFilter:
            catalogAttributeId: ${serviceServiceTier.id}
            values:
              - ${tierOne.id}
    
    Example coming soon!
    

    Create CustomField Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new CustomField(name: string, args: CustomFieldArgs, opts?: CustomResourceOptions);
    @overload
    def CustomField(resource_name: str,
                    args: CustomFieldArgs,
                    opts: Optional[ResourceOptions] = None)
    
    @overload
    def CustomField(resource_name: str,
                    opts: Optional[ResourceOptions] = None,
                    description: Optional[str] = None,
                    field_type: Optional[str] = None,
                    catalog_type_id: Optional[str] = None,
                    filter_by: Optional[CustomFieldFilterByArgs] = None,
                    fixed_filter: Optional[CustomFieldFixedFilterArgs] = None,
                    group_by_catalog_attribute_id: Optional[str] = None,
                    helptext_catalog_attribute_id: Optional[str] = None,
                    name: Optional[str] = None)
    func NewCustomField(ctx *Context, name string, args CustomFieldArgs, opts ...ResourceOption) (*CustomField, error)
    public CustomField(string name, CustomFieldArgs args, CustomResourceOptions? opts = null)
    public CustomField(String name, CustomFieldArgs args)
    public CustomField(String name, CustomFieldArgs args, CustomResourceOptions options)
    
    type: incident:CustomField
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "incident_custom_field" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args CustomFieldArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args CustomFieldArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args CustomFieldArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args CustomFieldArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args CustomFieldArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var customFieldResource = new Incident.CustomField("customFieldResource", new()
    {
        Description = "string",
        FieldType = "string",
        CatalogTypeId = "string",
        FilterBy = new Incident.Inputs.CustomFieldFilterByArgs
        {
            CatalogAttributeId = "string",
            CustomFieldId = "string",
        },
        FixedFilter = new Incident.Inputs.CustomFieldFixedFilterArgs
        {
            CatalogAttributeId = "string",
            Values = new[]
            {
                "string",
            },
        },
        GroupByCatalogAttributeId = "string",
        HelptextCatalogAttributeId = "string",
        Name = "string",
    });
    
    example, err := incident.NewCustomField(ctx, "customFieldResource", &incident.CustomFieldArgs{
    	Description:   pulumi.String("string"),
    	FieldType:     pulumi.String("string"),
    	CatalogTypeId: pulumi.String("string"),
    	FilterBy: &incident.CustomFieldFilterByArgs{
    		CatalogAttributeId: pulumi.String("string"),
    		CustomFieldId:      pulumi.String("string"),
    	},
    	FixedFilter: &incident.CustomFieldFixedFilterArgs{
    		CatalogAttributeId: pulumi.String("string"),
    		Values: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	GroupByCatalogAttributeId:  pulumi.String("string"),
    	HelptextCatalogAttributeId: pulumi.String("string"),
    	Name:                       pulumi.String("string"),
    })
    
    resource "incident_custom_field" "customFieldResource" {
      lifecycle {
        create_before_destroy = true
      }
      description     = "string"
      field_type      = "string"
      catalog_type_id = "string"
      filter_by = {
        catalog_attribute_id = "string"
        custom_field_id      = "string"
      }
      fixed_filter = {
        catalog_attribute_id = "string"
        values               = ["string"]
      }
      group_by_catalog_attribute_id = "string"
      helptext_catalog_attribute_id = "string"
      name                          = "string"
    }
    
    var customFieldResource = new CustomField("customFieldResource", CustomFieldArgs.builder()
        .description("string")
        .fieldType("string")
        .catalogTypeId("string")
        .filterBy(CustomFieldFilterByArgs.builder()
            .catalogAttributeId("string")
            .customFieldId("string")
            .build())
        .fixedFilter(CustomFieldFixedFilterArgs.builder()
            .catalogAttributeId("string")
            .values("string")
            .build())
        .groupByCatalogAttributeId("string")
        .helptextCatalogAttributeId("string")
        .name("string")
        .build());
    
    custom_field_resource = incident.CustomField("customFieldResource",
        description="string",
        field_type="string",
        catalog_type_id="string",
        filter_by={
            "catalog_attribute_id": "string",
            "custom_field_id": "string",
        },
        fixed_filter={
            "catalog_attribute_id": "string",
            "values": ["string"],
        },
        group_by_catalog_attribute_id="string",
        helptext_catalog_attribute_id="string",
        name="string")
    
    const customFieldResource = new incident.CustomField("customFieldResource", {
        description: "string",
        fieldType: "string",
        catalogTypeId: "string",
        filterBy: {
            catalogAttributeId: "string",
            customFieldId: "string",
        },
        fixedFilter: {
            catalogAttributeId: "string",
            values: ["string"],
        },
        groupByCatalogAttributeId: "string",
        helptextCatalogAttributeId: "string",
        name: "string",
    });
    
    type: incident:CustomField
    properties:
        catalogTypeId: string
        description: string
        fieldType: string
        filterBy:
            catalogAttributeId: string
            customFieldId: string
        fixedFilter:
            catalogAttributeId: string
            values:
                - string
        groupByCatalogAttributeId: string
        helptextCatalogAttributeId: string
        name: string
    

    CustomField Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The CustomField resource accepts the following input properties:

    Description string
    Description of the custom field
    FieldType string
    Type of custom field. Possible values are: single_select, multi_select, text, link, numeric.
    CatalogTypeId string
    For catalog fields, the ID of the associated catalog type
    FilterBy CustomFieldFilterBy
    FixedFilter CustomFieldFixedFilter
    Restrict this catalog-backed field's options to catalog entries whose catalog_attribute_id attribute references one of values. This is the static counterpart to filter_by: rather than following whatever another custom field is set to on the incident, the filter is chosen up front and is the same for every incident. Mutually exclusive with filter_by.
    GroupByCatalogAttributeId string
    For catalog fields, the ID of the attribute used to group catalog entries (if applicable)
    HelptextCatalogAttributeId string
    Which catalog attribute provides helptext for the options
    Name string
    Human readable name for the custom field
    Description string
    Description of the custom field
    FieldType string
    Type of custom field. Possible values are: single_select, multi_select, text, link, numeric.
    CatalogTypeId string
    For catalog fields, the ID of the associated catalog type
    FilterBy CustomFieldFilterByArgs
    FixedFilter CustomFieldFixedFilterArgs
    Restrict this catalog-backed field's options to catalog entries whose catalog_attribute_id attribute references one of values. This is the static counterpart to filter_by: rather than following whatever another custom field is set to on the incident, the filter is chosen up front and is the same for every incident. Mutually exclusive with filter_by.
    GroupByCatalogAttributeId string
    For catalog fields, the ID of the attribute used to group catalog entries (if applicable)
    HelptextCatalogAttributeId string
    Which catalog attribute provides helptext for the options
    Name string
    Human readable name for the custom field
    description string
    Description of the custom field
    field_type string
    Type of custom field. Possible values are: single_select, multi_select, text, link, numeric.
    catalog_type_id string
    For catalog fields, the ID of the associated catalog type
    filter_by object
    fixed_filter object
    Restrict this catalog-backed field's options to catalog entries whose catalog_attribute_id attribute references one of values. This is the static counterpart to filter_by: rather than following whatever another custom field is set to on the incident, the filter is chosen up front and is the same for every incident. Mutually exclusive with filter_by.
    group_by_catalog_attribute_id string
    For catalog fields, the ID of the attribute used to group catalog entries (if applicable)
    helptext_catalog_attribute_id string
    Which catalog attribute provides helptext for the options
    name string
    Human readable name for the custom field
    description String
    Description of the custom field
    fieldType String
    Type of custom field. Possible values are: single_select, multi_select, text, link, numeric.
    catalogTypeId String
    For catalog fields, the ID of the associated catalog type
    filterBy CustomFieldFilterBy
    fixedFilter CustomFieldFixedFilter
    Restrict this catalog-backed field's options to catalog entries whose catalog_attribute_id attribute references one of values. This is the static counterpart to filter_by: rather than following whatever another custom field is set to on the incident, the filter is chosen up front and is the same for every incident. Mutually exclusive with filter_by.
    groupByCatalogAttributeId String
    For catalog fields, the ID of the attribute used to group catalog entries (if applicable)
    helptextCatalogAttributeId String
    Which catalog attribute provides helptext for the options
    name String
    Human readable name for the custom field
    description string
    Description of the custom field
    fieldType string
    Type of custom field. Possible values are: single_select, multi_select, text, link, numeric.
    catalogTypeId string
    For catalog fields, the ID of the associated catalog type
    filterBy CustomFieldFilterBy
    fixedFilter CustomFieldFixedFilter
    Restrict this catalog-backed field's options to catalog entries whose catalog_attribute_id attribute references one of values. This is the static counterpart to filter_by: rather than following whatever another custom field is set to on the incident, the filter is chosen up front and is the same for every incident. Mutually exclusive with filter_by.
    groupByCatalogAttributeId string
    For catalog fields, the ID of the attribute used to group catalog entries (if applicable)
    helptextCatalogAttributeId string
    Which catalog attribute provides helptext for the options
    name string
    Human readable name for the custom field
    description str
    Description of the custom field
    field_type str
    Type of custom field. Possible values are: single_select, multi_select, text, link, numeric.
    catalog_type_id str
    For catalog fields, the ID of the associated catalog type
    filter_by CustomFieldFilterByArgs
    fixed_filter CustomFieldFixedFilterArgs
    Restrict this catalog-backed field's options to catalog entries whose catalog_attribute_id attribute references one of values. This is the static counterpart to filter_by: rather than following whatever another custom field is set to on the incident, the filter is chosen up front and is the same for every incident. Mutually exclusive with filter_by.
    group_by_catalog_attribute_id str
    For catalog fields, the ID of the attribute used to group catalog entries (if applicable)
    helptext_catalog_attribute_id str
    Which catalog attribute provides helptext for the options
    name str
    Human readable name for the custom field
    description String
    Description of the custom field
    fieldType String
    Type of custom field. Possible values are: single_select, multi_select, text, link, numeric.
    catalogTypeId String
    For catalog fields, the ID of the associated catalog type
    filterBy Property Map
    fixedFilter Property Map
    Restrict this catalog-backed field's options to catalog entries whose catalog_attribute_id attribute references one of values. This is the static counterpart to filter_by: rather than following whatever another custom field is set to on the incident, the filter is chosen up front and is the same for every incident. Mutually exclusive with filter_by.
    groupByCatalogAttributeId String
    For catalog fields, the ID of the attribute used to group catalog entries (if applicable)
    helptextCatalogAttributeId String
    Which catalog attribute provides helptext for the options
    name String
    Human readable name for the custom field

    Outputs

    All input properties are implicitly available as output properties. Additionally, the CustomField resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing CustomField Resource

    Get an existing CustomField resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: CustomFieldState, opts?: CustomResourceOptions): CustomField
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            catalog_type_id: Optional[str] = None,
            description: Optional[str] = None,
            field_type: Optional[str] = None,
            filter_by: Optional[CustomFieldFilterByArgs] = None,
            fixed_filter: Optional[CustomFieldFixedFilterArgs] = None,
            group_by_catalog_attribute_id: Optional[str] = None,
            helptext_catalog_attribute_id: Optional[str] = None,
            name: Optional[str] = None) -> CustomField
    func GetCustomField(ctx *Context, name string, id IDInput, state *CustomFieldState, opts ...ResourceOption) (*CustomField, error)
    public static CustomField Get(string name, Input<string> id, CustomFieldState? state, CustomResourceOptions? opts = null)
    public static CustomField get(String name, Output<String> id, CustomFieldState state, CustomResourceOptions options)
    resources:  _:    type: incident:CustomField    get:      id: ${id}
    import {
      to = incident_custom_field.example
      id = "${id}"
    }
    
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    CatalogTypeId string
    For catalog fields, the ID of the associated catalog type
    Description string
    Description of the custom field
    FieldType string
    Type of custom field. Possible values are: single_select, multi_select, text, link, numeric.
    FilterBy CustomFieldFilterBy
    FixedFilter CustomFieldFixedFilter
    Restrict this catalog-backed field's options to catalog entries whose catalog_attribute_id attribute references one of values. This is the static counterpart to filter_by: rather than following whatever another custom field is set to on the incident, the filter is chosen up front and is the same for every incident. Mutually exclusive with filter_by.
    GroupByCatalogAttributeId string
    For catalog fields, the ID of the attribute used to group catalog entries (if applicable)
    HelptextCatalogAttributeId string
    Which catalog attribute provides helptext for the options
    Name string
    Human readable name for the custom field
    CatalogTypeId string
    For catalog fields, the ID of the associated catalog type
    Description string
    Description of the custom field
    FieldType string
    Type of custom field. Possible values are: single_select, multi_select, text, link, numeric.
    FilterBy CustomFieldFilterByArgs
    FixedFilter CustomFieldFixedFilterArgs
    Restrict this catalog-backed field's options to catalog entries whose catalog_attribute_id attribute references one of values. This is the static counterpart to filter_by: rather than following whatever another custom field is set to on the incident, the filter is chosen up front and is the same for every incident. Mutually exclusive with filter_by.
    GroupByCatalogAttributeId string
    For catalog fields, the ID of the attribute used to group catalog entries (if applicable)
    HelptextCatalogAttributeId string
    Which catalog attribute provides helptext for the options
    Name string
    Human readable name for the custom field
    catalog_type_id string
    For catalog fields, the ID of the associated catalog type
    description string
    Description of the custom field
    field_type string
    Type of custom field. Possible values are: single_select, multi_select, text, link, numeric.
    filter_by object
    fixed_filter object
    Restrict this catalog-backed field's options to catalog entries whose catalog_attribute_id attribute references one of values. This is the static counterpart to filter_by: rather than following whatever another custom field is set to on the incident, the filter is chosen up front and is the same for every incident. Mutually exclusive with filter_by.
    group_by_catalog_attribute_id string
    For catalog fields, the ID of the attribute used to group catalog entries (if applicable)
    helptext_catalog_attribute_id string
    Which catalog attribute provides helptext for the options
    name string
    Human readable name for the custom field
    catalogTypeId String
    For catalog fields, the ID of the associated catalog type
    description String
    Description of the custom field
    fieldType String
    Type of custom field. Possible values are: single_select, multi_select, text, link, numeric.
    filterBy CustomFieldFilterBy
    fixedFilter CustomFieldFixedFilter
    Restrict this catalog-backed field's options to catalog entries whose catalog_attribute_id attribute references one of values. This is the static counterpart to filter_by: rather than following whatever another custom field is set to on the incident, the filter is chosen up front and is the same for every incident. Mutually exclusive with filter_by.
    groupByCatalogAttributeId String
    For catalog fields, the ID of the attribute used to group catalog entries (if applicable)
    helptextCatalogAttributeId String
    Which catalog attribute provides helptext for the options
    name String
    Human readable name for the custom field
    catalogTypeId string
    For catalog fields, the ID of the associated catalog type
    description string
    Description of the custom field
    fieldType string
    Type of custom field. Possible values are: single_select, multi_select, text, link, numeric.
    filterBy CustomFieldFilterBy
    fixedFilter CustomFieldFixedFilter
    Restrict this catalog-backed field's options to catalog entries whose catalog_attribute_id attribute references one of values. This is the static counterpart to filter_by: rather than following whatever another custom field is set to on the incident, the filter is chosen up front and is the same for every incident. Mutually exclusive with filter_by.
    groupByCatalogAttributeId string
    For catalog fields, the ID of the attribute used to group catalog entries (if applicable)
    helptextCatalogAttributeId string
    Which catalog attribute provides helptext for the options
    name string
    Human readable name for the custom field
    catalog_type_id str
    For catalog fields, the ID of the associated catalog type
    description str
    Description of the custom field
    field_type str
    Type of custom field. Possible values are: single_select, multi_select, text, link, numeric.
    filter_by CustomFieldFilterByArgs
    fixed_filter CustomFieldFixedFilterArgs
    Restrict this catalog-backed field's options to catalog entries whose catalog_attribute_id attribute references one of values. This is the static counterpart to filter_by: rather than following whatever another custom field is set to on the incident, the filter is chosen up front and is the same for every incident. Mutually exclusive with filter_by.
    group_by_catalog_attribute_id str
    For catalog fields, the ID of the attribute used to group catalog entries (if applicable)
    helptext_catalog_attribute_id str
    Which catalog attribute provides helptext for the options
    name str
    Human readable name for the custom field
    catalogTypeId String
    For catalog fields, the ID of the associated catalog type
    description String
    Description of the custom field
    fieldType String
    Type of custom field. Possible values are: single_select, multi_select, text, link, numeric.
    filterBy Property Map
    fixedFilter Property Map
    Restrict this catalog-backed field's options to catalog entries whose catalog_attribute_id attribute references one of values. This is the static counterpart to filter_by: rather than following whatever another custom field is set to on the incident, the filter is chosen up front and is the same for every incident. Mutually exclusive with filter_by.
    groupByCatalogAttributeId String
    For catalog fields, the ID of the attribute used to group catalog entries (if applicable)
    helptextCatalogAttributeId String
    Which catalog attribute provides helptext for the options
    name String
    Human readable name for the custom field

    Supporting Types

    CustomFieldFilterBy, CustomFieldFilterByArgs

    CatalogAttributeId string
    This must be an attribute of the catalog type of this custom field. It must be an attribute that points to another catalog type (so not a plain string, number, or boolean attribute).
    CustomFieldId string
    This must be the ID of a custom field, which must have values of the same type as the attribute you are filtering by.
    CatalogAttributeId string
    This must be an attribute of the catalog type of this custom field. It must be an attribute that points to another catalog type (so not a plain string, number, or boolean attribute).
    CustomFieldId string
    This must be the ID of a custom field, which must have values of the same type as the attribute you are filtering by.
    catalog_attribute_id string
    This must be an attribute of the catalog type of this custom field. It must be an attribute that points to another catalog type (so not a plain string, number, or boolean attribute).
    custom_field_id string
    This must be the ID of a custom field, which must have values of the same type as the attribute you are filtering by.
    catalogAttributeId String
    This must be an attribute of the catalog type of this custom field. It must be an attribute that points to another catalog type (so not a plain string, number, or boolean attribute).
    customFieldId String
    This must be the ID of a custom field, which must have values of the same type as the attribute you are filtering by.
    catalogAttributeId string
    This must be an attribute of the catalog type of this custom field. It must be an attribute that points to another catalog type (so not a plain string, number, or boolean attribute).
    customFieldId string
    This must be the ID of a custom field, which must have values of the same type as the attribute you are filtering by.
    catalog_attribute_id str
    This must be an attribute of the catalog type of this custom field. It must be an attribute that points to another catalog type (so not a plain string, number, or boolean attribute).
    custom_field_id str
    This must be the ID of a custom field, which must have values of the same type as the attribute you are filtering by.
    catalogAttributeId String
    This must be an attribute of the catalog type of this custom field. It must be an attribute that points to another catalog type (so not a plain string, number, or boolean attribute).
    customFieldId String
    This must be the ID of a custom field, which must have values of the same type as the attribute you are filtering by.

    CustomFieldFixedFilter, CustomFieldFixedFilterArgs

    CatalogAttributeId string
    This must be an attribute of the catalog type of this custom field. It must be an attribute that points to another catalog type (so not a plain string, number, or boolean attribute).
    Values List<string>
    The catalog entry IDs (of the type the attribute points at) that the attribute must reference. The options for this custom field are restricted to entries matching one of these values.
    CatalogAttributeId string
    This must be an attribute of the catalog type of this custom field. It must be an attribute that points to another catalog type (so not a plain string, number, or boolean attribute).
    Values []string
    The catalog entry IDs (of the type the attribute points at) that the attribute must reference. The options for this custom field are restricted to entries matching one of these values.
    catalog_attribute_id string
    This must be an attribute of the catalog type of this custom field. It must be an attribute that points to another catalog type (so not a plain string, number, or boolean attribute).
    values list(string)
    The catalog entry IDs (of the type the attribute points at) that the attribute must reference. The options for this custom field are restricted to entries matching one of these values.
    catalogAttributeId String
    This must be an attribute of the catalog type of this custom field. It must be an attribute that points to another catalog type (so not a plain string, number, or boolean attribute).
    values List<String>
    The catalog entry IDs (of the type the attribute points at) that the attribute must reference. The options for this custom field are restricted to entries matching one of these values.
    catalogAttributeId string
    This must be an attribute of the catalog type of this custom field. It must be an attribute that points to another catalog type (so not a plain string, number, or boolean attribute).
    values string[]
    The catalog entry IDs (of the type the attribute points at) that the attribute must reference. The options for this custom field are restricted to entries matching one of these values.
    catalog_attribute_id str
    This must be an attribute of the catalog type of this custom field. It must be an attribute that points to another catalog type (so not a plain string, number, or boolean attribute).
    values Sequence[str]
    The catalog entry IDs (of the type the attribute points at) that the attribute must reference. The options for this custom field are restricted to entries matching one of these values.
    catalogAttributeId String
    This must be an attribute of the catalog type of this custom field. It must be an attribute that points to another catalog type (so not a plain string, number, or boolean attribute).
    values List<String>
    The catalog entry IDs (of the type the attribute points at) that the attribute must reference. The options for this custom field are restricted to entries matching one of these values.

    Import

    Import is supported using an import block or the pulumi import command:

    The import block can be used with the id attribute, for example:

    terraform

    Import a custom field using its ID

    Replace the ID with a real ID from your incident.io organization

    import {

    to = incident_custom_field.example

    id = “01ABC123DEF456GHI789JKL”

    }

    The pulumi import command can be used, for example:

    #!/bin/bash

    Import a custom field using its ID

    Replace the ID with a real ID from your incident.io organization

    $ pulumi import incident:index/customField:CustomField example 01ABC123DEF456GHI789JKL
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    incident incident-io/terraform-provider-incident
    License
    Notes
    This Pulumi package is based on the incident Terraform Provider.
    Viewing docs for incident 7.0.0
    published on Friday, Sep 11, 2026 by incident-io

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial