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
    • 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

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

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