Skip to main content
Register and inspect webhook hooks.
Mint a trigger link — a PUBLIC URL that fires the topic’s hooks. --execution-key is REQUIRED: the api-key identity the link’s DISPATCH is gated on, so revoking or disabling that key kills the link (each hook the link fires is authorized against its OWN bound key). Bind your own identity when you are an api key, or a key you own (an admin may bind any key); an account is refused. Its policy condition must be evaluable without a presented token. Exactly ONE of --ttl SECONDS or --permanent is required — expiry is an explicit choice. --require-api-key also demands an authenticated caller, enforced only where access control is ENABLED; it does not touch the topic’s own /universal_webhook/{topic} door, which stays public by its own route declaration — a verifier binding is its only lock. --params merges BELOW each fired hook’s static tool_kwargs, so a link never restates a pinned argument. The token is shown ONCE, in the printed absolute URL; the link is MULTI-use and revocable by name (tai hooks delete-trigger-link NAME). Regenerate = revoke + create. Example: tai hooks create-trigger-link events --execution-key svc --ttl 3600 --params '{"p":"hi"}'

tai hooks delete

Unregister a hook by name. Example: tai hooks delete h1
Revoke a trigger link by name. The revocation is immediate and durable: a restored backup cannot re-arm it. Example: tai hooks delete-trigger-link my-wall-qr

tai hooks delete-verifier

Remove a topic’s verifier binding. ADMIN-ONLY: a hooks-write role is fenced out of this door and reads a bare 403. Unbinding REOPENS the topic’s public /universal_webhook/{topic} ingress door to anyone who knows the topic name, at which point every hook on it fires under its bound execution key for an anonymous caller. Example: tai hooks delete-verifier github

tai hooks list

List registered hooks. The per-topic verifier bindings and each topic’s derived trigger_auth ride the --json body. Example: tai hooks list --topic github

tai hooks register

Register a hook from a HookRegister JSON body. Exactly one of --params or --params-file is required. The body REQUIRES an execution_key — the api-key user id the hook fires as. Bind your own identity when you are an api key, or a key you own (an admin may bind any key); an account is refused. Its policy condition must be evaluable without a presented token. An existing name is REPLACED, execution_key included, and registered is true either way — run tai hooks list first to see whether the name is taken. A hook is a parkable-driving door: an optional start_expr builds the fired tool’s kwargs over the event payload (e.g. "start_expr":".body"), and cancel_expr / resume_expr / extras_expr act on the run’s parked interactions and its extras. Example: tai hooks register --params '{"name":"h1","topic":"gh","tool":"notify","execution_key":"svc"}'

tai hooks runs

List, retry or discard hook runs.

tai hooks runs discard

Discard a failed hook run for good. Example: tai hooks runs discard RUN_ID --yes

tai hooks runs list

List the kept hook runs, never their payloads; --json adds the outstanding and failed totals. The acted column says whether the hook had acted when the run failed: start (a retry replays the tool’s start), "" or cancel (a retry runs the hook again), or resume or take (it can only be discarded). Example: tai hooks runs list --status failed

tai hooks runs retry

Retry a failed hook run with the same id, and so the same idempotency key. A run whose hook started its tool replays that start alone; any other runs its hook again. A run whose hook committed a resume or a take is refused, and the refusal says why. Example: tai hooks runs retry RUN_ID

tai hooks set-verifier

Bind a webhook verifier to a topic so its deliveries are signature-verified. ADMIN-ONLY: a hooks-write role is fenced out of this door and reads a bare 403. Binding also takes every trigger link on the topic OUT OF SERVICE until it is removed — those doors answer a uniform 404 while the binding stands. Example: tai hooks set-verifier github --verifier github_hmac
List trigger links. Each record carries name, topic, execution key, door auth, expiry, and hash prefix; never a raw token. Example: tai hooks trigger-links

tai hooks verifiers

List the registered webhook-verifier names (the bind catalog). Example: tai hooks verifiers