> For the complete documentation index, see [llms.txt](https://docs.balkan.id/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.balkan.id/playbooks/webhook-driven-playbooks.md).

# Webhook-Driven Playbooks

Playbooks can be authored in any workflow system such as Powershell, n8n, Tines, or custom scripts via any available IDE, also with the help of generative AI. BalkanID's recommended approach is authoring playbooks via n8n. Authored playbooks can be version controlled in Github repositories. The whole development and deployment of playbooks can be automated via Github actions.&#x20;

On the BalkanID side, the playbook integration model is an Outbound Webhook destination subscribed to one or more event topics (employee.created, request.actioned, campaign.completed, integration.sync, and so on). BalkanID pushes signed event payloads to any webhook URL when those topics fire. As long as the webhook URL stays stable across releases, the workflows (playbooks) behind it can be changed freely and managed via any repository management and CI/CD automation framework.

{% hint style="info" icon="exclamation" %}
The older pattern of configuring a Playbook with a Server URL and triggering it manually from the Findings is still supported on some tenants, but the recommended path going forward is to subscribe an Outbound Webhook destination to the event topics you care about and let playbook react to those events. This document describes the newer path.
{% endhint %}

BalkanID's Outbound Webhooks feature (under Configure → Webhooks in your tenant) lets you register destinations that receive event payloads when things happen inside BalkanID. For more details on BalkanID Outbook Webhooks, refer [here](/playbooks/outbound-webhooks.md).&#x20;


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.balkan.id/playbooks/webhook-driven-playbooks.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
