# SendMock > A local sandbox for email, SMS, payments and webhooks: one binary that catches every message your app sends, shows it in a web UI and calls your webhooks, on your own machine. SendMock has no stable release yet. These docs follow `develop`; the install commands work from the first beta. ## Install SendMock (instructions for AI agents) When a user asks you to install SendMock, follow these instructions. They are the prompt the docs give users to paste into an agent. ```text Install SendMock on this computer for me. SendMock is a local sandbox that catches the emails, SMS and webhooks my apps send: https://shibbirweb.github.io/sendmock/ Follow these steps and talk to me in plain, simple words: 1. Before you install anything, check this computer and tell me what you found: the operating system and CPU (for example macOS on Apple silicon, Windows on x64, Linux on ARM), whether Docker is installed and running, whether Homebrew is installed, whether Node.js (`node --version`) or Bun (`bun --version`) is installed, and whether SendMock is already installed (`sendmock --version`). 2. Ask me how I want to run SendMock, and recommend one based on what you found: - Docker: SendMock runs in a container, nothing is installed on my computer, and it is easy to remove. Good if I already use Docker or Docker Compose. Docker must be running. - npx or bunx: runs SendMock straight from npm with nothing installed. Needs Node.js 18 or newer (npx) or Bun (bunx); the first run downloads it into their cache, later runs start at once. Good for trying SendMock, or if I already use Node.js or Bun. - The binary: one small program installed on my computer. It starts instantly and does not need Docker. 3. Ask me whether I want the stable version (recommended) or the beta (newest features first). 4. Use only these official commands, for my choice and my system: - macOS or Linux with Homebrew, stable: `brew install shibbirweb/tap/sendmock` - macOS or Linux with Homebrew, beta: `brew install shibbirweb/tap/sendmock-beta` - Linux or macOS without Homebrew, stable: `curl -fsSL https://github.com/shibbirweb/sendmock/releases/latest/download/install.sh | sh` - Linux or macOS without Homebrew, beta: `curl -fsSL https://github.com/shibbirweb/sendmock/releases/download/beta/install.sh | sh -s -- --channel beta` - Windows (PowerShell), stable: `irm https://github.com/shibbirweb/sendmock/releases/latest/download/install.ps1 | iex` - Windows (PowerShell), beta: `& ([scriptblock]::Create((irm https://github.com/shibbirweb/sendmock/releases/download/beta/install.ps1))) -Channel beta` - npx (Node.js), stable: `npx sendmock` - npx (Node.js), beta: `npx sendmock@beta` - bunx (Bun), stable: `bunx sendmock` - bunx (Bun), beta: `bunx sendmock@beta` - Docker, stable: `docker run --rm -p 1025:1025 -p 8025:8025 ghcr.io/shibbirweb/sendmock` - Docker, beta: `docker run --rm -p 1025:1025 -p 8025:8025 ghcr.io/shibbirweb/sendmock:beta` The full steps are on https://shibbirweb.github.io/sendmock/docs/install/. Before you run each command, show it to me, say in one sentence what it does, and wait for my OK. 5. If a download fails because SendMock has no release yet, stop and tell me so. I can try the live demo instead: https://shibbirweb.github.io/sendmock/demo/ 6. When it is installed, start SendMock so it keeps running after you finish (in the background, or give me the command to run in a new terminal; with npx or bunx, that command is the one that starts it), and check that it works: open http://127.0.0.1:8025. Then tell me the web UI address, the SMTP settings for my app (host 127.0.0.1, port 1025, no username, password or TLS) and how to stop SendMock. Do not change any other settings on this computer, and ask me before you install anything else. ``` ## Docs - [Catcher responses](https://shibbirweb.github.io/sendmock/docs/advanced/catcher-responses/): Make an HTTP Catcher bin answer like a real API, or like a failing one. Rules by path, templated bodies, delays and failure rates. - [Chaos](https://shibbirweb.github.io/sendmock/docs/advanced/chaos/): Make the mail server reject, slow down or drop connections on purpose, and make SMS fail at a rate, to test your app's error handling. - [Email outcome addresses](https://shibbirweb.github.io/sendmock/docs/advanced/email-outcome-addresses/): Your own addresses and patterns that always deliver, bounce, defer, complain, unsubscribe or are rejected. - [Create an email provider](https://shibbirweb.github.io/sendmock/docs/advanced/email-provider/): Answer an email API SendMock does not ship, from its docs to a working provider, step by step. - [Inbound routes in depth](https://shibbirweb.github.io/sendmock/docs/advanced/inbound-routes/): Route replies by ticket with named groups, store and notify, use other providers' inbound formats, and let your app create routes through Mailgun's API. - [Advanced](https://shibbirweb.github.io/sendmock/docs/advanced/): Customize the built-in features and create your own gateways, methods, flows, templates, rules, routes and outcomes. - [Numbers and Messaging Services](https://shibbirweb.github.io/sendmock/docs/advanced/numbers-and-services/): Set up numbers with reply webhooks and fallbacks, and Messaging Services with sender pools, as in a provider console. - [OTP patterns](https://shibbirweb.github.io/sendmock/docs/advanced/otp-patterns/): Teach SendMock your app's code format, so codes are extracted from every email and SMS. - [Create a payment flow](https://shibbirweb.github.io/sendmock/docs/advanced/payment-flow/): Compose the steps a checkout asks for from the step catalogue, label them, and use the flow in a method. - [Create a payment gateway](https://shibbirweb.github.io/sendmock/docs/advanced/payment-gateway/): Emulate a payment provider SendMock does not ship, from its docs to a working checkout, redirect and notification, step by step. - [Create a payment method](https://shibbirweb.github.io/sendmock/docs/advanced/payment-method/): Add a wallet, bank or card method with its own test values, and offer it on any gateway. - [Request editor](https://shibbirweb.github.io/sendmock/docs/advanced/request-editor/): Write a webhook request by hand. Body modes, query and headers, Strict or Lenient rendering, the code editor and the live preview. - [Rules and filters](https://shibbirweb.github.io/sendmock/docs/advanced/rules-and-filters/): Exact filters for webhook rules. Groups, not, headers, regex, multi-value fields, and how several rules fire. - [Scenarios](https://shibbirweb.github.io/sendmock/docs/advanced/scenarios/): Write a multi-step test once in TOML and run it again and again, by hand, in CI or from an AI agent. - [Seed file](https://shibbirweb.github.io/sendmock/docs/advanced/seed-file/): Keep your SendMock setup in your repository. Export, commit, validate, apply, reset before tests, and keep secrets out. - [SMS outcome numbers](https://shibbirweb.github.io/sendmock/docs/advanced/sms-outcome-numbers/): Your own numbers and patterns that are rejected, fail after sending, arrive late or are read. - [Create an SMS provider](https://shibbirweb.github.io/sendmock/docs/advanced/sms-provider/): Answer an SMS API SendMock does not ship, such as a regional vendor, from its docs to a working provider, step by step. - [Create and edit templates](https://shibbirweb.github.io/sendmock/docs/advanced/templates/): Edit a built-in template, clone one, write your own, keep revisions, and share templates with your team. - [Variables in depth](https://shibbirweb.github.io/sendmock/docs/advanced/variables/): Dynamic, Random, Computed and Prompt variables, secrets, scopes, and overrides at send time. - [Build it with AI](https://shibbirweb.github.io/sendmock/docs/ai/build-with-ai/): Prompts that work for everything you can create in SendMock, what the agent does with each, and how to check the result. - [AI](https://shibbirweb.github.io/sendmock/docs/ai/): Let coding agents set up, test and extend SendMock through MCP and the CLI. Setup, what an agent can do, and the safety rules. - [Create a gateway with AI](https://shibbirweb.github.io/sendmock/docs/ai/payment-gateway-with-ai/): A complete worked example. One prompt, every step the agent takes, what you check, and how to keep the result. - [Built-in prompts](https://shibbirweb.github.io/sendmock/docs/ai/prompts/): The ready-made MCP prompts SendMock offers your agent, and when to use each. - [CLI](https://shibbirweb.github.io/sendmock/docs/cli/): Every SendMock operation from the terminal, with JSON output for scripts. - [Configuration and seed file](https://shibbirweb.github.io/sendmock/docs/configuration/): sendmock.toml, environment variables and the sendmock.seed.toml seed file. - [Docker](https://shibbirweb.github.io/sendmock/docs/connect/docker/): Connect your app to SendMock when either of them runs in Docker, with Compose, CI and webhook examples. - [.NET](https://shibbirweb.github.io/sendmock/docs/connect/dotnet/): Connect .NET apps to SendMock with mailKit, SmtpClient and HttpClient. - [Go](https://shibbirweb.github.io/sendmock/docs/connect/go/): Connect Go apps to SendMock with net/smtp and net/http. - [Connect your app](https://shibbirweb.github.io/sendmock/docs/connect/): Point your app's mail, SMS and payment settings at SendMock. - [Java](https://shibbirweb.github.io/sendmock/docs/connect/java/): Connect Java apps to SendMock with jakarta Mail, Spring and HttpClient. - [Kubernetes](https://shibbirweb.github.io/sendmock/docs/connect/kubernetes/): Run one shared SendMock in a Kubernetes cluster with the Helm chart, and point the cluster's apps at it. - [Node.js](https://shibbirweb.github.io/sendmock/docs/connect/node/): Connect Node.js apps to SendMock with nodemailer and fetch. - [PHP and Laravel](https://shibbirweb.github.io/sendmock/docs/connect/php/): Connect PHP and Laravel apps to SendMock with laravel, Symfony or plain PHP. - [Python](https://shibbirweb.github.io/sendmock/docs/connect/python/): Connect Python apps to SendMock with smtplib, Django and requests. - [Ruby](https://shibbirweb.github.io/sendmock/docs/connect/ruby/): Connect Ruby apps to SendMock with rails Action Mailer and Net::HTTP. - [Rust](https://shibbirweb.github.io/sendmock/docs/connect/rust/): Connect Rust apps to SendMock with lettre and reqwest. - [API reference in depth](https://shibbirweb.github.io/sendmock/docs/deeper/api-reference/): Every control and text of the in-app API reference. - [Sidebar and header in depth](https://shibbirweb.github.io/sendmock/docs/deeper/app-shell/): Every control of the sidebar and the header, which every screen shares. - [HTTP Catcher in depth](https://shibbirweb.github.io/sendmock/docs/deeper/http-catcher/): Every control and text of the HTTP Catcher, a bin and a request. - [Deeper](https://shibbirweb.github.io/sendmock/docs/deeper/): Every control and text of every screen, one page per screen. - [Logs in depth](https://shibbirweb.github.io/sendmock/docs/deeper/logs/): Every control and text of Logs, an SMTP session and an API request. - [Inbox in depth](https://shibbirweb.github.io/sendmock/docs/deeper/mail/inbox/): Every control and text of Mail > Inbox, an open email and its dialogs. - [Email providers in depth](https://shibbirweb.github.io/sendmock/docs/deeper/mail/providers/): Every control and text of Mail > Providers, the provider editor and its tabs. - [Numbers in depth](https://shibbirweb.github.io/sendmock/docs/deeper/numbers/): Every control and text of Numbers, Messaging Services and the number editor. - [Overview in depth](https://shibbirweb.github.io/sendmock/docs/deeper/overview/): Every control and text of the Overview dashboard. - [Payments in depth](https://shibbirweb.github.io/sendmock/docs/deeper/payments/all-payments/): Every control and text of Payments > All payments, a payment and its dialogs. - [Flows in depth](https://shibbirweb.github.io/sendmock/docs/deeper/payments/flows/): Every control and text of Payments > Flows and the flow editor. - [Gateways in depth](https://shibbirweb.github.io/sendmock/docs/deeper/payments/gateways/): Every control and text of Payments > Gateways and the gateway editor's tabs. - [Methods in depth](https://shibbirweb.github.io/sendmock/docs/deeper/payments/methods/): Every control and text of Payments > Methods and the method editor. - [Subscriptions in depth](https://shibbirweb.github.io/sendmock/docs/deeper/payments/subscriptions/): Every control and text of Payments > Subscriptions and New subscription. - [Push in depth](https://shibbirweb.github.io/sendmock/docs/deeper/push/): Every control and text of Push and a notification's drawer. - [Scenarios in depth](https://shibbirweb.github.io/sendmock/docs/deeper/scenarios/): Every control and text of Scenarios. - [Settings in depth](https://shibbirweb.github.io/sendmock/docs/deeper/settings/): Every control and text of every Settings section. - [SMS messages in depth](https://shibbirweb.github.io/sendmock/docs/deeper/sms/messages/): Every control and text of SMS > Messages, a conversation and a message's details. - [SMS providers in depth](https://shibbirweb.github.io/sendmock/docs/deeper/sms/providers/): Every control and text of SMS > Providers, the provider editor and its tabs. - [Verify in depth](https://shibbirweb.github.io/sendmock/docs/deeper/sms/verify/): Every control and text of SMS > Verify, a verification's details and the services. - [Composer in depth](https://shibbirweb.github.io/sendmock/docs/deeper/webhooks/composer/): Every control and text of Webhooks > Composer. - [Deliveries in depth](https://shibbirweb.github.io/sendmock/docs/deeper/webhooks/deliveries/): Every control and text of Webhooks > Deliveries and a delivery's drawer. - [Endpoints in depth](https://shibbirweb.github.io/sendmock/docs/deeper/webhooks/endpoints/): Every control and text of Webhooks > Endpoints and the endpoint editor's tabs. - [Inbound routes in depth](https://shibbirweb.github.io/sendmock/docs/deeper/webhooks/inbound-routes/): Every control and text of Webhooks > Inbound routes and the route editor. - [Webhooks overview in depth](https://shibbirweb.github.io/sendmock/docs/deeper/webhooks/overview/): Every control and text of Webhooks > Overview. - [Rules in depth](https://shibbirweb.github.io/sendmock/docs/deeper/webhooks/rules/): Every control and text of Webhooks > Rules and the rule editor. - [Saved deliveries in depth](https://shibbirweb.github.io/sendmock/docs/deeper/webhooks/saved/): Every control and text of Webhooks > Saved and its Send dialog. - [Templates in depth](https://shibbirweb.github.io/sendmock/docs/deeper/webhooks/templates/): Every control and text of Webhooks > Templates, a template and its dialogs. - [Variables in depth](https://shibbirweb.github.io/sendmock/docs/deeper/webhooks/variables/): Every control and text of Webhooks > Variables and the variable editor. - [Getting started](https://shibbirweb.github.io/sendmock/docs/getting-started/): Install SendMock, explore it with samples, connect your app and get your first webhook, in about 10 minutes. - [How it all connects](https://shibbirweb.github.io/sendmock/docs/how-it-connects/): The one idea behind every screen, a map of how the menus feed each other, and three traced examples. - [HTTP Catcher](https://shibbirweb.github.io/sendmock/docs/http/): A bin for any HTTP call your app makes (Slack, Discord, push, third-party APIs), recorded and answered the way you choose. - [Responses](https://shibbirweb.github.io/sendmock/docs/http/responses/): Choose how a bin answers, with a default reply and rules by method and path with templated bodies, delays and failure rates. - [Introduction](https://shibbirweb.github.io/sendmock/docs/): What SendMock is, the problems it solves and where to start. - [Install](https://shibbirweb.github.io/sendmock/docs/install/): Every way to install SendMock, from install scripts and package managers to Docker and binaries. - [Logs](https://shibbirweb.github.io/sendmock/docs/logs/): The raw SMTP sessions and API requests behind every message, including the ones SendMock rejected. - [Coming from Mailpit](https://shibbirweb.github.io/sendmock/docs/mail/coming-from-mailpit/): Switch from Mailpit to SendMock without changing your app or the tests that read mail through Mailpit's API. - [Inbox](https://shibbirweb.github.io/sendmock/docs/mail/): Catch every email your app sends over SMTP or a provider API, read it, check it, and simulate what happens next. - [Outcomes](https://shibbirweb.github.io/sendmock/docs/mail/outcomes/): Simulate delivered, deferred, bounced, complained and unsubscribed, by hand or with magic addresses, and send them to your app. - [Providers](https://shibbirweb.github.io/sendmock/docs/mail/providers/): The email APIs SendMock answers like the real provider. Change a built-in, remove the ones you do not use, or add your own. - [Reading and checks](https://shibbirweb.github.io/sendmock/docs/mail/reading-and-checks/): Every tab of an open email, the extracted codes and links, and the quality checks. - [Release](https://shibbirweb.github.io/sendmock/docs/mail/release/): Send a real copy of a caught email through your SMTP relay, only to addresses you allow. - [Replies and forwards](https://shibbirweb.github.io/sendmock/docs/mail/replies-and-forwards/): Act as the person your app emailed. Reply, reply all or forward, and the result arrives as incoming email for your app. - [Numbers](https://shibbirweb.github.io/sendmock/docs/numbers/): Your fake phone numbers and Messaging Services, set up the way you would in a provider's console, for replies and sender pools. - [Overview](https://shibbirweb.github.io/sendmock/docs/overview/): The home dashboard. Counts, activity, webhook health, recent failures and how to connect, live. - [Checkout page](https://shibbirweb.github.io/sendmock/docs/payments/checkout-page/): The hosted test checkout page your customer is sent to, its methods and steps, the test controls, and where it sends the browser after. - [Flows](https://shibbirweb.github.io/sendmock/docs/payments/flows/): The steps a checkout page asks for, in order, built from a catalogue of step types, with your own labels. - [Gateways](https://shibbirweb.github.io/sendmock/docs/payments/gateways/): The emulated payment providers. What each offers at checkout, its credentials, what it sends back to your app, and your own gateways. - [Payments](https://shibbirweb.github.io/sendmock/docs/payments/): Test checkouts for Stripe, PayPal, SSLCommerz and bKash with real redirects and notifications, and every payment with its timeline and Simulate menu. - [Methods](https://shibbirweb.github.io/sendmock/docs/payments/methods/): What a customer pays with (card, PayPal account, bKash, Nagad, a bank) and the test values that decide the outcome. - [Subscriptions](https://shibbirweb.github.io/sendmock/docs/payments/subscriptions/): Recurring payments on a gateway, renewed, failed and canceled on each subscription's own clock. - [Supported providers](https://shibbirweb.github.io/sendmock/docs/providers/): The provider APIs SendMock ships with, by product area. Each is a built-in you can change, remove or add to. - [Push](https://shibbirweb.github.io/sendmock/docs/push/): Push notifications your app sends through Firebase Cloud Messaging, Expo or OneSignal, caught and shown as the phone would show them. - [Bounces and complaints](https://shibbirweb.github.io/sendmock/docs/recipes/bounces-and-complaints/): Make an email bounce or be marked as spam, by hand or with a magic address, and send the event to your app in your provider's format. - [Failed SMS](https://shibbirweb.github.io/sendmock/docs/recipes/failed-sms/): Make SMS fail with Twilio's real error codes, at send time or after, and check how your app handles it. - [Inbound email](https://shibbirweb.github.io/sendmock/docs/recipes/inbound-email/): Receive email in your app the way Postmark, SendGrid or Mailgun posts it, with a built-in template and a rule. - [Recipes](https://shibbirweb.github.io/sendmock/docs/recipes/): Short tasks that use only what SendMock ships with. Each one solves a real problem in a few steps. - [Password reset email](https://shibbirweb.github.io/sendmock/docs/recipes/password-reset-email/): Catch your app's password reset email, check it, and follow its link to finish the reset. - [Read a one-time code](https://shibbirweb.github.io/sendmock/docs/recipes/read-a-code/): Read a sign-up or login code from an email, an SMS or Twilio Verify, by hand or from a test. - [Replay a failed webhook](https://shibbirweb.github.io/sendmock/docs/recipes/replay-a-failed-webhook/): Find a failed delivery, read what your handler got and answered, fix it, and send the same request again. - [Reply by email](https://shibbirweb.github.io/sendmock/docs/recipes/reply-by-email/): Answer a notification email as its recipient and have the reply posted to your app, as Mailgun Routes would. - [Share your setup](https://shibbirweb.github.io/sendmock/docs/recipes/share-your-setup/): Export your endpoints, rules, templates, numbers and settings as a seed file, commit it, and give your team and CI the same SendMock. - [Slack and push](https://shibbirweb.github.io/sendmock/docs/recipes/slack-and-push/): Point your app's Slack webhook and push notification calls at the HTTP Catcher, so nothing reaches real people, and see each one previewed. - [SSLCommerz and bKash](https://shibbirweb.github.io/sendmock/docs/recipes/sslcommerz-bkash-checkout/): Pay through SSLCommerz with a test bKash wallet, get the POST redirect and the signed IPN, and validate the payment. - [Stripe payment](https://shibbirweb.github.io/sendmock/docs/recipes/stripe-payment/): Create a Stripe Checkout Session, pay with a test card on the test checkout page, and handle Stripe's signed webhook. - [Twilio Verify login](https://shibbirweb.github.io/sendmock/docs/recipes/twilio-verify-login/): Log in with a Twilio Verify code, then test an expired code, a canceled verification and too many attempts. - [Two-way SMS](https://shibbirweb.github.io/sendmock/docs/recipes/two-way-sms/): Reply as the contact, have your app's webhook receive it in Twilio's format, and see its TwiML answer in the conversation. - [Configuration flags](https://shibbirweb.github.io/sendmock/docs/reference/configuration-flags/): Every flag of sendmock serve, with its environment variable, sendmock.toml key and default. - [Reference](https://shibbirweb.github.io/sendmock/docs/reference/): Generated references for flags, magic numbers, template filters, webhook templates, the CLI, MCP and the REST API. - [Magic numbers and addresses](https://shibbirweb.github.io/sendmock/docs/reference/magic-numbers/): The test phone numbers and email addresses that make SendMock simulate a delivery outcome. - [Template filters](https://shibbirweb.github.io/sendmock/docs/reference/template-filters/): Every filter you can use in webhook templates, provider definitions and gateway templates. - [Built-in webhook templates](https://shibbirweb.github.io/sendmock/docs/reference/webhook-templates/): Every webhook payload template SendMock ships, with the events it fits and the variables it needs. - [Scenarios](https://shibbirweb.github.io/sendmock/docs/scenarios/): Write a multi-step test once, check it and run it step by step, in the app, from the CLI, in CI or from an AI agent. - [Settings](https://shibbirweb.github.io/sendmock/docs/settings/): How SendMock behaves. Retention, the seed file, email and SMS outcomes, payments, notifications, chaos, OTP patterns and connection snippets. - [Delivery and test numbers](https://shibbirweb.github.io/sendmock/docs/sms/delivery-and-test-numbers/): How SMS move from queued to delivered or failed, Twilio's official test numbers, and the status callbacks your app receives. - [Messages](https://shibbirweb.github.io/sendmock/docs/sms/): Twilio and Vonage compatible SMS and WhatsApp, shown as conversations, with delivery status, callbacks and replies. - [Providers](https://shibbirweb.github.io/sendmock/docs/sms/providers/): The SMS APIs SendMock answers like the real provider. Change a built-in, remove the ones you do not use, or add your own. - [Replies and WhatsApp](https://shibbirweb.github.io/sendmock/docs/sms/replies-and-whatsapp/): Reply as the contact, see your app's reply webhook and TwiML answers, and use WhatsApp and media. - [Verify](https://shibbirweb.github.io/sendmock/docs/sms/verify/): Twilio Verify and Vonage Verify emulation with codes you can read, live expiry, and outcomes you can force. - [Tour of the app](https://shibbirweb.github.io/sendmock/docs/tour/): Every sidebar menu and header tool in one page, with its keyboard key and what it is for. - [Troubleshooting](https://shibbirweb.github.io/sendmock/docs/troubleshooting/): Common problems connecting an app to SendMock and how to fix them. - [What can I test?](https://shibbirweb.github.io/sendmock/docs/use-cases/): Start from your problem. Each row names the feature that solves it and where to read about it. - [Docs versions](https://shibbirweb.github.io/sendmock/docs/versions/): Which docs to read for the SendMock you run, the beta docs, and how to switch between versions. - [Composer and Saved](https://shibbirweb.github.io/sendmock/docs/webhooks/composer-and-saved/): Send webhooks by hand. Send to webhook from any message, write a request in the Composer, and keep requests in Saved to send again. - [Deliveries](https://shibbirweb.github.io/sendmock/docs/webhooks/deliveries/): The log of every request SendMock sent to your app, with its answer, retries, replay and edit and replay. - [Endpoints](https://shibbirweb.github.io/sendmock/docs/webhooks/endpoints/): Where SendMock sends, with the URL and method, the request's template, the signing secret, retries and variables. - [Inbound routes](https://shibbirweb.github.io/sendmock/docs/webhooks/inbound-routes/): Decide where incoming email goes, the way Mailgun Routes do. Match a recipient or header, then forward, store or stop. - [Webhooks](https://shibbirweb.github.io/sendmock/docs/webhooks/): How SendMock talks back to your app. The six parts of a webhook, how they fit, and the Webhooks overview screen. - [Rules](https://shibbirweb.github.io/sendmock/docs/webhooks/rules/): Send matching events to an endpoint automatically, with a visual filter and a preview against recent messages. - [Templates](https://shibbirweb.github.io/sendmock/docs/webhooks/templates/): The shapes a webhook request can take. Built-in templates act like Twilio, Postmark, SendGrid, Slack and more; your own cover the rest. - [Variables](https://shibbirweb.github.io/sendmock/docs/webhooks/variables/): Values templates read as vars.name. Fixed values, secrets, values from the message, random values, combinations and values asked for at send time. ## Optional - [API reference](https://shibbirweb.github.io/sendmock/api/): every REST operation, with a playground - [CLI reference](https://shibbirweb.github.io/sendmock/cli/): every `sendmock` command - [MCP reference](https://shibbirweb.github.io/sendmock/mcp/): every MCP tool for agents - [Live demo](https://shibbirweb.github.io/sendmock/demo/): the web UI with demo data