# Webhooks & Event Subscriptions

Use this guide when you want KlickTipp to send contact data or deletion-request events to an external system.

Webhooks are useful when another tool must react to changes in KlickTipp without polling the API. Common targets include CRMs, databases, Zapier, Kajabi, Make, n8n, spreadsheets, data warehouses, and internal backends.

## Overview

A KlickTipp webhook sends data to a configured URL when a specific event happens.

Typical webhook use cases include:

- sending contact data to an external system after a tag is applied
- forwarding contact data from KlickTipp to a CRM or database
- triggering automations in Zapier, Make, n8n, or Kajabi
- notifying another system after a campaign action
- forwarding deletion requests from the Privacy Dashboard
- documenting or processing data deletion in third-party systems


In older KlickTipp materials, this feature may be called `Outbound`. In the current KlickTipp interface, it is configured under `Automation` > `Webhook`.

## When to Use This Topic

Use webhooks when an external system must be notified automatically by KlickTipp.

Use an API call instead when the external system needs to actively read, search, create, or update data in KlickTipp.

| Use case | Recommended approach |
|  --- | --- |
| KlickTipp sends contact data to another system | Webhook |
| External system creates or updates contacts in KlickTipp | Management API or Listbuilding API |
| External system reacts to tags or campaign actions in KlickTipp | Webhook |
| External system periodically imports KlickTipp data | Management API |
| Deletion request must also be processed outside KlickTipp | Deletion webhook |


Webhooks and APIs are often used together. A webhook can notify your integration that something changed, and your backend can then use the API for follow-up actions.

## Recommended Integration Model

Use a secure HTTPS endpoint that receives the webhook and processes it asynchronously.

Recommended flow:

1. KlickTipp sends the webhook to your endpoint.
2. Your endpoint validates the request and payload.
3. Your endpoint stores the event or queues a background job.
4. Your integration processes the event.
5. Your integration logs the result and handles retries or manual review if needed.


Avoid putting complex business logic directly into the HTTP request lifecycle. Webhooks should respond quickly and process long-running work in the background.

## Step-By-Step Setup

### Create a Contact Data Webhook

1. Go to `Automation` > `Webhook` > `New Webhook`.
2. Enter a clear webhook name.
3. Optionally add a label.
4. Select the HTTP method: `POST` or `GET`.
5. For `POST`, select the payload format: `Form Data` or `JSON`.
6. Enter the target URL that should receive the webhook.
7. Select which contact fields should be sent.
8. Add static values if the receiving system requires fixed parameters.
9. Save and test the webhook.


Contact data webhooks can be triggered by manual tags, SmartTags, SmartLinks, or campaign actions.

### Create a Deletion Webhook

1. Go to `Automation` > `Webhook` > `New Webhook`.
2. Enter a clear name for the deletion webhook.
3. Choose a manual tag for the webhook.
4. Paste the activation URL from the third-party provider or your own endpoint.
5. Create the webhook.
6. Go to `Tools` > `Privacy Dashboard`.
7. Open `Settings`.
8. Select the webhook that should run for deletion requests.
9. Test and document the complete deletion workflow.


Deletion webhooks help trigger follow-up deletion work in connected systems after KlickTipp processes a deletion request.

## Required KlickTipp Objects

Before creating a webhook, define which KlickTipp objects trigger or support the workflow.

| Object | Purpose |
|  --- | --- |
| Manual tag | Triggers a webhook when assigned to a contact. |
| SmartTag | Triggers a webhook based on matching contact behavior or attributes. |
| SmartLink | Triggers a webhook after a tracked link interaction. |
| Campaign action | Triggers a webhook from an automation flow. |
| Contact fields | Define which contact data is included in the webhook payload. |
| Static values | Send fixed parameters such as routing keys or integration identifiers. |
| Privacy Dashboard setting | Selects the webhook used for deletion requests. |


Choose stable names so the webhook purpose is clear to support teams and future maintainers.

## Payload and Field Mapping

Only send data that the receiving system needs.

| Payload item | Description |
|  --- | --- |
| Email address | Main identifier for many receiving systems. |
| Contact ID | Use when the receiving system stores KlickTipp contact references. |
| Name fields | Useful for CRM, support, or fulfillment workflows. |
| Phone fields | Useful when SMS, sales, or support follow-up is required. |
| Custom fields | Transfer segmentation, product, campaign, or form data. |
| Static values | Add fixed parameters such as `apiKey`, source name, or routing ID. |
| Deletion-request data | Use to identify records that must be deleted outside KlickTipp. |


For `POST` webhooks, prefer `JSON` when the receiving system supports it. Use `Form Data` when the target tool expects form-encoded fields.

For supported field formats, see [Data Field Types and Input Formats](/guides/data-field-types).

## Trigger Strategy

Choose the trigger based on the business event.

| Trigger | Use when |
|  --- | --- |
| Manual tag | A workflow should start when a specific tag is applied. |
| SmartTag | The event is based on dynamic contact behavior or attributes. |
| SmartLink | The event should fire after a tracked link interaction. |
| Campaign action | The webhook is one step inside an automation campaign. |
| Privacy Dashboard deletion request | External systems must process deletion requests too. |


If a webhook is triggered by a tag, it can only run once every 6 hours for that tag-triggered flow. Webhooks triggered by campaign actions run immediately.

## Security and Consent Handling

Webhook endpoints should be treated as production integration endpoints.

Recommended safeguards:

- use HTTPS endpoints only
- include a static secret or routing token when the receiving system supports it
- validate required fields before processing the event
- avoid sending unnecessary personal data
- store logs with appropriate retention rules
- restrict who can edit webhook URLs and static values
- document deletion workflows for data protection audits


For deletion requests, make sure the connected system actually deletes or marks the corresponding record according to your data protection process.

## Error Handling and Validation

Test every webhook before using it in production.

Common issues include:

- target URL is not reachable
- target URL expects another HTTP method
- payload format does not match the receiving system
- required fields are missing
- static credentials or routing values are incorrect
- receiving system rejects duplicate events
- deletion workflow is not documented or tested


If the receiving system fails, the integration owner must know whether the event should be retried, stored for manual review, or ignored.

For general API error handling, see [Error Handling and Validation](/guides/error-handling).

## Related API References

Use these references when building webhook-based integrations:

| Topic | Reference |
|  --- | --- |
| Management API guide | [Management API](/guides/management-api) |
| Listbuilding API guide | [Listbuilding API](/guides/listbuilding-api) |
| Error handling | [Error Handling and Validation](/guides/error-handling) |
| Field formats | [Data Field Types and Input Formats](/guides/data-field-types) |
| Contact data webhooks | [Create Webhook in KlickTipp - Send Contact Data Automatically](https://www.klicktipp.com/support/knowledge-base/create-webhook/) |
| Deletion webhooks | [Use the Deletion Webhook in KlickTipp for Data Requests](https://www.klicktipp.com/support/knowledge-base/use-outbound-deletion-requests/) |


## Summary

Webhooks let KlickTipp notify external systems when relevant contact or deletion-request events happen.

Use contact data webhooks for real-time outbound contact updates. Use deletion webhooks when KlickTipp deletion requests must also trigger cleanup in connected systems.

Reliable webhook integrations use clear triggers, minimal payloads, secure target URLs, tested deletion workflows, and explicit error-handling rules.