> ## Documentation Index
> Fetch the complete documentation index at: https://novu-c5de82d9-docs-homepage-redesign.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Create your first agent and connect it to Slack in under 10 minutes.

This guide covers creating a custom code agent in the dashboard, hooking up Slack, scaffolding the bridge app, and getting a reply in-thread.

By the end, you'll have a working agent that receives messages from Slack and replies based on your handler code.

**Prerequisites:**

* A [Novu account](https://dashboard.novu.co).
* A Slack workspace where you can install apps.
* Node.js on your machine.

<Prompt description="Add a Novu agent to my app" icon="plug" actions={["copy", "cursor"]}>
  Add an agent to my app following instructions from this markdown file: [https://novu.co/agents.md](https://novu.co/agents.md)

  Follow my project's existing framework, routing, styling, and TypeScript conventions.

  Reference: [https://docs.novu.co/agents/custom-code-agent/quickstart](https://docs.novu.co/agents/custom-code-agent/quickstart)
</Prompt>

<Steps>
  <Step>
    ## Create your agent

    1. Go to the Novu dashboard.
    2. In the sidebar, click **Agents**.
    3. Click **Create agent**.
    4. Fill in the required fields:
       * **Agent name**: Display name for your agent.
       * **Identifier**: Unique slug used in code. Cannot be changed after creation.
       * **Description**: Optional.
    5. Click **Set up agent**.

           <img src="https://mintcdn.com/novu-c5de82d9-docs-homepage-redesign/_Er4ZWa6vVDiKb7d/images/agents/quickstart/add-agent.png?fit=max&auto=format&n=_Er4ZWa6vVDiKb7d&q=85&s=8863b4a25fb7d6fdf02400f9d544987f" alt="Add agent" width="3024" height="1722" data-path="images/agents/quickstart/add-agent.png" />

    Novu opens the guided setup page after creation.
  </Step>

  <Step>
    ## Select a provider

    1. On the setup page, open **Select provider**.
    2. Select **Slack**.

           <img src="https://mintcdn.com/novu-c5de82d9-docs-homepage-redesign/_Er4ZWa6vVDiKb7d/images/agents/quickstart/select-provider.png?fit=max&auto=format&n=_Er4ZWa6vVDiKb7d&q=85&s=ff78043ebdd8b7a97abecb452febad51" alt="Select provider" width="3024" height="1722" data-path="images/agents/quickstart/select-provider.png" />

    The dashboard unlocks the Slack setup steps.
  </Step>

  <Step>
    ## Create a Slack app

    Novu can create the Slack app using a Slack App Configuration Token.

    1. Click **Slack App Configuration Token** to open [Slack API apps](https://api.slack.com/apps).
    2. Under **Your App Configuration Tokens**, click **Generate Token**.
           <img src="https://mintcdn.com/novu-c5de82d9-docs-homepage-redesign/_Er4ZWa6vVDiKb7d/images/agents/quickstart/generate-slack-token.png?fit=max&auto=format&n=_Er4ZWa6vVDiKb7d&q=85&s=3d8fe962184a45050d03030e2db5f1be" alt="Generate Slack token" width="3024" height="1722" data-path="images/agents/quickstart/generate-slack-token.png" />
    3. Select your workspace and click **Generate**.
    4. Copy the token.
    5. In Novu, paste the token and click **Create app**.

    <Note>
      The configuration token is used once to create your Slack app and is not stored by Novu.
    </Note>
  </Step>

  <Step>
    ## Install the app in your workspace

    1. Click **Install agent** (the label may include your agent name, for example **Install My Agent**).
    2. Review permissions in Slack and click **Allow**.

           <img src="https://mintcdn.com/novu-c5de82d9-docs-homepage-redesign/_Er4ZWa6vVDiKb7d/images/agents/quickstart/install-app.png?fit=max&auto=format&n=_Er4ZWa6vVDiKb7d&q=85&s=4af014846c648bf31fa3af4fed57058f" alt="Install app" width="3024" height="1720" data-path="images/agents/quickstart/install-app.png" />

    You'll receive a welcome message from the agent when installation completes.
  </Step>

  <Step>
    ## Scaffold your agent project

    Copy the scaffold command from the dashboard:

    ```bash theme={null}
    npx novu@latest init -t agent \
     --secret-key=<NOVU_SECRET_KEY> \
     --api-url=<NOVU_API_URL>
    ```

    Run it in the directory where you want the project. See [Scaffold your project](/agents/custom-code-agent/setup-your-agent/scaffold-your-project) for details.
  </Step>

  <Step>
    ## Start your agent locally

    ```bash theme={null}
    npm run dev:novu
    ```

    This starts your app, opens a dev tunnel, and registers the bridge URL. When connected, you'll see another message from your agent in Slack.
  </Step>

  <Step>
    ## Send a message

    Message your bot in Slack. Your `onMessage` handler runs and the reply appears in the thread.

    <img src="https://mintcdn.com/novu-c5de82d9-docs-homepage-redesign/_Er4ZWa6vVDiKb7d/images/agents/quickstart/slack-message.png?fit=max&auto=format&n=_Er4ZWa6vVDiKb7d&q=85&s=13c72f61a05308bbed41db22504b3766" alt="Slack message" width="4824" height="2724" data-path="images/agents/quickstart/slack-message.png" />

    Edit files in `app/novu/agents/` to customize behavior. See [Handle events](/agents/custom-code-agent/setup-your-agent/handle-events) for all event types.
  </Step>
</Steps>

## Next steps

<Columns cols={2}>
  <Card icon="mouse-pointer-click" href="/agents/custom-code-agent/setup-your-agent/handle-events" title="Handle events">
    Respond to actions, reactions, and resolution events.
  </Card>

  <Card icon="layout-grid" href="/agents/custom-code-agent/setup-your-agent/reply" title="Reply">
    Markdown, attachments, and interactive cards.
  </Card>

  <Card icon="signal" href="/agents/custom-code-agent/setup-your-agent/signals" title="Signals">
    Metadata, workflow triggers, and conversation resolution.
  </Card>

  <Card icon="brain" href="/agents/custom-code-agent/connect-your-first-agent" title="Connect your first agent">
    Full support-bot walkthrough with an LLM.
  </Card>
</Columns>
