# Getting Started

> Get started with Alphorn, the open-source notification router: create a webhook, send your first message, and route it to Slack, email, SMS, and more.

Source: https://docs.alphorn.dev/

Alphorn is an open-source, self-hostable notification routing platform. Receive webhooks, route messages to any channel with filtering, retries, and real-time streaming.

## Quick Start

### 1. Choose your deployment

You can use Alphorn in two ways:

- **Hosted** - Sign up at [app.alphorn.dev](https://app.alphorn.dev) and start sending immediately.
- **Self-hosted** - Run Alphorn on your own infrastructure. See the [Self-Hosting guide](/self-hosting) for details.

### 2. Add a channel

After signing in, go to **Channels** and configure where you want notifications delivered - Slack, Discord, Email, SMS, or any of the [supported channels](/channels).

### 3. Create a webhook

Go to **Webhooks**, create a webhook, and select the channel from step 2. Alphorn gives you a unique URL:

```
https://app.alphorn.dev/n/V1StGXR8_Z5jdHi6B-myT
```

Keep the URL private: by default it is the only secret. To also require an API key, switch on **API key required** when creating the webhook and copy the key right away (it is shown only once). See [API key](/webhooks#api-key).

### 4. Send a notification

```bash
curl -X POST https://app.alphorn.dev/n/V1StGXR8_Z5jdHi6B-myT \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Deploy Complete",
    "message": "v2.1.0 deployed to production",
    "priority": 3,
    "tags": ["deploy", "production"]
  }'
```

That's it. Alphorn answers with `201` and routes the message to all matching channels with automatic retries.

## Core Concepts

- **Webhooks** - HTTP endpoints that receive incoming notifications
- **Channels** - Destinations where notifications are delivered (Slack, Email, etc.)
- **Filtering Rules** - Route messages based on priority, tags, or payload content
- **Retries** - Failed deliveries automatically retry with exponential backoff
- **Projects** - Multi-tenant workspaces with role-based access control

## Next Steps

<Cards>
  <Card title="Self-Hosting" href="/self-hosting" />
  <Card title="Channels" href="/channels" />
  <Card title="Webhooks" href="/webhooks" />
  <Card title="Filtering" href="/filtering" />
  <Card title="API Reference" href="/api-reference" />
  <Card title="Webhook Templates" href="/webhook-templates" />
  <Card title="Retries" href="/retries" />
  <Card title="Streaming" href="/streaming" />
  <Card title="Integrations" href="/integrations" />
  <Card title="FAQ" href="/faq" />
</Cards>
