# Setting Up a Webhook

You create and manage webhooks yourself in the **Aktify Portal** — no need to contact Aktify to get one configured.

1. Sign in to the [Aktify Portal](https://admin.aktify.io).
2. Open **Settings** from the main navigation, then select the **Webhooks** tab.
3. Click **Create** to open the **Create webhook** dialog.
4. Fill out the webhook details:
   - **Choose campaign** — Select the campaign whose events you want to receive, or choose **All campaigns** to receive events from every campaign in your company through a single endpoint.
   - **Event types** — Select one or more [events](./overview#supported-events) to subscribe to. You must select at least one.
   - **Webhook URL** — Enter the HTTPS URL where Aktify should send event notifications.
   - **Secret** — Click **Generate** to create a secret automatically, or enter your own (minimum 16 characters). Payloads are signed with this value. **Copy it and store it securely** — you'll need it to [verify webhook requests](./verification).
5. Click **Create** to save the webhook.

:::tip Test before you rely on it
After creating a webhook, use the **test** action on the webhook to send a sample payload to your endpoint and confirm it's receiving and verifying requests correctly.
:::

:::info Viewing your secret later
The secret isn't shown in the webhooks list. To view or copy it again, edit the webhook to open its details. To change a campaign assignment, create a new webhook — the campaign can't be edited after creation.
:::

To update a webhook's events, URL, or secret later, return to **Settings → Webhooks** and edit it. If a webhook becomes broken after repeated delivery failures (see [Best Practices](./best-practices#retry-behavior)), reconfigure it from the same page to resume delivery.

## Custom payloads

By default, Aktify sends events using the standard [request format](./overview#v2-request-format). If your integration expects a different structure, you can override the request body per event type — see [Custom Payloads](./custom-payloads).
