---
title: "Webhooks hooks"
description: "React hooks for webhooks — webhook endpoints (inbound HTTP targets)
and webhook subscriptions (event → endpoint mappings)."
section: "Libraries"
group: "React hooks"
order: 471
---

## Usage

```tsx
import Aeontel from "@aeontel/sdk";
import { AeontelProvider, useListWebhookEndpoints } from "@aeontel/react";

const client = new Aeontel(import.meta.env.VITE_AEONTEL_API_KEY);

function App() {
  return (
    <AeontelProvider client={client}>
      <WebhooksList workspaceId="wsp_abc123" />
    </AeontelProvider>
  );
}

function WebhooksList({ workspaceId }: { workspaceId: string }) {
  const { data, isLoading } = useListWebhookEndpoints({
    workspace_id: workspaceId,
  });
  if (isLoading) return <p>Loading…</p>;
  return (
    <ul>
      {data?.data.map((w) => (
        <li key={w.id}>{w.url}</li>
      ))}
    </ul>
  );
}
```

## Hooks

### `useCreateWebhookEndpoint` `mutation`

Create a new webhook endpoint. Auto-invalidates webhook endpoint queries on success.

```ts
useCreateWebhookEndpoint(options?: MutationOpts<WebhookEndpoint, CreateWebhookEndpointParams>)
```

**Types:** [WebhookEndpoint](/types/webhook-endpoint) · [CreateWebhookEndpointParams](/types/create-webhook-endpoint-params)

```ts
const create = useCreateWebhookEndpoint();
create.mutate({ workspaceId: "wsp_abc123", url: "https://example.com/hook" });
```

### `useCreateWebhookSubscription` `mutation`

Create a new webhook subscription. Auto-invalidates webhook subscription queries on success.

```ts
useCreateWebhookSubscription(options?: MutationOpts<WebhookSubscription, CreateWebhookSubscriptionParams>)
```

**Types:** [WebhookSubscription](/types/webhook-subscription) · [CreateWebhookSubscriptionParams](/types/create-webhook-subscription-params)

```ts
const create = useCreateWebhookSubscription();
create.mutate({ endpointId: "wbhend_abc", eventType: "agent.updated" });
```

### `useDeleteWebhookEndpoint` `mutation`

Delete a webhook endpoint. Auto-invalidates webhook endpoint queries on success.

```ts
useDeleteWebhookEndpoint(options?: MutationOpts<SuccessResponse, string>)
```

**Types:** [SuccessResponse](/types/success-response)

```ts
const del = useDeleteWebhookEndpoint();
del.mutate("wbhend_abc");
```

### `useDeleteWebhookSubscription` `mutation`

Delete a webhook subscription. Auto-invalidates webhook subscription queries on success.

```ts
useDeleteWebhookSubscription(options?: MutationOpts<SuccessResponse, string>)
```

**Types:** [SuccessResponse](/types/success-response)

```ts
const del = useDeleteWebhookSubscription();
del.mutate("wbhsub_abc");
```

### `useListWebhookEndpoints` `query`

Fetch paginated list of webhook endpoints.

```ts
useListWebhookEndpoints(params?: Omit<ListWebhookEndpointsParams, | > & { filter?: WebhookEndpointFilter; orderBy?: WebhookEndpointOrderBy[]; } & WebhookEndpointShorthands, options?: QueryOpts<Page<WebhookEndpoint>>)
```

**Types:** [ListWebhookEndpointsParams](/types/list-webhook-endpoints-params) · [WebhookEndpointFilter](/types/webhook-endpoint-filter) · [WebhookEndpointOrderBy](/types/webhook-endpoint-order-by) · [WebhookEndpointShorthands](/types/webhook-endpoint-shorthands) · [Page](/types/page) · [WebhookEndpoint](/types/webhook-endpoint)

```ts
const { data } = useListWebhookEndpoints({ workspace_id: "wsp_abc123" });
```

