1. Packages
  2. Discord Provider
  3. API Docs
  4. ServerOnboarding
discord 2.3.0 published on Saturday, Jan 24, 2026 by lucky3028
discord logo
discord 2.3.0 published on Saturday, Jan 24, 2026 by lucky3028

    Manages server onboarding configuration. Onboarding allows new members to customize their experience by answering questions that automatically assign roles and grant channel access. Requires at least 1 default channel.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as discord from "@pulumi/discord";
    
    const example = new discord.ServerOnboarding("example", {
        serverId: serverId,
        enabled: true,
        mode: 1,
        defaultChannelIds: [general.id],
        prompts: [
            {
                title: "What are your interests?",
                type: 0,
                singleSelect: false,
                required: true,
                inOnboarding: true,
                options: [
                    {
                        title: "Gaming",
                        description: "Access gaming channels and get the gamer role",
                        emojiName: "🎮",
                        channelIds: [gaming.id],
                        roleIds: [gamer.id],
                    },
                    {
                        title: "Development",
                        description: "Join development discussion channels",
                        emojiName: "💻",
                        channelIds: [
                            devChat.id,
                            codeHelp.id,
                        ],
                        roleIds: [developer.id],
                    },
                    {
                        title: "Community",
                        description: "Join general community channels",
                        emojiName: "❤️",
                        channelIds: [community.id],
                    },
                ],
            },
            {
                title: "What is your experience level?",
                type: 1,
                singleSelect: true,
                required: false,
                inOnboarding: true,
                options: [
                    {
                        title: "Beginner",
                        description: "New to the community",
                        roleIds: [beginner.id],
                    },
                    {
                        title: "Intermediate",
                        description: "Some experience",
                        roleIds: [intermediate.id],
                    },
                    {
                        title: "Expert",
                        description: "Experienced member",
                        roleIds: [expert.id],
                    },
                ],
            },
        ],
    });
    
    import pulumi
    import pulumi_discord as discord
    
    example = discord.ServerOnboarding("example",
        server_id=server_id,
        enabled=True,
        mode=1,
        default_channel_ids=[general["id"]],
        prompts=[
            {
                "title": "What are your interests?",
                "type": 0,
                "single_select": False,
                "required": True,
                "in_onboarding": True,
                "options": [
                    {
                        "title": "Gaming",
                        "description": "Access gaming channels and get the gamer role",
                        "emoji_name": "🎮",
                        "channel_ids": [gaming["id"]],
                        "role_ids": [gamer["id"]],
                    },
                    {
                        "title": "Development",
                        "description": "Join development discussion channels",
                        "emoji_name": "💻",
                        "channel_ids": [
                            dev_chat["id"],
                            code_help["id"],
                        ],
                        "role_ids": [developer["id"]],
                    },
                    {
                        "title": "Community",
                        "description": "Join general community channels",
                        "emoji_name": "❤️",
                        "channel_ids": [community["id"]],
                    },
                ],
            },
            {
                "title": "What is your experience level?",
                "type": 1,
                "single_select": True,
                "required": False,
                "in_onboarding": True,
                "options": [
                    {
                        "title": "Beginner",
                        "description": "New to the community",
                        "role_ids": [beginner["id"]],
                    },
                    {
                        "title": "Intermediate",
                        "description": "Some experience",
                        "role_ids": [intermediate["id"]],
                    },
                    {
                        "title": "Expert",
                        "description": "Experienced member",
                        "role_ids": [expert["id"]],
                    },
                ],
            },
        ])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/discord/v2/discord"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := discord.NewServerOnboarding(ctx, "example", &discord.ServerOnboardingArgs{
    			ServerId: pulumi.Any(serverId),
    			Enabled:  pulumi.Bool(true),
    			Mode:     pulumi.Float64(1),
    			DefaultChannelIds: pulumi.StringArray{
    				general.Id,
    			},
    			Prompts: discord.ServerOnboardingPromptArray{
    				&discord.ServerOnboardingPromptArgs{
    					Title:        pulumi.String("What are your interests?"),
    					Type:         pulumi.Float64(0),
    					SingleSelect: pulumi.Bool(false),
    					Required:     pulumi.Bool(true),
    					InOnboarding: pulumi.Bool(true),
    					Options: discord.ServerOnboardingPromptOptionArray{
    						&discord.ServerOnboardingPromptOptionArgs{
    							Title:       pulumi.String("Gaming"),
    							Description: pulumi.String("Access gaming channels and get the gamer role"),
    							EmojiName:   pulumi.String("🎮"),
    							ChannelIds: pulumi.StringArray{
    								gaming.Id,
    							},
    							RoleIds: pulumi.StringArray{
    								gamer.Id,
    							},
    						},
    						&discord.ServerOnboardingPromptOptionArgs{
    							Title:       pulumi.String("Development"),
    							Description: pulumi.String("Join development discussion channels"),
    							EmojiName:   pulumi.String("💻"),
    							ChannelIds: pulumi.StringArray{
    								devChat.Id,
    								codeHelp.Id,
    							},
    							RoleIds: pulumi.StringArray{
    								developer.Id,
    							},
    						},
    						&discord.ServerOnboardingPromptOptionArgs{
    							Title:       pulumi.String("Community"),
    							Description: pulumi.String("Join general community channels"),
    							EmojiName:   pulumi.String("❤️"),
    							ChannelIds: pulumi.StringArray{
    								community.Id,
    							},
    						},
    					},
    				},
    				&discord.ServerOnboardingPromptArgs{
    					Title:        pulumi.String("What is your experience level?"),
    					Type:         pulumi.Float64(1),
    					SingleSelect: pulumi.Bool(true),
    					Required:     pulumi.Bool(false),
    					InOnboarding: pulumi.Bool(true),
    					Options: discord.ServerOnboardingPromptOptionArray{
    						&discord.ServerOnboardingPromptOptionArgs{
    							Title:       pulumi.String("Beginner"),
    							Description: pulumi.String("New to the community"),
    							RoleIds: pulumi.StringArray{
    								beginner.Id,
    							},
    						},
    						&discord.ServerOnboardingPromptOptionArgs{
    							Title:       pulumi.String("Intermediate"),
    							Description: pulumi.String("Some experience"),
    							RoleIds: pulumi.StringArray{
    								intermediate.Id,
    							},
    						},
    						&discord.ServerOnboardingPromptOptionArgs{
    							Title:       pulumi.String("Expert"),
    							Description: pulumi.String("Experienced member"),
    							RoleIds: pulumi.StringArray{
    								expert.Id,
    							},
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Discord = Pulumi.Discord;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Discord.ServerOnboarding("example", new()
        {
            ServerId = serverId,
            Enabled = true,
            Mode = 1,
            DefaultChannelIds = new[]
            {
                general.Id,
            },
            Prompts = new[]
            {
                new Discord.Inputs.ServerOnboardingPromptArgs
                {
                    Title = "What are your interests?",
                    Type = 0,
                    SingleSelect = false,
                    Required = true,
                    InOnboarding = true,
                    Options = new[]
                    {
                        new Discord.Inputs.ServerOnboardingPromptOptionArgs
                        {
                            Title = "Gaming",
                            Description = "Access gaming channels and get the gamer role",
                            EmojiName = "🎮",
                            ChannelIds = new[]
                            {
                                gaming.Id,
                            },
                            RoleIds = new[]
                            {
                                gamer.Id,
                            },
                        },
                        new Discord.Inputs.ServerOnboardingPromptOptionArgs
                        {
                            Title = "Development",
                            Description = "Join development discussion channels",
                            EmojiName = "💻",
                            ChannelIds = new[]
                            {
                                devChat.Id,
                                codeHelp.Id,
                            },
                            RoleIds = new[]
                            {
                                developer.Id,
                            },
                        },
                        new Discord.Inputs.ServerOnboardingPromptOptionArgs
                        {
                            Title = "Community",
                            Description = "Join general community channels",
                            EmojiName = "❤️",
                            ChannelIds = new[]
                            {
                                community.Id,
                            },
                        },
                    },
                },
                new Discord.Inputs.ServerOnboardingPromptArgs
                {
                    Title = "What is your experience level?",
                    Type = 1,
                    SingleSelect = true,
                    Required = false,
                    InOnboarding = true,
                    Options = new[]
                    {
                        new Discord.Inputs.ServerOnboardingPromptOptionArgs
                        {
                            Title = "Beginner",
                            Description = "New to the community",
                            RoleIds = new[]
                            {
                                beginner.Id,
                            },
                        },
                        new Discord.Inputs.ServerOnboardingPromptOptionArgs
                        {
                            Title = "Intermediate",
                            Description = "Some experience",
                            RoleIds = new[]
                            {
                                intermediate.Id,
                            },
                        },
                        new Discord.Inputs.ServerOnboardingPromptOptionArgs
                        {
                            Title = "Expert",
                            Description = "Experienced member",
                            RoleIds = new[]
                            {
                                expert.Id,
                            },
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.discord.ServerOnboarding;
    import com.pulumi.discord.ServerOnboardingArgs;
    import com.pulumi.discord.inputs.ServerOnboardingPromptArgs;
    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) {
            var example = new ServerOnboarding("example", ServerOnboardingArgs.builder()
                .serverId(serverId)
                .enabled(true)
                .mode(1.0)
                .defaultChannelIds(general.id())
                .prompts(            
                    ServerOnboardingPromptArgs.builder()
                        .title("What are your interests?")
                        .type(0.0)
                        .singleSelect(false)
                        .required(true)
                        .inOnboarding(true)
                        .options(                    
                            ServerOnboardingPromptOptionArgs.builder()
                                .title("Gaming")
                                .description("Access gaming channels and get the gamer role")
                                .emojiName("🎮")
                                .channelIds(gaming.id())
                                .roleIds(gamer.id())
                                .build(),
                            ServerOnboardingPromptOptionArgs.builder()
                                .title("Development")
                                .description("Join development discussion channels")
                                .emojiName("💻")
                                .channelIds(                            
                                    devChat.id(),
                                    codeHelp.id())
                                .roleIds(developer.id())
                                .build(),
                            ServerOnboardingPromptOptionArgs.builder()
                                .title("Community")
                                .description("Join general community channels")
                                .emojiName("❤️")
                                .channelIds(community.id())
                                .build())
                        .build(),
                    ServerOnboardingPromptArgs.builder()
                        .title("What is your experience level?")
                        .type(1.0)
                        .singleSelect(true)
                        .required(false)
                        .inOnboarding(true)
                        .options(                    
                            ServerOnboardingPromptOptionArgs.builder()
                                .title("Beginner")
                                .description("New to the community")
                                .roleIds(beginner.id())
                                .build(),
                            ServerOnboardingPromptOptionArgs.builder()
                                .title("Intermediate")
                                .description("Some experience")
                                .roleIds(intermediate.id())
                                .build(),
                            ServerOnboardingPromptOptionArgs.builder()
                                .title("Expert")
                                .description("Experienced member")
                                .roleIds(expert.id())
                                .build())
                        .build())
                .build());
    
        }
    }
    
    resources:
      example:
        type: discord:ServerOnboarding
        properties:
          serverId: ${serverId}
          enabled: true
          mode: 1 # Minimum 1 channel required by Discord
          defaultChannelIds:
            - ${general.id}
          prompts:
            - title: What are your interests?
              type: 0
              singleSelect: false
              required: true
              inOnboarding: true
              options:
                - title: Gaming
                  description: Access gaming channels and get the gamer role
                  emojiName: "\U0001F3AE"
                  channelIds:
                    - ${gaming.id}
                  roleIds:
                    - ${gamer.id}
                - title: Development
                  description: Join development discussion channels
                  emojiName: "\U0001F4BB"
                  channelIds:
                    - ${devChat.id}
                    - ${codeHelp.id}
                  roleIds:
                    - ${developer.id}
                - title: Community
                  description: Join general community channels
                  emojiName: ❤️
                  channelIds:
                    - ${community.id}
            - title: What is your experience level?
              type: 1
              singleSelect: true
              required: false
              inOnboarding: true
              options:
                - title: Beginner
                  description: New to the community
                  roleIds:
                    - ${beginner.id}
                - title: Intermediate
                  description: Some experience
                  roleIds:
                    - ${intermediate.id}
                - title: Expert
                  description: Experienced member
                  roleIds:
                    - ${expert.id}
    

    Create ServerOnboarding Resource

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

    Constructor syntax

    new ServerOnboarding(name: string, args: ServerOnboardingArgs, opts?: CustomResourceOptions);
    @overload
    def ServerOnboarding(resource_name: str,
                         args: ServerOnboardingArgs,
                         opts: Optional[ResourceOptions] = None)
    
    @overload
    def ServerOnboarding(resource_name: str,
                         opts: Optional[ResourceOptions] = None,
                         default_channel_ids: Optional[Sequence[str]] = None,
                         server_id: Optional[str] = None,
                         enabled: Optional[bool] = None,
                         mode: Optional[float] = None,
                         prompts: Optional[Sequence[ServerOnboardingPromptArgs]] = None,
                         server_onboarding_id: Optional[str] = None)
    func NewServerOnboarding(ctx *Context, name string, args ServerOnboardingArgs, opts ...ResourceOption) (*ServerOnboarding, error)
    public ServerOnboarding(string name, ServerOnboardingArgs args, CustomResourceOptions? opts = null)
    public ServerOnboarding(String name, ServerOnboardingArgs args)
    public ServerOnboarding(String name, ServerOnboardingArgs args, CustomResourceOptions options)
    
    type: discord:ServerOnboarding
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args ServerOnboardingArgs
    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 ServerOnboardingArgs
    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 ServerOnboardingArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ServerOnboardingArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ServerOnboardingArgs
    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 serverOnboardingResource = new Discord.ServerOnboarding("serverOnboardingResource", new()
    {
        DefaultChannelIds = new[]
        {
            "string",
        },
        ServerId = "string",
        Enabled = false,
        Mode = 0,
        Prompts = new[]
        {
            new Discord.Inputs.ServerOnboardingPromptArgs
            {
                Options = new[]
                {
                    new Discord.Inputs.ServerOnboardingPromptOptionArgs
                    {
                        Title = "string",
                        ChannelIds = new[]
                        {
                            "string",
                        },
                        Description = "string",
                        EmojiAnimated = false,
                        EmojiId = "string",
                        EmojiName = "string",
                        Id = "string",
                        RoleIds = new[]
                        {
                            "string",
                        },
                    },
                },
                Title = "string",
                Id = "string",
                InOnboarding = false,
                Required = false,
                SingleSelect = false,
                Type = 0,
            },
        },
        ServerOnboardingId = "string",
    });
    
    example, err := discord.NewServerOnboarding(ctx, "serverOnboardingResource", &discord.ServerOnboardingArgs{
    	DefaultChannelIds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	ServerId: pulumi.String("string"),
    	Enabled:  pulumi.Bool(false),
    	Mode:     pulumi.Float64(0),
    	Prompts: discord.ServerOnboardingPromptArray{
    		&discord.ServerOnboardingPromptArgs{
    			Options: discord.ServerOnboardingPromptOptionArray{
    				&discord.ServerOnboardingPromptOptionArgs{
    					Title: pulumi.String("string"),
    					ChannelIds: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					Description:   pulumi.String("string"),
    					EmojiAnimated: pulumi.Bool(false),
    					EmojiId:       pulumi.String("string"),
    					EmojiName:     pulumi.String("string"),
    					Id:            pulumi.String("string"),
    					RoleIds: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    				},
    			},
    			Title:        pulumi.String("string"),
    			Id:           pulumi.String("string"),
    			InOnboarding: pulumi.Bool(false),
    			Required:     pulumi.Bool(false),
    			SingleSelect: pulumi.Bool(false),
    			Type:         pulumi.Float64(0),
    		},
    	},
    	ServerOnboardingId: pulumi.String("string"),
    })
    
    var serverOnboardingResource = new ServerOnboarding("serverOnboardingResource", ServerOnboardingArgs.builder()
        .defaultChannelIds("string")
        .serverId("string")
        .enabled(false)
        .mode(0.0)
        .prompts(ServerOnboardingPromptArgs.builder()
            .options(ServerOnboardingPromptOptionArgs.builder()
                .title("string")
                .channelIds("string")
                .description("string")
                .emojiAnimated(false)
                .emojiId("string")
                .emojiName("string")
                .id("string")
                .roleIds("string")
                .build())
            .title("string")
            .id("string")
            .inOnboarding(false)
            .required(false)
            .singleSelect(false)
            .type(0.0)
            .build())
        .serverOnboardingId("string")
        .build());
    
    server_onboarding_resource = discord.ServerOnboarding("serverOnboardingResource",
        default_channel_ids=["string"],
        server_id="string",
        enabled=False,
        mode=0,
        prompts=[{
            "options": [{
                "title": "string",
                "channel_ids": ["string"],
                "description": "string",
                "emoji_animated": False,
                "emoji_id": "string",
                "emoji_name": "string",
                "id": "string",
                "role_ids": ["string"],
            }],
            "title": "string",
            "id": "string",
            "in_onboarding": False,
            "required": False,
            "single_select": False,
            "type": 0,
        }],
        server_onboarding_id="string")
    
    const serverOnboardingResource = new discord.ServerOnboarding("serverOnboardingResource", {
        defaultChannelIds: ["string"],
        serverId: "string",
        enabled: false,
        mode: 0,
        prompts: [{
            options: [{
                title: "string",
                channelIds: ["string"],
                description: "string",
                emojiAnimated: false,
                emojiId: "string",
                emojiName: "string",
                id: "string",
                roleIds: ["string"],
            }],
            title: "string",
            id: "string",
            inOnboarding: false,
            required: false,
            singleSelect: false,
            type: 0,
        }],
        serverOnboardingId: "string",
    });
    
    type: discord:ServerOnboarding
    properties:
        defaultChannelIds:
            - string
        enabled: false
        mode: 0
        prompts:
            - id: string
              inOnboarding: false
              options:
                - channelIds:
                    - string
                  description: string
                  emojiAnimated: false
                  emojiId: string
                  emojiName: string
                  id: string
                  roleIds:
                    - string
                  title: string
              required: false
              singleSelect: false
              title: string
              type: 0
        serverId: string
        serverOnboardingId: string
    

    ServerOnboarding 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 ServerOnboarding resource accepts the following input properties:

    DefaultChannelIds List<string>
    Channel IDs that members get opted into automatically. Minimum 1 required.
    ServerId string
    The ID of the server to configure onboarding for.
    Enabled bool
    Whether onboarding is enabled. Requires minimum 1 default channel when enabled.
    Mode double
    Onboarding mode. 0 = Default (counts default channels), 1 = Advanced (counts default channels and questions).
    Prompts List<ServerOnboardingPrompt>
    Prompts (questions) shown during onboarding and in the Channels & Roles customization tab.
    ServerOnboardingId string
    The ID of this resource.
    DefaultChannelIds []string
    Channel IDs that members get opted into automatically. Minimum 1 required.
    ServerId string
    The ID of the server to configure onboarding for.
    Enabled bool
    Whether onboarding is enabled. Requires minimum 1 default channel when enabled.
    Mode float64
    Onboarding mode. 0 = Default (counts default channels), 1 = Advanced (counts default channels and questions).
    Prompts []ServerOnboardingPromptArgs
    Prompts (questions) shown during onboarding and in the Channels & Roles customization tab.
    ServerOnboardingId string
    The ID of this resource.
    defaultChannelIds List<String>
    Channel IDs that members get opted into automatically. Minimum 1 required.
    serverId String
    The ID of the server to configure onboarding for.
    enabled Boolean
    Whether onboarding is enabled. Requires minimum 1 default channel when enabled.
    mode Double
    Onboarding mode. 0 = Default (counts default channels), 1 = Advanced (counts default channels and questions).
    prompts List<ServerOnboardingPrompt>
    Prompts (questions) shown during onboarding and in the Channels & Roles customization tab.
    serverOnboardingId String
    The ID of this resource.
    defaultChannelIds string[]
    Channel IDs that members get opted into automatically. Minimum 1 required.
    serverId string
    The ID of the server to configure onboarding for.
    enabled boolean
    Whether onboarding is enabled. Requires minimum 1 default channel when enabled.
    mode number
    Onboarding mode. 0 = Default (counts default channels), 1 = Advanced (counts default channels and questions).
    prompts ServerOnboardingPrompt[]
    Prompts (questions) shown during onboarding and in the Channels & Roles customization tab.
    serverOnboardingId string
    The ID of this resource.
    default_channel_ids Sequence[str]
    Channel IDs that members get opted into automatically. Minimum 1 required.
    server_id str
    The ID of the server to configure onboarding for.
    enabled bool
    Whether onboarding is enabled. Requires minimum 1 default channel when enabled.
    mode float
    Onboarding mode. 0 = Default (counts default channels), 1 = Advanced (counts default channels and questions).
    prompts Sequence[ServerOnboardingPromptArgs]
    Prompts (questions) shown during onboarding and in the Channels & Roles customization tab.
    server_onboarding_id str
    The ID of this resource.
    defaultChannelIds List<String>
    Channel IDs that members get opted into automatically. Minimum 1 required.
    serverId String
    The ID of the server to configure onboarding for.
    enabled Boolean
    Whether onboarding is enabled. Requires minimum 1 default channel when enabled.
    mode Number
    Onboarding mode. 0 = Default (counts default channels), 1 = Advanced (counts default channels and questions).
    prompts List<Property Map>
    Prompts (questions) shown during onboarding and in the Channels & Roles customization tab.
    serverOnboardingId String
    The ID of this resource.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the ServerOnboarding 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 str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing ServerOnboarding Resource

    Get an existing ServerOnboarding 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?: ServerOnboardingState, opts?: CustomResourceOptions): ServerOnboarding
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            default_channel_ids: Optional[Sequence[str]] = None,
            enabled: Optional[bool] = None,
            mode: Optional[float] = None,
            prompts: Optional[Sequence[ServerOnboardingPromptArgs]] = None,
            server_id: Optional[str] = None,
            server_onboarding_id: Optional[str] = None) -> ServerOnboarding
    func GetServerOnboarding(ctx *Context, name string, id IDInput, state *ServerOnboardingState, opts ...ResourceOption) (*ServerOnboarding, error)
    public static ServerOnboarding Get(string name, Input<string> id, ServerOnboardingState? state, CustomResourceOptions? opts = null)
    public static ServerOnboarding get(String name, Output<String> id, ServerOnboardingState state, CustomResourceOptions options)
    resources:  _:    type: discord:ServerOnboarding    get:      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:
    DefaultChannelIds List<string>
    Channel IDs that members get opted into automatically. Minimum 1 required.
    Enabled bool
    Whether onboarding is enabled. Requires minimum 1 default channel when enabled.
    Mode double
    Onboarding mode. 0 = Default (counts default channels), 1 = Advanced (counts default channels and questions).
    Prompts List<ServerOnboardingPrompt>
    Prompts (questions) shown during onboarding and in the Channels & Roles customization tab.
    ServerId string
    The ID of the server to configure onboarding for.
    ServerOnboardingId string
    The ID of this resource.
    DefaultChannelIds []string
    Channel IDs that members get opted into automatically. Minimum 1 required.
    Enabled bool
    Whether onboarding is enabled. Requires minimum 1 default channel when enabled.
    Mode float64
    Onboarding mode. 0 = Default (counts default channels), 1 = Advanced (counts default channels and questions).
    Prompts []ServerOnboardingPromptArgs
    Prompts (questions) shown during onboarding and in the Channels & Roles customization tab.
    ServerId string
    The ID of the server to configure onboarding for.
    ServerOnboardingId string
    The ID of this resource.
    defaultChannelIds List<String>
    Channel IDs that members get opted into automatically. Minimum 1 required.
    enabled Boolean
    Whether onboarding is enabled. Requires minimum 1 default channel when enabled.
    mode Double
    Onboarding mode. 0 = Default (counts default channels), 1 = Advanced (counts default channels and questions).
    prompts List<ServerOnboardingPrompt>
    Prompts (questions) shown during onboarding and in the Channels & Roles customization tab.
    serverId String
    The ID of the server to configure onboarding for.
    serverOnboardingId String
    The ID of this resource.
    defaultChannelIds string[]
    Channel IDs that members get opted into automatically. Minimum 1 required.
    enabled boolean
    Whether onboarding is enabled. Requires minimum 1 default channel when enabled.
    mode number
    Onboarding mode. 0 = Default (counts default channels), 1 = Advanced (counts default channels and questions).
    prompts ServerOnboardingPrompt[]
    Prompts (questions) shown during onboarding and in the Channels & Roles customization tab.
    serverId string
    The ID of the server to configure onboarding for.
    serverOnboardingId string
    The ID of this resource.
    default_channel_ids Sequence[str]
    Channel IDs that members get opted into automatically. Minimum 1 required.
    enabled bool
    Whether onboarding is enabled. Requires minimum 1 default channel when enabled.
    mode float
    Onboarding mode. 0 = Default (counts default channels), 1 = Advanced (counts default channels and questions).
    prompts Sequence[ServerOnboardingPromptArgs]
    Prompts (questions) shown during onboarding and in the Channels & Roles customization tab.
    server_id str
    The ID of the server to configure onboarding for.
    server_onboarding_id str
    The ID of this resource.
    defaultChannelIds List<String>
    Channel IDs that members get opted into automatically. Minimum 1 required.
    enabled Boolean
    Whether onboarding is enabled. Requires minimum 1 default channel when enabled.
    mode Number
    Onboarding mode. 0 = Default (counts default channels), 1 = Advanced (counts default channels and questions).
    prompts List<Property Map>
    Prompts (questions) shown during onboarding and in the Channels & Roles customization tab.
    serverId String
    The ID of the server to configure onboarding for.
    serverOnboardingId String
    The ID of this resource.

    Supporting Types

    ServerOnboardingPrompt, ServerOnboardingPromptArgs

    Options List<ServerOnboardingPromptOption>
    Options (answers) available for this prompt.
    Title string
    Title of the prompt (question text).
    Id string
    ID of the prompt. Automatically generated by Discord.
    InOnboarding bool
    Whether the prompt is shown in the onboarding flow. If false, only appears in Channels & Roles tab.
    Required bool
    Whether the prompt is required before a user completes onboarding.
    SingleSelect bool
    Whether users are limited to selecting one option. Default false (allows multiple selections).
    Type double
    Type of prompt. 0 = Multiple Choice, 1 = Dropdown.
    Options []ServerOnboardingPromptOption
    Options (answers) available for this prompt.
    Title string
    Title of the prompt (question text).
    Id string
    ID of the prompt. Automatically generated by Discord.
    InOnboarding bool
    Whether the prompt is shown in the onboarding flow. If false, only appears in Channels & Roles tab.
    Required bool
    Whether the prompt is required before a user completes onboarding.
    SingleSelect bool
    Whether users are limited to selecting one option. Default false (allows multiple selections).
    Type float64
    Type of prompt. 0 = Multiple Choice, 1 = Dropdown.
    options List<ServerOnboardingPromptOption>
    Options (answers) available for this prompt.
    title String
    Title of the prompt (question text).
    id String
    ID of the prompt. Automatically generated by Discord.
    inOnboarding Boolean
    Whether the prompt is shown in the onboarding flow. If false, only appears in Channels & Roles tab.
    required Boolean
    Whether the prompt is required before a user completes onboarding.
    singleSelect Boolean
    Whether users are limited to selecting one option. Default false (allows multiple selections).
    type Double
    Type of prompt. 0 = Multiple Choice, 1 = Dropdown.
    options ServerOnboardingPromptOption[]
    Options (answers) available for this prompt.
    title string
    Title of the prompt (question text).
    id string
    ID of the prompt. Automatically generated by Discord.
    inOnboarding boolean
    Whether the prompt is shown in the onboarding flow. If false, only appears in Channels & Roles tab.
    required boolean
    Whether the prompt is required before a user completes onboarding.
    singleSelect boolean
    Whether users are limited to selecting one option. Default false (allows multiple selections).
    type number
    Type of prompt. 0 = Multiple Choice, 1 = Dropdown.
    options Sequence[ServerOnboardingPromptOption]
    Options (answers) available for this prompt.
    title str
    Title of the prompt (question text).
    id str
    ID of the prompt. Automatically generated by Discord.
    in_onboarding bool
    Whether the prompt is shown in the onboarding flow. If false, only appears in Channels & Roles tab.
    required bool
    Whether the prompt is required before a user completes onboarding.
    single_select bool
    Whether users are limited to selecting one option. Default false (allows multiple selections).
    type float
    Type of prompt. 0 = Multiple Choice, 1 = Dropdown.
    options List<Property Map>
    Options (answers) available for this prompt.
    title String
    Title of the prompt (question text).
    id String
    ID of the prompt. Automatically generated by Discord.
    inOnboarding Boolean
    Whether the prompt is shown in the onboarding flow. If false, only appears in Channels & Roles tab.
    required Boolean
    Whether the prompt is required before a user completes onboarding.
    singleSelect Boolean
    Whether users are limited to selecting one option. Default false (allows multiple selections).
    type Number
    Type of prompt. 0 = Multiple Choice, 1 = Dropdown.

    ServerOnboardingPromptOption, ServerOnboardingPromptOptionArgs

    Title string
    Title of the option.
    ChannelIds List<string>
    Channel IDs a member is added to when selecting this option.
    Description string
    Description of the option.
    EmojiAnimated bool
    Whether the emoji is animated.
    EmojiId string
    Emoji ID for the option (custom emoji).
    EmojiName string
    Emoji name for the option (unicode emoji or custom emoji name).
    Id string
    ID of the option. Automatically generated by Discord.
    RoleIds List<string>
    Role IDs assigned to a member when selecting this option.
    Title string
    Title of the option.
    ChannelIds []string
    Channel IDs a member is added to when selecting this option.
    Description string
    Description of the option.
    EmojiAnimated bool
    Whether the emoji is animated.
    EmojiId string
    Emoji ID for the option (custom emoji).
    EmojiName string
    Emoji name for the option (unicode emoji or custom emoji name).
    Id string
    ID of the option. Automatically generated by Discord.
    RoleIds []string
    Role IDs assigned to a member when selecting this option.
    title String
    Title of the option.
    channelIds List<String>
    Channel IDs a member is added to when selecting this option.
    description String
    Description of the option.
    emojiAnimated Boolean
    Whether the emoji is animated.
    emojiId String
    Emoji ID for the option (custom emoji).
    emojiName String
    Emoji name for the option (unicode emoji or custom emoji name).
    id String
    ID of the option. Automatically generated by Discord.
    roleIds List<String>
    Role IDs assigned to a member when selecting this option.
    title string
    Title of the option.
    channelIds string[]
    Channel IDs a member is added to when selecting this option.
    description string
    Description of the option.
    emojiAnimated boolean
    Whether the emoji is animated.
    emojiId string
    Emoji ID for the option (custom emoji).
    emojiName string
    Emoji name for the option (unicode emoji or custom emoji name).
    id string
    ID of the option. Automatically generated by Discord.
    roleIds string[]
    Role IDs assigned to a member when selecting this option.
    title str
    Title of the option.
    channel_ids Sequence[str]
    Channel IDs a member is added to when selecting this option.
    description str
    Description of the option.
    emoji_animated bool
    Whether the emoji is animated.
    emoji_id str
    Emoji ID for the option (custom emoji).
    emoji_name str
    Emoji name for the option (unicode emoji or custom emoji name).
    id str
    ID of the option. Automatically generated by Discord.
    role_ids Sequence[str]
    Role IDs assigned to a member when selecting this option.
    title String
    Title of the option.
    channelIds List<String>
    Channel IDs a member is added to when selecting this option.
    description String
    Description of the option.
    emojiAnimated Boolean
    Whether the emoji is animated.
    emojiId String
    Emoji ID for the option (custom emoji).
    emojiName String
    Emoji name for the option (unicode emoji or custom emoji name).
    id String
    ID of the option. Automatically generated by Discord.
    roleIds List<String>
    Role IDs assigned to a member when selecting this option.

    Import

    The pulumi import command can be used, for example:

    $ pulumi import discord:index/serverOnboarding:ServerOnboarding example "<server id>"
    

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

    Package Details

    Repository
    discord lucky3028/terraform-provider-discord
    License
    Notes
    This Pulumi package is based on the discord Terraform Provider.
    discord logo
    discord 2.3.0 published on Saturday, Jan 24, 2026 by lucky3028
      Meet Neo: Your AI Platform Teammate