# Installation

Copy as Markdown[View as Markdown](/docs/development/ask-your-architecture/slack-integration/installation.md)

***

i

This feature is available on the

<!-- -->

[Scale](/pricing.md)

<!-- -->

[ plan](/pricing.md).

Install the EventCatalog Slack Bot locally or deploy it to your infrastructure. The bot runs as a long-lived process that maintains a connection to Slack.

## Install locally[​](#install-locally "Direct link to Install locally")

### Clone repository[​](#clone-repository "Direct link to Clone repository")

```
git clone https://github.com/event-catalog/eventcatalog-slack-bot.git
cd eventcatalog-slack-bot
```

### Install dependencies[​](#install-dependencies "Direct link to Install dependencies")

* npm
* pnpm

```
npm install
```

```
pnpm install
```

### Configure environment[​](#configure-environment "Direct link to Configure environment")

Create a `.env` file with your credentials:

```
# EventCatalog Scale License (Required)
EVENTCATALOG_SCALE_LICENSE_KEY=XXXX-XXXX-XXXX-XXXX-XXXX-XXXX

# Slack Credentials (Required)
SLACK_BOT_TOKEN=xoxb-...
SLACK_APP_TOKEN=xapp-...
SLACK_SIGNING_SECRET=...

# AI Provider (at least one required)
ANTHROPIC_API_KEY=sk-ant-...
# OPENAI_API_KEY=sk-...
# GOOGLE_GENERATIVE_AI_API_KEY=...
```

### Create configuration[​](#create-configuration "Direct link to Create configuration")

Create `eventcatalog-bot.config.ts`:

```
export default {
  eventCatalog: {
    url: 'http://localhost:3000',
    // Optional: Add authentication headers
    // headers: {
    //   'Authorization': 'Bearer your-token',
    // },
  },
  ai: {
    provider: 'anthropic', // 'anthropic' | 'openai' | 'google'
    // model: 'claude-sonnet-4-20250514', // Optional: override default model
    maxSteps: 5,
    temperature: 0.4,
  },
  slack: {
    // Optional: Channel IDs for auto-reply (bot responds to all messages)
    autoReplyChannels: [],
    // Optional: Custom icon URL for bot messages
    icon: 'https://www.eventcatalog.dev/img/logo.png',
    // Optional: Custom username for bot messages
    username: 'EventCatalog',
  },
};
```

### Start the bot[​](#start-the-bot "Direct link to Start the bot")

* npm
* pnpm

```
npm run dev
```

```
pnpm dev
```

Or with a custom config path:

* npm
* pnpm

```
npm run dev -- --config ./my-config.ts
```

```
pnpm dev --config ./my-config.ts
```

## Configuration reference[​](#configuration-reference "Direct link to Configuration reference")

### eventCatalog[​](#eventcatalog "Direct link to eventCatalog")

| Option    | Type   | Required | Description                       |
| --------- | ------ | -------- | --------------------------------- |
| `url`     | string | Yes      | URL of your EventCatalog instance |
| `headers` | object | No       | Authentication headers if needed  |

### ai[​](#ai "Direct link to ai")

| Option        | Type   | Default          | Description                                                    |
| ------------- | ------ | ---------------- | -------------------------------------------------------------- |
| `provider`    | string | Required         | AI provider: `anthropic`, `openai`, or `google`                |
| `model`       | string | Provider default | Model to use (see [supported models](#supported-ai-providers)) |
| `maxSteps`    | number | 5                | Maximum tool-calling steps (1-20)                              |
| `temperature` | number | 0.4              | AI temperature (0-2)                                           |

### slack[​](#slack "Direct link to slack")

| Option              | Type      | Default           | Description                                        |
| ------------------- | --------- | ----------------- | -------------------------------------------------- |
| `autoReplyChannels` | string\[] | \[]               | Channel IDs where bot auto-replies to all messages |
| `icon`              | string    | EventCatalog logo | Custom icon URL for bot messages                   |
| `username`          | string    | 'EventCatalog'    | Custom display name for bot messages               |

## Supported AI providers[​](#supported-ai-providers "Direct link to Supported AI providers")

| Provider  | Environment Variable           | Default Model              |
| --------- | ------------------------------ | -------------------------- |
| Anthropic | `ANTHROPIC_API_KEY`            | `claude-sonnet-4-20250514` |
| OpenAI    | `OPENAI_API_KEY`               | `gpt-4o`                   |
| Google    | `GOOGLE_GENERATIVE_AI_API_KEY` | `gemini-2.0-flash`         |

You can override the default model in your configuration. For a full list of available models, see the [Vercel AI SDK Providers documentation](https://ai-sdk.dev/providers/ai-sdk-providers).

```
ai: {
  provider: 'anthropic',
  model: 'claude-opus-4-20250514', // Use a different model
}
```

## License key[​](#license-key "Direct link to License key")

Get your EventCatalog Scale license key from [eventcatalog.cloud](https://eventcatalog.cloud). A 14-day free trial is available.

The license key must be set as the `EVENTCATALOG_SCALE_LICENSE_KEY` environment variable.
