# Trigger tasks from Hookdeck webhooks

> Source: https://trigger.dev/docs/guides/examples/hookdeck-webhook

[​](https://trigger.dev/docs/guides/examples/hookdeck-webhook#overview)

Overview
-----------------------------------------------------------------------------------

This example shows how to use [Hookdeck](https://hookdeck.com/)
 as your webhook infrastructure to trigger Trigger.dev tasks. Hookdeck receives webhooks from external services, and forwards them directly to the Trigger.dev API. This gives you the best of both worlds: Hookdeck’s webhook management, logging, and replay capabilities, combined with Trigger.dev’s reliable task execution.

[​](https://trigger.dev/docs/guides/examples/hookdeck-webhook#key-features)

Key features
-------------------------------------------------------------------------------------------

*   Use Hookdeck as your webhook endpoint for external services
*   Hookdeck forwards webhooks directly to Trigger.dev tasks via the API
*   All webhooks are logged and replayable in Hookdeck

[​](https://trigger.dev/docs/guides/examples/hookdeck-webhook#setting-up-hookdeck)

Setting up Hookdeck
---------------------------------------------------------------------------------------------------------

You’ll configure everything in the [Hookdeck dashboard](https://dashboard.hookdeck.com/)
. No code changes needed in your app.

### 

[​](https://trigger.dev/docs/guides/examples/hookdeck-webhook#1-create-a-destination)

1\. Create a destination

In Hookdeck, create a new [destination](https://hookdeck.com/docs/destinations)
 with the following settings:

*   **URL**: `https://api.trigger.dev/api/v1/tasks/<task-id>/trigger` (replace `<task-id>` with your task ID)
*   **Method**: POST
*   **Authentication**: Bearer token (use your `TRIGGER_SECRET_KEY` from Trigger.dev)

### 

[​](https://trigger.dev/docs/guides/examples/hookdeck-webhook#2-add-a-transformation)

2\. Add a transformation

Create a [transformation](https://hookdeck.com/docs/transformations)
 to wrap the webhook body in the `payload` field that Trigger.dev expects:

    addHandler("transform", (request, context) => {
      request.body = { payload: { ...request.body } };
      return request;
    });
    

### 

[​](https://trigger.dev/docs/guides/examples/hookdeck-webhook#3-create-a-connection)

3\. Create a connection

Create a [connection](https://hookdeck.com/docs/connections)
 that links your source (where webhooks come from) to the destination and transformation you created above.

[​](https://trigger.dev/docs/guides/examples/hookdeck-webhook#task-code)

Task code
-------------------------------------------------------------------------------------

This task will be triggered when Hookdeck forwards a webhook to the Trigger.dev API.

trigger/webhook-handler.ts

    import { task } from "@trigger.dev/sdk";
    
    export const webhookHandler = task({
      id: "webhook-handler",
      run: async (payload: Record<string, unknown>) => {
        // The payload contains the original webhook data from the external service
        console.log("Received webhook:", payload);
    
        // Add your custom logic here
      },
    });
    

[​](https://trigger.dev/docs/guides/examples/hookdeck-webhook#testing-your-setup)

Testing your setup
-------------------------------------------------------------------------------------------------------

To test everything is working:

1.  Set up your destination, transformation, and connection in [Hookdeck](https://dashboard.hookdeck.com/)
    
2.  Send a test webhook to your Hookdeck source URL (use the Hookdeck Console or cURL)
3.  Check the Hookdeck dashboard to verify the webhook was received and forwarded
4.  Check the [Trigger.dev dashboard](https://cloud.trigger.dev/)
     to see the successful run of your task

For more information on setting up Hookdeck, refer to the [Hookdeck Documentation](https://hookdeck.com/docs)
.

Was this page helpful?

YesNo

[Previous](https://trigger.dev/docs/guides/examples/stripe-webhook)
[Migrating from MergentA guide for migrating from Mergent to Trigger.dev\
\
Next](https://trigger.dev/docs/migration-mergent)

Ctrl+I

Assistant

Responses are generated using AI and may contain mistakes.
