linkrunner-webhookslisted
Install: claude install-skill linkrunner-labs/skills
# Linkrunner - Webhooks integration
You are adding a **server-side webhook receiver** for Linkrunner attribution
events to a backend project. Linkrunner sends a POST request to a URL you
configure in the dashboard whenever an install is attributed or a user signs
up. Work in this order and **inspect the project before editing** - do not
paste snippets blindly.
## 0. Before you touch anything
1. Detect the backend framework and language: `package.json` for
`express` / `fastify` / `next` / `@nestjs/core`; `requirements.txt` or
`pyproject.toml` for `flask` / `fastapi` / `django`; adjust for anything
else you find. Do not assume - read the manifest.
2. Find where routes/handlers already live (an existing `routes/`, `api/`, or
`controllers/` tree; for Next.js, `app/api/*/route.ts` or
`pages/api/*.ts`; for Django, `urls.py`) and add the webhook route there,
matching the project's existing conventions (routing style, error
handling, logging).
3. Find how secrets are configured (`.env`, a config module, a secrets
manager) - the project's private key belongs there, never hardcoded.
4. Get the project's **private key** from the dashboard
([Settings -> Webhooks](https://dashboard.linkrunner.io/settings?s=webhooks))
if it isn't already in the project's env as something like
`LINKRUNNER_PRIVATE_KEY`.
## 1. Decide what the user actually needs
| They want... | Do this |
| --- | --- |
| "Set up Linkrunner webhooks" / "receive install/signup events" | `re