Changelog

The latest releases and improvements to Knock.

Feature illustration

The Knock MCP server is now available as a remote server at mcp.knock.app/mcp that you can connect to directly from any MCP client. There's no local installation or Node.js setup required.

To get started, add the server to your MCP client configuration:

{
  "mcpServers": {
    "knock": {
      "url": "https://mcp.knock.app/mcp"
    }
  }
}

When you first use a Knock tool, you'll be prompted to sign in with your Knock account. Full setup instructions are available for Cursor, Claude Desktop, and Claude Code.

OAuth authentication

Previously, connecting to the Knock MCP server required a service token. Service tokens grant broad access to your Knock account and don't distinguish between individual users, which makes it difficult to audit who made changes and to enforce the principle of least privilege.

The MCP server now authenticates through your Knock account via OAuth. Your credentials are managed through the standard sign-in flow, and role-based permissions are automatically applied based on your user profile. This means each team member operates with the appropriate level of access without needing to share or rotate service tokens.

New and updated tools

We've also shipped a set of improvements to the tools available through the MCP server:

  • More granular workflow step tools. All workflow tools now accept environment and channel_key parameters, giving you explicit control over which environment and channel a step targets when creating or updating workflows.
  • Message debugging. Added get_message_delivery_logs and get_message_events tools so you can inspect delivery attempts and the full event timeline for any message. We also fixed an issue with get_user_messages.
  • Email layout tools. Added list_email_layouts and get_email_layout to enable you to discover and inspect email layouts when building email steps.

See the full tools reference for a complete list of available tools.

Chris Bell
Chris Bell
Feature illustration

Today we're introducing the experiment function in Knock to enable A/B testing, gradual rollouts, and more.

The experiment function enables you to split recipients into randomized cohorts within your workflows or broadcasts, routing each recipient down a specific branch based on a percentage-based distribution.

This is useful for:

  • A/B testing. Split recipients into two or more cohorts and compare the results of each. You can test different message formatting, copy, images, and more to measure what performs better.
  • Gradual rollouts. Roll out a new notification strategy to a small percentage of recipients before expanding to all users.
  • Channel experimentation. Test messaging through different channels in parallel to see which drive more engagement from your audience.

How it works

When a workflow executes an experiment function, Knock randomly assigns the recipient to a cohort using the following process:

  • Configuring cohorts. Each experiment starts with two cohorts by default, split 50/50. You can adjust the percentage distribution to control the distribution of recipients or add additional cohorts. The total across all cohorts must equal 100%.
  • Branch execution. Once assigned, the recipient proceeds through the steps defined in their cohort's branch.
  • Observability. Like all Knock workflow functions, you get full visibility into execution through our debugging tools. You'll be able to see exactly which experiment cohort was chosen for each recipient.

The experiment function also supports custom cohort keys. You can assign a cohort key to produce a deterministic assignment, such as ensuring all users within the same tenant follow the same branch. The cohort key defaults to the recipient ID.

Note: Dedicated experiment analytics are coming soon.

The experiment function is available now for all customers. Read more in the documentation.

Connor Lindsey
Connor Lindsey
Feature illustration

Today we're releasing Knock skills, an open-source collection of instructions that extend AI coding agents with Knock expertise. Skills enable your AI agent to help you design notifications, write copy, and work with the Knock CLI to manage your notification resources.

Available skills

The package ships with two skills today:

  • knock-cli. Enables your agent to work with the Knock CLI to pull, push, and validate workflows, email layouts, guides, and partials. It covers CLI installation and authentication, the Knock directory structure, workflow templates (visual blocks and HTML mode), and building reusable email components with partials.
  • notification-best-practices. Comprehensive guidelines for designing and writing effective notifications across all channels, including email, push, SMS, in-app, and chat. It covers channel-specific formatting, copy best practices, system implementation patterns, and template examples for common use cases like signups, payments, collaboration, and alerts.

Installation

You can install the entire skills package with a single command:

