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

# Core Resources

> Understanding the main building blocks of HookStack: Webhooks, Destinations, and Routes

HookStack is built around three core resources that work together to handle your data flow:
Webhooks, Destinations, and Routes. Understanding how these components interact is key to
making the most of HookStack.

# Webhooks

Webhooks are your entry points for receiving data. They provide unique URLs that can accept
incoming HTTP requests from your data sources.

### Creating a Webhook

1. Navigate to the Webhooks page in your dashboard
2. Click "+ New Webhook"
3. Configure your webhook:
   * Name: A descriptive identifier
   {/* - Description (optional): Details about the webhook's purpose */}
   * Service: Choose from a list of supported services
   * Most services will request a Signing Secret, which is used to verify the authenticity of the webhook data. You can find where to retrieve this in the service's documentation.

Once created, you'll receive a unique webhook URL for secure data transmission.

***

# Destinations

Destinations define where your processed data should be sent. HookStack supports various
destination types to fit your needs.

### Supported Destination Types

* **HTTP/REST APIs**: Send data to external API endpoints
* **Messaging apps**: Slack
* ***Message Queues**: AWS SQS, RabbitMQ, etc. (Coming soon)*
* ***Databases**: PostgreSQL, MongoDB, etc. (Coming soon)*
* ***Cloud Storage**: S3, Google Cloud Storage (Coming soon)*
* ***Custom Functions**: Write custom code to handle data (Coming soon)*

### Setting Up a Destination

1. Go to the Destinations section
2. Select "+ New Destination"
3. Choose your destination type
4. You will be prompted to provide the required configuration for that destination type. This might include:
   * Connection details
   * Authentication credentials
   {/* - Retry policies */}
   {/* - Transformation rules (optional) */}

***

# Routes

Routes are the connectors that define how received events flow from your **Webhooks** to your **Destinations**.
They allow you to create powerful data pipelines.

### Creating a Route

1. Visit the Routes page
2. Click "+ New Route"
3. Define your route:
   * Select source webhook
   * Choose target destination
   {/* - Set up data transformations (optional) */}
   {/* - Configure error handling */}
   {/* - Enable/disable route */}

{/* ### Route Features

- **Data Transformation**: Transform payload structure
- **Filtering**: Process only relevant data
- **Error Handling**: Define retry strategies
- **Monitoring**: Track success rates and performance */}

## Putting It All Together

Here's a typical workflow:

1. Create a **Webhook** to receive data from your source
2. Set up a **Destination** where the data should go
3. Create a **Route** to connect them
