# typedhook > Type-safe webhooks for TypeScript, in the Standard Webhooks format. - **Get started** - [Introduction](/docs): Send, store and verify webhooks in the Standard Webhooks format. - [Installation](/docs/installation): Install the sender, the verifier, or both. - [Quickstart](/docs/quickstart): Send a signed webhook from one app and verify it in another. About five minutes, no database needed. - **Sending** - [Define events](/docs/define-events): Declare every event once, as a schema. The event name types the data you send and the payload your consumers receive. - [Subscribers](/docs/subscribers): Decide who receives each event, with a static list or a function that looks them up. - [Subjects](/docs/subjects): Say what each event is about, so you can route it to the right subscribers and your consumers can tell events apart. - [Direct delivery](/docs/direct-delivery): The default. send() posts to every subscriber right away and retries in memory. - [Signing secrets](/docs/signing-secrets): How webhooks are signed, which secret is used, and how to generate one. - **Outbox** - [How the outbox works](/docs/outbox): Save events in your database, in the same transaction as your data. A worker sends them later and retries until they succeed. - [Prisma adapter](/docs/prisma-adapter): Store the outbox in Postgres with Prisma. Claiming uses FOR UPDATE SKIP LOCKED, so any number of workers can run at once. - [Running workers](/docs/running-workers): Deliver outbox rows from a long-running process or a cron job, and know what happened to each one. - [Write an adapter](/docs/write-an-adapter): Store the outbox in any database by implementing five functions. - [Testing](/docs/testing): Test your outbox code without a database or a network, using memoryAdapter() and a stubbed fetch. - **Verifying** - [Verify requests](/docs/verify-requests): Check that a webhook came from its sender and is not a replay. Zero dependencies, and it never throws on a bad request. - [Frameworks](/docs/frameworks): Verify webhooks in Next.js, Hono, Cloudflare Workers, Express and Fastify. - [Failure reasons](/docs/failure-reasons): Every reason verify() can return, in the order the checks run, and what usually causes each one. - [Typed payloads](/docs/typed-payloads): Share your event types with the apps that receive them, through a type-only import. - [Handling duplicates](/docs/handling-duplicates): Webhooks can arrive more than once and out of order. Make your handler safe to run twice. - **Reference** - [webhooks()](/docs/reference/webhooks): Create a sender from your events, subscribers and delivery mode. - [direct()](/docs/reference/direct): Deliver from send(), with retries in memory. The default delivery mode. - [outbox()](/docs/reference/outbox): Store events in your database from send(), and deliver them from a worker. - [worker()](/docs/reference/worker): Claim due outbox rows and deliver them, in a loop or one pass at a time. - [createVerifier()](/docs/reference/create-verifier): Verify Standard Webhooks signatures with WebCrypto. Zero dependencies. - **Roadmap** - [Event registry](/docs/roadmap#event-registry) - [Consumer SDK CLI](/docs/roadmap#consumer-sdk-cli) - [More adapters](/docs/roadmap#more-adapters)