npx skills add knocklabs/skills

Or you can can install specific skills by passing a flag:

npx skills add knocklabs/skills --skill knock-cli
npx skills add knocklabs/skills --skill notification-best-practices

Once installed, skills are automatically available to your agent and activated when relevant tasks are detected.

The skills package is open source and available on GitHub.

Chris Bell
Chris Bell
Jeff Everhart
Jeff Everhart
Feature illustration

Today we're sharing a redesigned sources experience in the Knock dashboard.

Knock sources enable you to integrate platforms like Segment, RudderStack, Hightouch, and Census to trigger workflows, identify users, and automate actions.

The new design is available today on the Sources page in the main dashboard sidebar. Here's what's new:

New source setup experience

Connecting a source to Knock is now only two steps.

Improved field mapping experience

A new interface makes it easy to map incoming event data to actions in Knock. You can now view the past events for an event type and connect the action fields directly.

New mapping experience

Improved event observability

An improved logs page makes it easy to see events streaming in, how Knock handles them, and the actions taken as a result.

Workflow mapping improvements

We also upgraded source event trigger steps: view past event shapes, validate mappings inline, and send test events to preview how workflows will run.

These changes are available today for all Knock customers.

Read more about Knock event ingestion through integration sources in our docs.

Mike Carbone
Mike Carbone
Feature illustration

Today we're shipping datetime operators in the conditions builder so you can work with time more easily in your branches and conditions.

The timestamp operators ("is a timestamp before," "is a timestamp on or after," and "is a timestamp between") accept timestamp arguments in three formats:

  • Relative. A time relative to when the condition is evaluated. Relative timestamps include a value, a unit (minutes, hours, days, or weeks), and a modifier ("from now" or "ago"). For example, "7 days ago" or "3 days from now".
  • Absolute. A fixed date and time. In JSON, this is represented in ISO 8601 format (e.g., "2025-06-15T14:30:00Z").
  • Dynamic. A Liquid template variable that resolves to a timestamp at runtime (e.g., {{ recipient.subscription_ends_at }}). Dynamic timestamp arguments are available in workflows, broadcasts, and guides.

With these datetime conditions, you can now:

  • Trigger a reminder workflow when {{ recipient.appointment_date }} is a timestamp on or after 24 hours from now, so users get a reminder email one day before their appointment.
  • Send a CVE alert only when {{ tenant.created_at }} is a timestamp between 2026-01-01T09:00:00Z and 2026-01-15T09:00:00Z, so only tenants onboarded during the affected window receive a sensitive notice.
  • Trigger a trial survey when {{ recipient.trial_ends_at }} is a timestamp on or after 14 days ago, so you only reach out at the right moment.

These operators are available today for all Knock customers. Read more about datetime conditions in the docs.

Meryl Dakin
Meryl Dakin
Kyle McDonald
Kyle McDonald
Andrea Leopardi
Andrea Leopardi
Feature illustration

Today we're shipping Partials 2.0. Partials are pre-built components that can be used across templates to quickly create beautiful messages and ensure brand consistency across every message your team sends.

Here's what’s new:

  • Custom brand attributes. Define brand colors and attributes using vars.branding.* variables. Update your design system in one place and have changes propagate across all templates.
  • Schemas for partial inputs. Partials now support optional input schemas for field types, labels, descriptions, and required flags, so editors can move faster without breaking brand or content guidelines. Schemas are versioned with the partial, making it easy to manage changes over time.
  • JSON object support for partial inputs. Partials now accept JSON objects through markdown inputs. This enables passing complex data like objects and lists instead of only strings.
  • Isolated CSS styles. HTML partials now support isolated <style> tags that inject into the email <head> only when the partial is used. Styles are deduplicated and pollute your root stylesheet.
  • Improved discoverability in the visual editor. All partials are now visible directly in the block editor, with search support to quickly find components.
  • Configurable editor experience. Default blocks (buttons, text, images, etc.) can now be disabled at the account level, limiting editors to use partials to enforce brand consistency.