### `useListWebhookSubscriptions` `query`

Fetch paginated list of webhook subscriptions.

```ts
useListWebhookSubscriptions(params?: Omit<ListWebhookSubscriptionsParams, | > & { filter?: WebhookSubscriptionFilter; orderBy?: WebhookSubscriptionOrderBy[]; } & WebhookSubscriptionShorthands, options?: QueryOpts<Page<WebhookSubscription>>)
```

**Types:** [ListWebhookSubscriptionsParams](/types/list-webhook-subscriptions-params) · [WebhookSubscriptionFilter](/types/webhook-subscription-filter) · [WebhookSubscriptionOrderBy](/types/webhook-subscription-order-by) · [WebhookSubscriptionShorthands](/types/webhook-subscription-shorthands) · [Page](/types/page) · [WebhookSubscription](/types/webhook-subscription)

```ts
const { data } = useListWebhookSubscriptions({ workspace_id: "wsp_abc123" });
```

### `usePurgeWebhookEndpoint` `composite`

Permanently delete a soft-deleted webhook endpoint. Caller must have admin tier.

```ts
usePurgeWebhookEndpoint(options?: MutationOpts<SuccessResponse, PurgeWebhookEndpointParams>)
```

**Types:** [SuccessResponse](/types/success-response) · [PurgeWebhookEndpointParams](/types/purge-webhook-endpoint-params)

### `useRestoreWebhookEndpoint` `composite`

Restore a soft-deleted webhook endpoint.

```ts
useRestoreWebhookEndpoint(options?: MutationOpts<WebhookEndpoint, string>)
```

**Types:** [WebhookEndpoint](/types/webhook-endpoint)

### `useRestoreWebhookSubscription` `composite`

Restore a soft-deleted webhook subscription.

```ts
useRestoreWebhookSubscription(options?: MutationOpts<WebhookSubscription, string>)
```

**Types:** [WebhookSubscription](/types/webhook-subscription)

### `useRetrieveWebhookEndpoint` `query`

Fetch a single webhook endpoint by ID.

```ts
useRetrieveWebhookEndpoint(id: string, options?: QueryOpts<WebhookEndpoint>)
```

**Types:** [WebhookEndpoint](/types/webhook-endpoint)

```ts
const { data: endpoint } = useRetrieveWebhookEndpoint("wbhend_abc");
```

### `useRetrieveWebhookSubscription` `query`

Fetch a single webhook subscription by ID.

```ts
useRetrieveWebhookSubscription(id: string, options?: QueryOpts<WebhookSubscription>)
```

**Types:** [WebhookSubscription](/types/webhook-subscription)

```ts
const { data: sub } = useRetrieveWebhookSubscription("wbhsub_abc");
```

### `useUpdateWebhookEndpoint` `mutation`

Update an existing webhook endpoint. Optimistically updates the
detail cache and invalidates on settle.

```ts
useUpdateWebhookEndpoint(options?: MutationOpts<WebhookEndpoint, UpdateWebhookEndpointParams>)
```

**Types:** [WebhookEndpoint](/types/webhook-endpoint) · [UpdateWebhookEndpointParams](/types/update-webhook-endpoint-params)

```ts
const update = useUpdateWebhookEndpoint();
update.mutate({ id: "wbhend_abc", url: "https://new.example.com/hook" });
```

### `useUpdateWebhookSubscription` `mutation`

Update an existing webhook subscription. Optimistically updates the
detail cache and invalidates on settle.

```ts
useUpdateWebhookSubscription(options?: MutationOpts<WebhookSubscription, UpdateWebhookSubscriptionParams>)
```

**Types:** [WebhookSubscription](/types/webhook-subscription) · [UpdateWebhookSubscriptionParams](/types/update-webhook-subscription-params)

```ts
const update = useUpdateWebhookSubscription();
update.mutate({ id: "wbhsub_abc", eventType: "run.completed" });
```
