> ## Documentation Index
> Fetch the complete documentation index at: https://docs.invaro.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Initial Setup

> Learn how to create and configure your first Invaro portal to connect your Discord server with Roblox

### Getting Started with Invaro

<Steps>
  <Step title="Invite Invaro Bot to Your Server">
    Invite the Invaro Bot to your Discord server by clicking the [OAuth2 URL](https://discord.com/oauth2/authorize?client_id=1468455228000178208).

    <Warning>
      Ensure the bot has **Administrator** permissions or at minimum: Manage Roles, Manage Nicknames, View Channels, and Send Messages.
    </Warning>
  </Step>

  <Step title="Create Your Portal">
    Go to the [Invaro Dashboard](https://portal.invaro.org), log in with Discord, and click **"Create Portal"**.

    <Accordion title="Portal Creation Details">
      <ResponseField name="Discord Server" type="select" required>
        Select the Discord server this portal will manage. You must have the "Server Administrator" permission to create a portal for a server.

        **Example:** `Invaro Systems`
      </ResponseField>

      <ResponseField name="Roblox Group" type="select" required>
        Select your Roblox Group you want to manage.

        **Example:** `Invaro`
      </ResponseField>

      <ResponseField name="Portal Name" type="string" required>
        Choose a descriptive name for your portal. This will be displayed in the dashboard and logs.

        **Example:** `Invaro Systems Portal`
      </ResponseField>

      <ResponseField name="Description" type="string">
        Optional description to help you identify the portal's purpose.

        **Example:** `Powering Professional Roblox Communities`
      </ResponseField>
    </Accordion>
  </Step>

  <Step title="Configure Portal Settings">
    After creating your portal, navigate to the **Settings** tab to configure essential options:

    <Accordion title="Portal Features">
      <ResponseField name="Auto Verification" type="toggle" default="false">
        Automatically verify users when they join the linked Discord server based on their Roblox account.

        <Warning>
          Users must have previously linked their Roblox account.
        </Warning>
      </ResponseField>

      <ResponseField name="Portal Admins" type="toggle" default="false">
        Allow Discord server administrators to manage this portal without being the owner.

        <Warning>
          Gives server admins full access to portal settings. Only the portal owner can toggle this setting.
        </Warning>
      </ResponseField>
    </Accordion>

    <Accordion title="Global Nickname">
      <ResponseField name="Nickname Template" type="string">
        Default nickname template applied to all users portal-wide. Individual bind nicknames will override this.

        **Example:** `{displayName} (@{username})`

        **Available Variables:**

        * `{username}` - User's Roblox username
        * `{displayName}` - User's Roblox display name
        * `{smartName}` - Display name if set, otherwise username
        * `{userId}` - User's Roblox user ID
        * `{groupRank}` - Their rank in your group
        * `{groupRole}` - Their role name in your group

        <Info>
          Leave empty to not modify nicknames. Bind-specific nicknames take priority.
        </Info>
      </ResponseField>
    </Accordion>

    <Accordion title="Verification Roles">
      <ResponseField name="Verified" type="role" required>
        Role assigned to verified users.

        **Example:** `@Verified`

        This role is automatically given when a user successfully verifies their Roblox account.
      </ResponseField>

      <ResponseField name="Unverified" type="role" required>
        Role assigned to unverified users.

        **Example:** `@Unverified`

        This role is automatically given to users who haven't verified yet.
      </ResponseField>
    </Accordion>
  </Step>

  <Step title="Connect Roblox OAuth (Recommended)">
    For full functionality including automatic ranking and group management, connect your Roblox account via OAuth:

    1. In the **Settings** tab, click **"Connect Roblox Account"**
    2. You'll be redirected to Roblox to authorize Invaro Systems - Portals
    3. Review the permissions (scopes) you want to grant
    4. Approve the authorization

    <Info>
      OAuth is the secure method for connecting your Roblox account. It can be revoked anytime from the Roblox website. Only the portal owner can connect or unlink a Roblox account.
    </Info>

    <Accordion title="OAuth Scopes Explained">
      <ResponseField name="openid + profile" type="scope" required>
        Basic identity information needed for all portal operations.
      </ResponseField>

      <ResponseField name="group:read" type="scope" required>
        Allows Invaro to read group memberships and verify users are in your group.
      </ResponseField>

      <ResponseField name="group:write" type="scope">
        Enables automatic ranking features (promote/demote users). Required for ranking commands.
      </ResponseField>
    </Accordion>

    <Warning>
      If your Roblox token expires, ranking and group management will stop working. Re-authorize from the Settings tab to restore access.
    </Warning>
  </Step>

  <Step title="API Key for In-Game Ranking">
    Invaro+ and Invaro+ Boost customers receive an API key for use with in-game ranking systems and external integrations.

    <Warning>
      **Invaro+ Feature:** API keys are available on Invaro+ and Invaro+ Boost plans. API URLs are available on Invaro+ Boost only.
    </Warning>

    <Accordion title="API Key Management">
      <ResponseField name="API Key" type="string" readonly>
        Automatically generated API key for your portal. **Only visible to the portal owner.**

        **Example:** `INVARO_****************_SYSTEMS_****************_KEY`

        **Use Cases:**

        * In-game ranking commands
        * In-game logging system
        * Custom integrations (Invaro+ Boost)
        * Automated workflows
      </ResponseField>

      <ResponseField name="Regenerate API Key" type="button">
        Click **"Regenerate Key"** to create a new key and invalidate the old one.

        <Warning>
          **This action is immediate and cannot be undone.** Any systems using the old key will stop working. Update your integrations immediately after regeneration.
        </Warning>

        **When to regenerate:**

        * Key has been compromised or exposed
        * Offboarding a developer who had access
        * Regular security maintenance (every 90 days recommended)
      </ResponseField>

      <ResponseField name="Key Security" type="info">
        **Security Best Practices:**

        * Never share API keys publicly
        * Rotate keys regularly (every 90 days)
        * Immediately regenerate if compromised
      </ResponseField>
    </Accordion>

    <Info>
      Your API key is only shown to you (the portal owner). Not even Invaro staff can see it. Keep it secure!
    </Info>
  </Step>

  <Step title="Save Your Configuration">
    Click **"Save Changes"** at the top of the settings page to apply your configuration.

    <Info>
      Your portal is now created! Next, you'll want to set up role bindings and permissions.
    </Info>
  </Step>
</Steps>

## Alternative Owners

You can grant additional users full portal access without transferring ownership. Alternative owners have the same permissions as the portal owner, with two exceptions: they cannot delete the portal and cannot manage other alternative owners.

To add an alternative owner, navigate to **Settings** and enter the user's Discord user ID in the **Alternative Owners** section.

<Accordion title="Alternative Owner Limits by Plan">
  | Plan          | Max Alternative Owners |
  | ------------- | ---------------------- |
  | Free          | 2                      |
  | Invaro+       | 2                      |
  | Invaro+ Boost | 3                      |
</Accordion>

<Info>
  To find a Discord user ID, right-click the user in Discord and select **Copy User ID**. Developer Mode must be enabled in Discord settings.
</Info>

## Need Help Finding Information?

<CardGroup cols={2}>
  <Card title="OAuth Setup Guide" href="/portal/connecting-oauth" icon="key" horizontal>
    Detailed OAuth configuration and troubleshooting
  </Card>

  <Card title="Bot Permissions Setup" href="https://support.discord.com/hc/en-us/articles/214836687-Discord-Roles-and-Permissions#h_01JJ7FF0ES91KDVXNT9MQ6FQTC" icon="shield" horizontal>
    Ensure the Invaro bot as Administrator permissons
  </Card>
</CardGroup>

## Next Steps

After completing the initial setup, continue with these guides:

<Steps>
  <Step title="Configure Role Bindings">
    Set up automatic role assignment based on Roblox group ranks, asset ownership, or group membership.

    [Learn about Binds →](/portal/binds)
  </Step>

  <Step title="Set Up Portal Roles">
    Define who can manage your portal by configuring permission and access roles.

    [Configure Portal Roles →](/portal/permissions)
  </Step>

  <Step title="Test Your Setup">
    Verify your portal is working correctly by testing the Invaro bot in your Discord server.
  </Step>
</Steps>

## Important Security Guidelines

<AccordionGroup>
  <Accordion title="Permissions & Access Control">
    * Ensure bot roles are positioned correctly in Discord's role hierarchy
    * The bot cannot assign roles higher than its own highest role
    * Grant only necessary permissions to minimize security risks
    * Regularly audit who has portal management access
  </Accordion>

  <Accordion title="Account Security">
    * **OAuth:** Secure method for connecting Roblox accounts
    * **API Keys:** Keep your API keys confidential and rotate them regularly
    * **Never share credentials:** Invaro staff will never ask for your credentials
  </Accordion>

  <Accordion title="Data Privacy">
    * Invaro does not have access to your API keys or OAuth refresh tokens
    * All credentials are encrypted at rest in our database
    * You can revoke OAuth access at any time from the Roblox website
    * Review our [Privacy Policy](https://invaro.org/privacy) for details
  </Accordion>

  <Accordion title="Portal Deletion">
    To delete your portal:

    1. Navigate to **Settings** in your portal dashboard
    2. Scroll to the **Danger Zone** section and click **"Delete Portal"**
    3. Type your portal name to confirm
    4. Click **"Delete Portal"**

    <Warning>
      **This action is permanent and cannot be undone!** All binds, roles, and configuration will be lost. Only the actual portal owner can delete a portal — alternative owners cannot.
    </Warning>
  </Accordion>
</AccordionGroup>

## Subscription Plans

Your portal capabilities depend on your subscription tier:

<Tabs>
  <Tab title="Free">
    **\$0 / forever**

    Perfect for getting started with Invaro

    **Features:**

    * 1 Portal
    * 2 Alternative Owners
    * Ticket Boards (3 boards, 2 categories per board)
    * Verification System
    * Role Binding System
    * Announcement System
    * Rank Management
    * Team Directory Access
    * Portal Audit Logs
    * Triggers
    * Member Stream
  </Tab>

  <Tab title="Invaro+">
    **1,500 Robux**

    For growing communities

    **Everything in Free, plus:**

    * 5 Portals
    * Ticket Boards (4 boards, 6 categories per board)
    * Session Management System
    * Tasks Management System
    * Staff Logbooks System
    * Knowledge Hub
    * Bot Customization
    * **In-Game Ranking Commands**
    * **In-Game Logging System**
    * **API Key Access**
    * Application/Ranking Center
    * Member Activity Tracking
    * Displayed Discord Role
  </Tab>

  <Tab title="Invaro+ Boost">
    **2,000 Robux**

    Maximum power, zero limits

    **Everything in Invaro+, plus:**

    * **Unlimited Portals**
    * **3 Alternative Owners**
    * **Unlimited Ticket Boards & Categories**
    * **Access to Invaro API URLs**
    * Displayed Discord Role
  </Tab>
</Tabs>

<Info>
  [Upgrade your plan →](https://invaro.org/pricing) to unlock additional features. Purchase through our Discord server.
</Info>

## Getting Help

If you encounter issues during setup:

* **Documentation:** Check our guides for common solutions
* **Discord Support:** Join our [support server](https://discord.gg/2NwEfY4zFb)
* **Email Support:** Contact [team@invaro.org](mailto:team@invaro.org)
* **Status Page:** Check [status.invaro.org](https://status.invaro.org) for service updates

<Note>
  Invaro+ and Invaro+ Boost subscribers receive priority support with faster response times.
</Note>