These improvements are available today for all Knock customers. Read the documentation to learn more about building reusable email components with partials.

Chris Bell
Chris Bell
Feature illustration

Today we're releasing webhook-backed delivery statuses, enabling you to receive delivery status updates directly from your email and SMS providers via webhooks.

Previously, delivery status checks in Knock were only possible via a sophisticated polling mechanism. At high message volumes, this polling had the potential to run into API rate limits imposed by messaging providers. Now, with delivery status webhooks, providers push delivery status changes back to Knock via webhooks. This makes the system more reliable as a whole and not susceptible to rate limits.

With delivery status webhooks enabled for your channels, you can:

  • Track successful deliveries. See when messages are delivered to the recipient's mail server or carrier.
  • Monitor bounces. Get notified when emails bounce due to invalid recipients or domains.
  • Better debugging. Understand delivery issues in real-time to troubleshoot notification problems.

We currently support delivery status webhooks for the following providers:

To get started, configure the webhook endpoint in your provider's dashboard to point to Knock. Each provider has specific setup instructions in our documentation.

Delivery status webhooks are available today for all Knock customers. Read the documentation to learn more about setting up delivery status webhooks for your channels.

Connor Lindsey
Connor Lindsey
Feature illustration

Production write access enables you to create and update content resources in any environment, without requiring promotion from development.

This feature is enabled by default for all new customers. If you're an existing customer, production write access is an opt-in setting. To enable production write access, navigate to the Permissions page under the Admin section of your account settings.

When you enable production write access in your account:

  1. All roles with edit permissions can edit resources in any environment. Owner, admin, and member roles can create and edit content resources (like workflows and guides) directly in production.

  2. The Production-only Member role becomes available. This role gives a user access to the production environment, and no others. It enables non-technical team members to work in production without touching any resources that are managed in development. Learn more about the Production-only Member role.

  3. Content resources can only be edited in the environment in which they were created. This means that any content resources you want to follow your environment lifecycle (create in development, promote to production) are only editable in development. For use cases that don't need the governance of environment promotion, you can create directly in production.

Production write access keeps production-critical resources (like high-volume transactional workflows) version controlled by the development environment, while enabling marketing and product teams to work in a simpler, production-only way for lifecycle journeys and product announcements.

Andy Chang
Andy Chang
Feature illustration

Today we're releasing asset management, a centralized way to upload, host, and manage image files directly in Knock for use in your messaging templates.

With asset management, you can now:

  • Store assets directly in Knock. Upload and store images like logos, icons, and graphics in your Knock account without needing external hosting.
  • Reuse assets across templates. Browse and insert uploaded assets into any message template with a single click. No more copying and pasting URLs.
  • Centralized control. Assets live in one place and are referenced everywhere, so you can update visuals across messages without touching templates, making it easier to keep your brand assets consistent.

Currently, only image files are supported, including PNG, JPEG, GIF, and SVG. In the future, we may support additional asset types.

Asset management is available today for all Knock customers. Navigate to Content > Assets to upload and manage your assets, or read the documentation to learn more.

Chris Bell
Chris Bell
Feature illustration

Today we're releasing API key management, giving you more control over how you authenticate with Knock.

Previously, each environment in Knock had a single public and secret API key pair. This meant all of your integrations shared the same credentials, which made it difficult to rotate keys or limit access for specific use cases.

With API key management, you can now:

  • Create multiple API keys. Generate as many public and secret key pairs as you need per environment, enabling you to use dedicated keys for different services, integrations, or team members.
  • Revoke keys instantly. If a key is compromised or no longer needed, you can revoke it directly from the dashboard without affecting your other integrations.
  • Better security practices. Rotate keys on your own schedule and scope credentials to specific parts of your infrastructure.

API key management is available today for all Knock customers. You can manage your API keys from the Settings > API keys page in the dashboard, or read the documentation to learn more.

Chris Bell
Chris Bell