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

# Custom Slack App Integration

<div className="rounded-2xl overflow-hidden border border-pink-200 dark:border-pink-800">
  <iframe src="https://player.vimeo.com/video/1148809327?h=f96b623045" style={{ width: '100%', aspectRatio: '16/9' }} frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" title="Custom Slack App Integration" />
</div>

Connect your own Slack app to a Gummie agent for custom branding, dedicated bot identity, and advanced enterprise deployments.

<Info>
  **This is an advanced feature.** For most users, we recommend using the [standard Gumloop Slack integration](https://docs.gumloop.com/core-concepts/agents_slack), which is simpler to set up and works great for the majority of use cases. Only use a custom Slack app if you have specific requirements for branding, multiple agents, or enterprise compliance.
</Info>

## When to Use a Custom Slack App

The standard Gumloop integration (`@Gumloop`) is the fastest way to get agents into Slack—it works out of the box with minimal setup. However, there are scenarios where connecting your own custom Slack app makes sense:

<CardGroup cols={2}>
  <Card title="Custom Branding" icon="palette">
    Give your agent a unique name and avatar that reflects its purpose—like "Sales Assistant" or "Support Bot" instead of "@Gumloop"
  </Card>

  <Card title="Multiple Agents, Same Workspace" icon="users">
    Run multiple agents with distinct identities in the same Slack workspace without confusion
  </Card>

  <Card title="Enterprise Compliance" icon="building">
    Meet IT security policies that require all Slack integrations to be owned and managed internally
  </Card>

  <Card title="White-Label Solutions" icon="tag">
    Build products or services with AI agents that appear under your brand, not Gumloop's
  </Card>
</CardGroup>

### Standard Integration vs Custom Slack App

| Aspect               | Standard Integration                    | Custom Slack App                            |
| -------------------- | --------------------------------------- | ------------------------------------------- |
| **Bot Identity**     | @Gumloop (shared)                       | Your custom name & avatar                   |
| **Setup Complexity** | Simple (minutes)                        | Advanced (10-15 minutes)                    |
| **Slash Commands**   | ✅ `/gummie add`, `/gummie remove`, etc. | ❌ Not supported                             |
| **Scope**            | Per channel                             | Per custom app (works across all channels)  |
| **Multiple Agents**  | One per channel                         | One per custom app                          |
| **Best For**         | Most users                              | Enterprise, white-label, multi-agent setups |

<Tip>
  **Start with the [standard integration first](https://docs.gumloop.com/core-concepts/agents_slack).** If you find you need custom branding or multiple agents later, you can always add a custom Slack app.
</Tip>

***

## Prerequisites

Before setting up a custom Slack app, ensure you have:

<Tabs>
  <Tab title="Slack Requirements" icon="slack">
    * Admin access to your Slack workspace (to create and install apps)
    * Permission to create Slack apps at [api.slack.com](https://api.slack.com/apps)
  </Tab>

  <Tab title="Gumloop Requirements" icon="circle-check">
    * An existing Gummie agent created in Gumloop
  </Tab>
</Tabs>

***

## Setup Options

Gumloop offers two ways to connect a custom Slack app to your agent:

<Tabs>
  <Tab title="New App (Recommended)" icon="wand-magic-sparkles">
    **Best for:** Users who don't have an existing Slack app and want the fastest setup experience.

    Gumloop provides a pre-configured manifest that automatically sets up all the required permissions and event subscriptions for you. This is the easiest path.
  </Tab>

  <Tab title="Existing App" icon="plug">
    **Best for:** Users who already have a Slack app created or need specific configurations not covered by the manifest.

    Connect an existing Slack app by providing its Client ID, Client Secret, and Signing Secret from Slack's API dashboard.
  </Tab>
</Tabs>

***

## Option 1: Create a New App (Recommended)

This guided workflow walks you through creating a new Slack app with all the correct settings pre-configured.

<Steps>
  <Step title="Open the Slack Connection Dialog">
    In your agent, click the **"Add to Slack"** button in the top bar.

    <div align="center">
      <img src="https://mintcdn.com/agenthub/d_0f-YSO7rlIpn_B/images/add_to_slack_button.png?fit=max&auto=format&n=d_0f-YSO7rlIpn_B&q=85&s=b93de730f061fdcdfed0a78a072a6c65" alt="Add to Slack button in the agent top bar" width="700" data-path="images/add_to_slack_button.png" />
    </div>

    In the connection dialog, select the **"Custom App"** tab.

    <div align="center">
      <img src="https://mintcdn.com/agenthub/25dtpk9m2FmEAsAB/images/custom_slack_app_dialog.png?fit=max&auto=format&n=25dtpk9m2FmEAsAB&q=85&s=ccae72a4fb5c4464d24856249d93ce61" alt="Custom App tab in the Add to Slack dialog showing New App and Existing App options" width="600" data-path="images/custom_slack_app_dialog.png" />
    </div>
  </Step>

  <Step title="Choose New App">
    A modal will appear asking how you'd like to connect your Slack app. Select **"New App"** to create a fresh Slack app with Gumloop's pre-configured settings.

    <div align="center">
      <img src="https://mintcdn.com/agenthub/x-kyDeRNfu_5Fgk2/images/custom_slack_app_choose_method.png?fit=max&auto=format&n=x-kyDeRNfu_5Fgk2&q=85&s=d8f179374fbac412525b83019cd2af6d" alt="Modal showing New App and Existing App options" width="600" data-path="images/custom_slack_app_choose_method.png" />
    </div>
  </Step>

  <Step title="Customize Your App">
    Enter the details for your custom Slack app:

    * **App Name**: The display name your bot will have in Slack (e.g., "Sales Assistant", "Support Bot")
    * **App Tag**: The @mention handle for your bot (e.g., `@salesassistant`)
    * **App Description** (optional): A description others will see when viewing your app in Slack

    <div align="center">
      <img src="https://mintcdn.com/agenthub/x-kyDeRNfu_5Fgk2/images/custom_slack_app_customize.png?fit=max&auto=format&n=x-kyDeRNfu_5Fgk2&q=85&s=6e8226401a44f4a788daa1e7674987fa" alt="Customization modal with App Name, App Tag, and App Description fields" width="600" data-path="images/custom_slack_app_customize.png" />
    </div>

    <Tip>Choose a descriptive name that reflects what your agent does. This is what your team will see when the bot responds in Slack.</Tip>

    Click **"Next"** when you're done.
  </Step>

  <Step title="Follow the Setup Guide">
    Gumloop provides a step-by-step setup guide with everything you need:

    <div align="center">
      <img src="https://mintcdn.com/agenthub/x-kyDeRNfu_5Fgk2/images/custom_slack_app_setup_guide.png?fit=max&auto=format&n=x-kyDeRNfu_5Fgk2&q=85&s=3c120bb20c41dc5335769a5410f47ba9" alt="Setup Guide showing 5 steps to create and configure the Slack app" width="600" data-path="images/custom_slack_app_setup_guide.png" />
    </div>

    **Here's what to do:**

    1. **Copy the Slack manifest JSON** — Click the **"Copy"** button. This manifest contains all the pre-configured permissions, scopes, and event subscriptions your app needs.

    2. **Create a new Slack app** — Click **"Open"** to go to [api.slack.com/apps](https://api.slack.com/apps), then:
       * Click **"Create New App"**
       * Choose **"From an app manifest"**
           <div align="center">
             <img src="https://mintcdn.com/agenthub/sn98DXlfn12zC-2p/images/slack_app_from_manifest.png?fit=max&auto=format&n=sn98DXlfn12zC-2p&q=85&s=b70f35c73a5763a554884a14dc18d9c8" alt="Slack App from Manifest Option" width="600" data-path="images/slack_app_from_manifest.png" />
           </div>
       * Select your Slack workspace

    3. **Paste the manifest JSON** — In the manifest editor, paste the JSON you copied from Gumloop. This automatically configures:

           <div align="center">
             <img src="https://mintcdn.com/agenthub/cH0BI8l6_qMFHrTJ/images/paste_slack_manifest.png?fit=max&auto=format&n=cH0BI8l6_qMFHrTJ&q=85&s=3269f7db0c3213531994c364562abd06" alt="Paste Gumloop's Slack Manifest Code here" width="600" data-path="images/paste_slack_manifest.png" />
           </div>

       * All required bot token scopes
       * Event subscriptions with the correct webhook URL
       * Interactivity with the correct request URL
       * Bot user settings

    4. **Complete installation in Slack** — Review the app settings and click **"Create"**, then **"Install to Workspace"** and authorize the app.

    5. **Return to Gumloop** — Come back to this page and click **"Next"** to continue.
  </Step>

  <Step title="Enter Your App Credentials">
    After creating your Slack app, you'll need to provide credentials from Slack's **Basic Information** page.

    <div align="center">
      <img src="https://mintcdn.com/agenthub/x-kyDeRNfu_5Fgk2/images/custom_slack_app_credentials.png?fit=max&auto=format&n=x-kyDeRNfu_5Fgk2&q=85&s=ef132f9d25faec6dceee92d1e748ad92" alt="Credential entry form requesting Client ID, Client Secret, and Signing Secret" width="600" data-path="images/custom_slack_app_credentials.png" />
    </div>

    **In your Slack app settings, go to "Basic Information" and copy:**

    * **Client ID** — Found under "App Credentials"
    * **Client Secret** — Click "Show" to reveal, then copy
    * **Signing Secret** — Click "Show" to reveal, then copy

    <div align="center">
      <img src="https://mintcdn.com/agenthub/x-kyDeRNfu_5Fgk2/images/custom_slack_app_tokens.png?fit=max&auto=format&n=x-kyDeRNfu_5Fgk2&q=85&s=1dcfa45fb1082448ce79d733bcc7e84a" alt="Credential entry form requesting Client ID, Client Secret, and Signing Secret" width="600" data-path="images/custom_slack_app_tokens.png" />
    </div>

    <Warning>Never share your Client Secret or Signing Secret publicly. Treat them like passwords.</Warning>

    Click **"Connect to Slack"** to complete the OAuth flow and authorize the connection.
  </Step>

  <Step title="Ensure Slack App is Installed to the Workspace">
    Make sure your Slack app is installed to your workspace. If you skipped this step earlier, go to your Slack app settings → **OAuth & Permissions** → **Install to Workspace**.

    <div align="center">
      <img src="https://mintcdn.com/agenthub/hZLThkwuUSXKXegU/images/install_custom_slack_app.png?fit=max&auto=format&n=hZLThkwuUSXKXegU&q=85&s=4990d472c2aa9fec27e55e033cfbac95" alt="Install Custom Slack App" width="600" data-path="images/install_custom_slack_app.png" />
    </div>
  </Step>

  <Step title="Invite Your Bot to Channels">
    Your custom bot needs to be invited to channels where you want it to work.

    In Slack, go to each channel and type:

    ```
    /invite @YourBotName
    ```

    Replace `@YourBotName` with the App Tag you configured (e.g., `@salesassistant`).

    <div align="center">
      <img src="https://mintcdn.com/agenthub/x-kyDeRNfu_5Fgk2/images/custom_slack_app_invite_bot.png?fit=max&auto=format&n=x-kyDeRNfu_5Fgk2&q=85&s=5052b9b230d16df738c30cb0485c94d8" alt="Slack channel showing bot being invited with /invite command" width="600" data-path="images/custom_slack_app_invite_bot.png" />
    </div>

    Your custom Slack app agent is now ready! @mention your bot to start a conversation.
  </Step>
</Steps>

***

## Option 2: Connect an Existing App

If you already have a Slack app or need custom configurations, you can connect it directly to Gumloop.

<Steps>
  <Step title="Open the Slack Connection Dialog">
    In your agent, click the **"Add to Slack"** button in the top bar, then select the **"Custom App"** tab in the connection dialog.

    <div align="center">
      <img src="https://mintcdn.com/agenthub/d_0f-YSO7rlIpn_B/images/add_to_slack_button.png?fit=max&auto=format&n=d_0f-YSO7rlIpn_B&q=85&s=b93de730f061fdcdfed0a78a072a6c65" alt="Add to Slack button in the agent top bar" width="700" data-path="images/add_to_slack_button.png" />
    </div>
  </Step>

  <Step title="Choose Existing App">
    Select **"Existing App"** to connect a Slack app you've already created.

    <div align="center">
      <img src="https://mintcdn.com/agenthub/x-kyDeRNfu_5Fgk2/images/custom_slack_app_choose_method.png?fit=max&auto=format&n=x-kyDeRNfu_5Fgk2&q=85&s=d8f179374fbac412525b83019cd2af6d" alt="Modal showing New App and Existing App options" width="600" data-path="images/custom_slack_app_choose_method.png" />
    </div>
  </Step>

  <Step title="Configure Your Slack App (If Not Already Done)">
    Before connecting, ensure your existing Slack app has the required configuration:

    <AccordionGroup>
      <Accordion title="Required Bot Token Scopes" icon="key">
        In your Slack app settings, go to **OAuth & Permissions** and add these scopes:

        | Scope               | Purpose                               |
        | ------------------- | ------------------------------------- |
        | `app_mentions:read` | Receive @mentions of your bot         |
        | `channels:history`  | Read messages in public channels      |
        | `channels:read`     | List available channels               |
        | `chat:write`        | Send messages as your bot             |
        | `groups:history`    | Read messages in private channels     |
        | `groups:read`       | List private channels                 |
        | `im:history`        | Read direct messages (if needed)      |
        | `users:read`        | Look up user information              |
        | `users:read.email`  | Match Slack users to Gumloop accounts |
        | `files:read`        | Access file attachments               |
        | `reactions:write`   | Add emoji reactions to messages       |
      </Accordion>

      <Accordion title="Required Event Subscriptions" icon="bell">
        In your Slack app settings, go to **Event Subscriptions**:

        1. Toggle **"Enable Events"** to ON
        2. Set the **Request URL** to:
           ```
           https://api.gumloop.com/api/v1/external/slack/events
           ```
        3. Wait for verification (green checkmark)
        4. Under **"Subscribe to bot events"**, add:
           * `app_mention`
           * `message.channels`
           * `message.groups` (for private channels)
        5. Save changes
      </Accordion>

      <Accordion title="Required Interactivity Configuration" icon="hand-pointer">
        In your Slack app settings, go to **Interactivity & Shortcuts**:

        1. Toggle **"Interactivity"** to ON
        2. Set the **Request URL** to:
           ```
           https://api.gumloop.com/api/v1/external/slack/interactive
           ```
        3. Save changes

        This enables your custom Slack app to handle interactive components like button clicks, modal submissions, and form responses from your agent.
      </Accordion>

      <Accordion title="Install to Workspace" icon="download">
        Go to **OAuth & Permissions** and click **"Install to Workspace"** if you haven't already. Authorize the app when prompted.
      </Accordion>
    </AccordionGroup>
  </Step>

  <Step title="Enter Your App Credentials">
    Provide the credentials from your Slack app's **Basic Information** page:

    <div align="center">
      <img src="https://mintcdn.com/agenthub/x-kyDeRNfu_5Fgk2/images/custom_slack_app_credentials.png?fit=max&auto=format&n=x-kyDeRNfu_5Fgk2&q=85&s=ef132f9d25faec6dceee92d1e748ad92" alt="Credential entry form requesting Client ID, Client Secret, and Signing Secret" width="600" data-path="images/custom_slack_app_credentials.png" />
    </div>

    * **Client ID** — Found under "App Credentials"
    * **Client Secret** — Click "Show" to reveal, then copy
    * **Signing Secret** — Click "Show" to reveal, then copy

    Click **"Connect to Slack"** to complete the OAuth flow.
  </Step>

  <Step title="Assign to Your Agent and Invite to Channels">
    Select your custom Slack app credential from the dropdown and click **"Add"**.

    Then invite your bot to channels in Slack:

    ```
    /invite @YourBotName
    ```
  </Step>
</Steps>

***

## Using Your Custom Slack App Agent

Once set up, interacting with your custom Slack app agent works similarly to the standard Gumloop integration, with a few key differences.

### Starting a Conversation

@mention your custom bot in any channel where it's been invited:

```
@YourBotName What are the latest support tickets?
```

<div align="center">
  <img src="https://mintcdn.com/agenthub/x-kyDeRNfu_5Fgk2/images/custom_slack_app_interaction.png?fit=max&auto=format&n=x-kyDeRNfu_5Fgk2&q=85&s=cfe90ace7740b66ea3d5b4d8909c7f0d" alt="Interaction with Custom Slack App" width="600" data-path="images/custom_slack_app_interaction.png" />
</div>

The agent will:

1. Process your request using its configured tools and workflows
2. Respond in a thread to keep conversations organized
3. Continue the conversation within the thread based on your agent's settings

<Tip>**Thread commands work here too!** Type `!stop` to stop the agent's response, or `!link` to get a link to view the conversation in Gumloop.</Tip>

### Interactive Features

Custom Slack apps fully support Slack interactive components. Your agent can send messages with buttons, open modals, and collect form responses, just like the standard Gumloop integration.

Supported interactive components include:

* **Button clicks** — Respond to action buttons in agent messages
* **Modal submissions** — Collect structured input through Slack modals
* **Form responses** — Process multi-field form submissions from users

<Info>Interactive features require the **Interactivity Request URL** to be configured. If you used Gumloop's manifest to create your app, this is already set up. For existing apps, see the [Interactivity configuration step](#option-2-connect-an-existing-app) above.</Info>

### Key Differences from Standard Integration

<AccordionGroup>
  <Accordion title="No Slash Commands" icon="terminal">
    Custom Slack apps don't support `/gummie` slash commands. You cannot use:

    * `/gummie add` — Bot is added by inviting to channels instead
    * `/gummie remove` — Remove bot by kicking from channels
    * `/gummie active` — You know which bot is in a channel by its name
    * `/gummie help` — Not available

    **To manage your custom app agent:**

    * Add to channels: `/invite @YourBotName`
    * Remove from channels: `/kick @YourBotName` or remove via channel settings
  </Accordion>

  <Accordion title="Works Across All Channels" icon="arrows-left-right">
    Unlike the standard integration which is channel-specific, your custom Slack app works in **any channel where it's invited**. You don't need to "add" the agent to each channel—just invite the bot.
  </Accordion>

  <Accordion title="Distinct Bot Identity" icon="user">
    Your agent appears with whatever name and avatar you configured in Slack's app settings. Team members interact with `@YourBotName` instead of `@Gumloop`.
  </Accordion>
</AccordionGroup>

### Slack Preferences

All the same Slack preferences available for standard agents apply to custom Slack apps:

* **Thread Response Trigger**: Control whether the agent responds to all messages in a thread or only when @mentioned
* **Stream Reasoning**: Show or hide the agent's thought process
* **Hide Workflow Run Results**: Show or hide workflow execution details

Configure these in your agent's settings under **Slack Preferences**.

<div align="center">
  <img src="https://mintcdn.com/agenthub/OoxUgC5hWWI9DFcm/images/agent_slack_preference_all_messages.png?fit=max&auto=format&n=OoxUgC5hWWI9DFcm&q=85&s=5690f05c4e849f415c5115601c837759" alt="Slack preferences settings panel" width="700" data-path="images/agent_slack_preference_all_messages.png" />
</div>

## Credential Ownership Options

When creating your custom Slack app credential, you can choose who has access:

| Credential Type  | Who Can Use It           | Best For                    |
| ---------------- | ------------------------ | --------------------------- |
| **Personal**     | Only you                 | Testing, personal projects  |
| **Team**         | All team members         | Team-shared agents          |
| **Organization** | All organization members | Enterprise-wide deployments |

***

## Troubleshooting

<AccordionGroup>
  <Accordion title="Bot doesn't respond to messages" icon="circle-exclamation">
    **Check these items:**

    * **Is the Slack app installed to your workspace?** This is the most common issue. Go to your Slack app settings → **OAuth & Permissions** → **Install to Workspace**.

          <div align="center">
            <img src="https://mintcdn.com/agenthub/hZLThkwuUSXKXegU/images/install_custom_slack_app.png?fit=max&auto=format&n=hZLThkwuUSXKXegU&q=85&s=4990d472c2aa9fec27e55e033cfbac95" alt="Install Custom Slack App to Workspace" width="500" data-path="images/install_custom_slack_app.png" />
          </div>

    * Is the bot invited to the channel? (`/invite @YourBotName`)

    * Did you @mention the bot in your message?

    * Are the event subscriptions configured correctly in Slack?

    * Is the webhook URL verified? (`https://api.gumloop.com/api/v1/external/slack/events`)

    * Is the credential properly assigned to your agent in Gumloop?

    * Does the user have a Gumloop account with matching email?
  </Accordion>

  <Accordion title="Bot works in some channels but not others" icon="hashtag">
    **Check:**

    * Is the bot invited to the non-working channels?
    * For private channels, do you have `groups:history` and `groups:read` scopes configured?
    * Is there a different agent assigned via the standard integration in that channel?
  </Accordion>

  <Accordion title="Webhook URL verification fails in Slack" icon="globe">
    The URL `https://api.gumloop.com/api/v1/external/slack/events` should verify automatically.

    **If it fails:**

    * Check for typos in the URL
    * Ensure you're using HTTPS (not HTTP)
    * Try again after a few minutes (temporary network issues)
    * Contact Gumloop support if the issue persists
  </Accordion>

  <Accordion title="Buttons or modals not working" icon="hand-pointer">
    If interactive components (buttons, modals, form submissions) are not working:

    * **Is Interactivity enabled?** Go to your Slack app settings → **Interactivity & Shortcuts** → ensure the toggle is ON
    * **Is the Request URL correct?** It should be set to `https://api.gumloop.com/api/v1/external/slack/interactive`
    * **Is the Signing Secret correct?** Gumloop uses your app's Signing Secret to verify interactive payloads. Re-check the value in **Basic Information** → **App Credentials**
    * **Did you use the manifest?** If you created your app using Gumloop's manifest, interactivity is pre-configured. If you connected an existing app, you may need to add this manually.
  </Accordion>

  <Accordion title="Can't find credentials in Slack" icon="magnifying-glass">
    In your Slack app at [api.slack.com/apps](https://api.slack.com/apps):

    * **Client ID, Client Secret, Signing Secret**: Found in **Basic Information** → **App Credentials**
    * Click "Show" next to each secret to reveal it, then copy
  </Accordion>
</AccordionGroup>

***

## Important Limitations

<CardGroup cols={2}>
  <Card title="One Agent Per Custom App" icon="1">
    Each custom Slack app credential can only be assigned to one Gummie agent. Create separate Slack apps for each agent you need.
  </Card>

  <Card title="No Slash Commands" icon="terminal">
    Custom Slack apps don't support `/gummie` commands. Manage your bot by inviting/removing it from channels directly.
  </Card>

  <Card title="Credential Exclusivity" icon="lock">
    A custom Slack app credential cannot be shared between multiple agents. Assigning it to a second agent removes it from the first.
  </Card>

  <Card title="Manual Channel Management" icon="hand">
    Unlike the standard integration, you must manually invite your custom bot to each channel where you want it to work.
  </Card>
</CardGroup>

***

## Security Considerations

<AccordionGroup>
  <Accordion title="Credential Protection" icon="shield">
    Your Slack app's Client Secret and Signing Secret are stored securely in Gumloop and used to verify that incoming webhooks and interactive payloads are actually from Slack. Both event callbacks and interactive component actions (button clicks, modal submissions) are verified using your app's Signing Secret before processing. Never share these secrets or expose them in logs.
  </Accordion>

  <Accordion title="User Matching" icon="users">
    Users must have matching email addresses in Slack and Gumloop for the integration to work. This ensures proper authentication and prevents unauthorized access.
  </Accordion>

  <Accordion title="Permission Verification" icon="check-double">
    Before processing messages, Gumloop verifies:

    * The user has a valid Gumloop account
    * The user has permission to access the agent
    * For team agents, team membership is verified
  </Accordion>
</AccordionGroup>

***

## FAQ

<AccordionGroup>
  <Accordion title="Can I use both the standard @Gumloop bot and a custom app in the same workspace?">
    Yes! They operate independently. The standard bot uses channel-based mapping with `/gummie` commands, while custom apps use bot-based mapping with direct invites. You can have both active in different channels.
  </Accordion>

  <Accordion title="What's the difference between New App and Existing App setup?">
    **New App** uses a pre-configured manifest that automatically sets up all required permissions and events—it's faster and less error-prone. **Existing App** lets you connect a Slack app you've already created, but you're responsible for ensuring all scopes and events are configured correctly.
  </Accordion>

  <Accordion title="What happens if I delete my custom Slack app in Slack?">
    The credential in Gumloop will stop working immediately. You'll need to create a new app and set it up again.
  </Accordion>

  <Accordion title="How do I update my bot's name or avatar?">
    Update these in your Slack app settings at [api.slack.com/apps](https://api.slack.com/apps). Changes will reflect in Slack automatically—no changes needed in Gumloop.
  </Accordion>

  <Accordion title="Can I have multiple custom apps assigned to one agent?">
    Yes! This is useful when you want the same agent available in multiple Slack workspaces. Each workspace installation creates a separate credential, and you can assign all of them to a single agent.
  </Accordion>
</AccordionGroup>

***

## Next Steps

<CardGroup cols={3}>
  <Card title="Build Your First Agent" icon="robot" href="/core-concepts/agents">
    Learn how to create and configure agents in Gumloop
  </Card>

  <Card title="Standard Slack Integration" icon="slack" href="/core-concepts/agents_slack">
    Review the standard Slack setup if you haven't used it yet
  </Card>

  <Card title="Managing Credentials" icon="key" href="/core-concepts/credentials">
    Learn more about credential types and management
  </Card>
</CardGroup>
