Blog
6 min read

Svix Changelog October 2026

View as Markdown

Advanced Destinations, now with a public API

Advanced endpoint types have a new name: Advanced Destinations. They're the ways your customers can consume events without running a webhook handler, like polling endpoints, S3 buckets, SQS queues, or a Postgres table. Old docs links redirect, so nothing you've bookmarked breaks.

More importantly, they now have a public /destination API. You can create, update, and delete destinations for your customers in code, inspect their delivery attempts, and manage their transformations, secrets, and headers, the same way you already do for regular endpoints. It's in all the SDKs and the CLI as of v2.4.0 (v2.6.0 for PHP). See using the API in the docs, or the API reference.

Polling endpoints are a destination type too, so this is also how you create v2 polling endpoints programmatically.

AutoConfig for polling endpoints

Webhooks AutoConfig now works with polling endpoints. Your customers declare their polling endpoint in code, right next to the worker that reads from it, instead of creating it in the App Portal and keeping the two in sync by hand. Lucho wrote up how it works in Bringing AutoConfig to Polling Endpoints.

This comes with a new AutoConfig token format, supported by the SDKs as of v2.4.0. Existing tokens keep working. One thing to watch when you upgrade: AutoConfigConsumer.subscribe() now returns a destination rather than an endpoint.

There's also a new public AutoConfig API. Instead of having your customers generate AutoConfig tokens in the App Portal, you can create them from your own code, rotate a token and its signing secret, and revoke it when it's no longer needed. Create and rotate are in the SDKs as of v2.5.0, and delete as of v2.6.1. See the API reference.

Custom domains for everything your customers see

The App Portal, Event Catalog, Ingest, polling endpoints, and the MCP server can now all live on your own domain. The Event Catalog has supported custom domains for a while; now the rest of the surfaces your customers touch can too, and you manage them all from one page in the dashboard.

So instead of a Svix URL, your customers see something like webhooks.example.com, which matters when the whole integration is supposed to feel like part of your product. Custom domains are available on the Professional and Enterprise plans. See the custom domains docs to set one up.

Manage Ingest from your coding agent

The Svix Dashboard MCP lets your coding agent work with Svix Ingest directly. It can set up sources, point them at your code, read the payloads you've actually received, debug failed deliveries, manage signing secrets, and resend messages. This is the MCP for you as a Svix user; the App Portal MCP we launched last month is the one for your customers.

To connect, open the Dashboard MCP page in your organization settings (or hit "Connect to MCP" on the Ingest sources page) and pick your agent. There are ready-made setup snippets for Claude Code, Codex, Cursor, Gemini CLI, VS Code, Windsurf, Zed, and more. You can now also sign in through the browser with OAuth, and see and revoke connected agents from the dashboard.

New Free plan, Basic, and a Professional trial

There's a new Free plan, capped at 50k messages a month with no credit card required. We also have a new Basic plan that starts at $20 a month, keeps the 99.9% uptime SLA, has pay-as-you-go pricing, and now includes white-label headers at a much lower cost. Professional comes with a 30-day free trial. Details are on the pricing page.

IAM roles for AWS destinations

The AWS destinations and Stream sinks (S3, SQS, SNS, EventBridge, and Redshift) can now authenticate by assuming an IAM role with an external ID, instead of using static access keys. Your customers grant Svix a role in their own AWS account, and the App Portal generates the trust policy for them.

That means no long-lived credentials to hand over, rotate, or worry about leaking. See authenticating with IAM roles in the docs.

Elasticsearch and OpenSearch destination

There's a new destination type for Elasticsearch and OpenSearch. Svix writes each message into an index or data stream as a document, so your customers can search their events and build dashboards on them without running a consumer in between.

It's available as a Stream sink and as an Advanced Destination, and SDK support lands in the next release. See the Elasticsearch docs.

Tracing connectors for Datadog, New Relic, and Grafana Cloud

Built on the OpenTelemetry tracing destination, there are new connectors that send your events as traces to Datadog, New Relic, and Grafana Cloud, plus a generic OpenTelemetry one. Your customers can see webhook activity in the observability tools they already use.

See when a failed message will be retried

When a delivery fails, the App Portal now shows when the next attempt is scheduled. The attempt details have a new "Next attempt" row, and the status tooltip includes the retry time, so your customers don't have to guess whether a failed message is still being retried.

If you've built your own UI, the same information is in the nextAttempt field when you list a message's attempted destinations.

Attempt stats API

There's a new endpoint for delivery attempt counts: GET /api/v1/app/{app_id}/endpoint/{endpoint_id}/attempt-stats returns how many attempts to an endpoint succeeded, failed, or were canceled over a given time range. It's fast enough that the App Portal's endpoint chart now runs on it. It's in the SDKs as of v2.6.0 (endpoint.getAttemptStats in JavaScript).

Test transformations against more sink types

Transformation simulate now works with almost every Stream sink type, including S3, Azure Blob Storage, Google Cloud Storage, Pub/Sub, BigQuery, ClickHouse, Postgres, SQS, SNS, EventBridge, RabbitMQ, and Elasticsearch. Snowflake and Redshift are the exceptions for now.

The output view also matches the sink you're testing, so you can see exactly what will land in your bucket, queue, or table before you save.

PHP SDK catches up

The PHP SDK now supports the Stream and Destination APIs, and AutoConfigConsumer is back, so PHP apps can consume AutoConfig polling endpoints too. Update to v2.6.0 or later to get them.

Leaving an organization

Now that you can belong to multiple organizations, you can also leave one. Go to Settings, then Organization Members, and click "Leave organization". You just need to be a member of another organization and not the only admin of the one you're leaving.

The environment switcher got a refresh too, with search, which helps once you have more than a handful of environments.

Closing words

As always, please let us know if you have any feedback on the product, or anything else we can add or build to make your lives easier. A lot of the Svix product came from customer feedback, and we are sure ${next_big_thing} will come from feedback as well. No feedback is too small!

You can contact us directly or join the discussion on our community Slack.


For the latest updates, make sure to follow us on X, Github, RSS, the Svix newsletter, and join the discussion on our community Slack.

Ready to send webhooks?

Svix is the enterprise ready webhooks service. Build a secure, reliable, and scalable webhook platform in minutes.