Β 

Changelog

The latest releases and improvements to Knock.

Resend + Knock

We're super excited to announce that we now support Resend as an email provider with Knock. Now you can send great-looking emails through Resend's email API, while orchestrating your multi-channel notifications with Knock.

We're a big fan of the Resend team and of modern developer tooling in general, so we're excited to be able to extend their API to Knock customers everywhere. Happy (re)sending!

Read more in our docs

An improved user search component: find by ID or email

This improvement is a long time coming. We've improved our user search component in a big way. Now when you're in the Knock test runner, you can search for recipients and actors by either their user ID or their email. This makes it much easier to quickly find the recipient you're looking for and send them a test notification.

A screenshot of our new user search component

We've updated all of our other user search experiences (across messages, logs, and workflow runs) to use this new behavior, too. This makes it easier for your support team to quickly find the Knock logs associated with a particular user.

New and improved template editor design

We've added some visual polish to our template editor. It helps with general spacing and readability. We've also added new breadcrumbs to the template editor to make it easier to see where you are in Knock and to quickly return to your workflow canvas.

New template editor UI

New undelivered status with outbound webhook support

Our outbound webhooks are a popular way for our customers to stay updated on what's happening in their Knock system and to trigger behavior in their own application based on Knock events.

Previously our message.undelivered webhook would fire with each delivery attempt we made to your downstream notification providers. Now we have two separate webhooks, one for our delivery attempts to your providers (message.delivery_attempted) and one for when delivery has failed and no more attempts will be made (message.undelivered).

This makes it easier to trigger behavior in your application based on undelivered notifications.

Fixes and improvements

  • πŸ‘€ We've added a workflow tag to our datadog metrics
  • πŸ‘€ We've made some performance improvements to our analytics views in the Knock dashboard
  • πŸ‘€ We improved our error messaging when sending a null, undefined, or empty API key into Knock
  • πŸ› We fixed an issue where email fields with liquid would fail on downstream providers when resolving to an empty string
  • πŸ› We fixed an issue where conditions with arguments that resolved to strings containing periods could cause errors when evaluating some conditions

Protect customer data with dashboard obfuscation controls

Today we're announcing that all Knock customers can use the customer data controls we first announced as part of Knock HIPAA compliance. With this release, you can obfuscate customer data within the Knock dashboard while still giving your team the ability to debug your notification system as needed. These controls can be enabled on a per-environment basis, enabling you to secure customer data in production while continuing to work the way you want in your internal-only development environments.

One of our foundational product principles at Knock is developer visibility. We want you to be able to observe the Knock notification system and debug potential issues, just as you would with an in-house notification system. But with great visibility comes great responsibility. With this release, you can continue to debug your notification system with the confidence that your customers' production data is protected, even from your internal team.

You can enable customer data obfuscation by going to "Settings > Environments", and then clicking "Edit environment".

Fixes and improvements

  • πŸ‘€ We added a new filters section to workflow logs to filter by request ID and status of the requests
  • πŸ‘€ We improved our conditions handling for comparing null values with > and < operators so a comparison always returns false
  • πŸ› We patched an issue where API logs with large lists would never appear in the API log debugger
  • πŸ› We added a fix for batching where a workflow run with a batch could display as having an error, even after it has succeeded
  • πŸ› We fixed an issue where default preference sets could incorrectly return the wrong preferences when a tenant was specified but there was no corresponding user-tenant preference set.

Build custom feed filters using notification metadata

Most notification feeds share a common set of built-in filters, usually a combination of filter by seen, read, or archival status. But as customers have used our real-time feed infrastructure to build for different use cases (such as inboxes and task centers) they've asked for the ability to introduce custom filters into the notification experiences they build with Knock. Now they can.

With today's release you can filter our feed and message endpoints by any of the data you pass to Knock in your workflow trigger payloads. This means you can introduce any type of filter into your feed experiences, whether that's by completion status (e.g. for task centers), by approver (for approval workflows), or by any other key you can think of. We're super excited about the flexibility this brings to building in-app UI with Knock and the use cases you can power using it.

This feature is now available for all customers across all of our SDKs. You can learn more in our docs. Let us know what feedback you have!

View per-user workflow runs in a single place

Knock already has multiple views into our workflow engine to help developers understand how their API calls to Knock lead to messages sent to customers. But for support and operations teams, these logs aren't always intuitive to parse when you're looking to find all the workflow runs generated for a given recipient.

Today we're launching a new workflow runs view that shows you exactly that. The workflow runs view shows you all workflow runs generated for a given workflow, so you can easily see which workflows were triggered for a given recipient and the messages that were generated as a result. This makes it even easier for everyone on your team to see into the Knock notification engine and to understand how it's messaging customers.

You can find the new workflow runs view in the workflow runs tab under a given workflow's page or under the "logs" page if you want to see all workflow runs within a given environment. You can also filter by a number of properties to find the exact workflow runs you're looking for.

Workflow run view tab

Fixes and improvements

  • πŸ‘€ We added an expanded version of the popover message template editor
  • πŸ› We fixed a cursor display issue on our popover message template editor

Today we’re launching beta support for native link and open tracking within our email, SMS, chat, and in-app channels giving you unprecedented visibility into the cross-channel notifications you’re sending. Previously we had relied on downstream message senders to handle link and open tracking, but bringing this natively into Knock means that you’ll be able to see analytics relating to all types of messages in a single place.

For more details, visit the link and open tracking docs.

Want to sign up for the beta? Let us know.

Monitor your Knock notifications with our Datadog extension (beta)

We are proud to introduce the Knock Datadog extension! In just a few clicks, you can publish a stream of metrics straight from Knock to your Datadog account. These metrics can then power Datadog dashboards, alerts, and troubleshooting. Now it is easier than ever for teams to detect and respond to issues with misconfigured channels, expired credentials, changes in authorization, or downstream issues with Knock itself.

Although Knock engineers monitor and respond to our own suite of alarms, reports, and metrics around the clock already, the new Datadog extension offers additional peace of mind to teams with high operational or compliance requirements.

For more details, visit the Datadog extension docs.

Want to sign up for the beta? Let us know.

Fixes and improvements

  • πŸ‘€ We made template previews more closely mirror what is actually delivered across SMS, chat, and in-app channels
  • πŸ› We sped up queries for API and workflow logs
  • πŸ› We fixed an issue where overrides could cause FCM notifications to error

Power notification localization with Knock

Today we’re super excited to announce the beta release of Knock template localization. With template localization you can use the notification templates you already send with Knock to create locale-specific variants for users that prefer to receive their notifications in a different language. This helps meet your users where they are and improve the notification experience of your product.

Let’s say you have a welcome notification workflow that sends new users an in-app message and an email. For each of those notification templates, you can create a variant that's localized based on each recipient's locale. At runtime Knock uses the locale property on your recipient to determine which language variant of your notification should be sent. We also provide a "default" template that's used for any recipients whose locale isn't supported.

Another great thing about today’s release: though we built template variants for localization use cases, you can use your own custom logic and expressions to power any template variant use case you can dream up. For example, if you wanted to send a tenant-specific variant of a given notification template, you could power it with Knock template variants.

You can learn more about template localization in our documentation and request beta access by sending us a note at support@knock.app.

Enable auto-join for your Knock account

If you're a Knock account owner, as of today you can enable auto-join for users from your domain. A quick example: if you're the Knock admin for your company Collab.io, once you enable auto-join any verified users with a β€œcollab.io” email address can join your account.

This is a win for admins and end users alike. If you're an admin, enabling auto-join means (i) less time spend managing account invites and (ii) a safeguard against users from your domain accidentally creating their own account when they should be working in yours. If you're an end user, it means you can get into the right account for your organization when first signing up for Knock.

You can learn more about enabling auto-join in our docs.

Fixes and improvements

  • πŸ› We fixed a bug where template previews weren't honoring brand defaults.
  • πŸ› We fixed a bug where activities under a message weren't paginating on the feed API.

Set inline channel data and preferences

We've expanded our workflow trigger inline identify to support setting channel data and preferences for recipients. That means it's now easier than ever to start sending notifications to your users with Knock, without the need to backfill existing data. It even works for setting data for multiple channels and for per-tenant preferences too.

Read more on setting channel data inline and setting preferences inline in our documentation.

Conditions builder improvements

We've added a whole host of new features to our step and channel conditions builder this month. You can now reference:

  • Environment variables (e.g. skip this step if we're in the development environment)
  • Workflow run state including total_activities and total_actors (e.g. only execute the step if we have more than one item from a batch)
  • The current tenant (e.g. only batch for workspace X and never for workspace Y)
  • The current workflow (e.g. only send to SMS if the workflow category includes messages)

Read more in our docs.

Fixes and improvements

  • πŸ‘€ We expanded the delay block to support dynamic delays from the recipient, actor, environment and more
  • πŸ‘€ We added the ability to reference the current_message.id in your notification templates to get access to the unique, recipient-specific message.id
  • πŸ‘€ We moved 'Designing workflows' to its own section in the documentation
  • πŸ‘€ We made improvements to our email previews to be more consistent with what's sent
  • πŸ› We fixed an issue where JSON values in chat templates would not escape \n and \ characters correctly
  • πŸ› We fixed a bug with mailgun delivery checks where the requests would timeout after 5+ seconds
  • πŸ› We fixed an issue where some starter plans could not create a new webhook
  • πŸ› We fixed a bug where blank in-app feed messages would fail to send

Per-environment channel conditions

By popular demand, we’ve brought our condition builder to your per-environment channel configurations. Channel-level conditions are helpful when you want to add a condition to all instances of a channel in a given environment.

An example: let’s say you want to ensure that your email channel will only send notifications to recipients whose email ends in knock.app from your development and staging environments. Now you can.

We surface all channel-conditions on their relevant workflow-level steps and in the Knock debugger, so you’ll always have visibility into why a given notification is or isn’t sending.

Read more in our docs

Set batch order: first or last ten items

We’ve updated our batch function to include a new batch order setting. This enables you to set whether a batch function will include the full activity objects for the first or last ten activities aggregated by your batch function.

As a reminder, the Knock batch function will always return its total count of items and unique actors, but only returns full details for ten items in the batch for the purposes of listing out batch details in a notification (as we are in the example notification below).

Setting batch order example

Read more in our docs

Fixes and improvements

  • πŸ‘€ We redesigned the workflow builder
  • πŸ‘€ Added color labels for environments
  • πŸ‘€ Now you can commit on your workflow from the workflow builder page

Send WhatsApp notifications with Knock

You can now send notifications from Knock to your users on WhatsApp, the popular chat app from Meta. Our integration makes it easy to include WhatsApp in your notifications strategy, opening up another channel for you to reach your users where they are.

Read more in our docs

Vercel integration

We've shipped a new Vercel integration to make it easy for you to set up Knock for your Vercel projects. The integration will link your Knock API keys to your selected Vercel projects and keep them in sync for you.

You can find us in the Vercel integrations marketplace in the "messaging" category and read more in our documentation.

Fixes and improvements

  • πŸ‘€ [SDKs] We added new event types to our @knocklabs/client library in 0.8.13
  • πŸ‘€ [SDKs] We added experimental support for cross-browser context feed synchronization in our @knocklabs/client library in 0.8.13 via the new __experimentalCrossBrowserUpdates option
  • πŸ‘€ We redesigned our trigger conditions editor to be an inline form instead of a modal
  • πŸ‘€ We added a link to the workflow invoked from a source event action
  • πŸ› We fixed an issue where pagination for tenant messages was not working correctly

Workflow condition UX improvements

At Knock, we continually strive to improve the experience our users have building their notification workflows. As of this release, it's much easier to understand at a glance which workflow steps contain conditions and how those conditions will execute based on the variable state of a given workflow run. To see a step's conditions, just hover over its card chin to see a hover over preview of all condition groups present on the step. ✨

Push channel JSON overrides

We now support the ability to add JSON overrides to the notification payloads Knock sends to downstream push channels on your behalf. This means you can now support badge counts, extra data properties, sound files, and other provider-specific settings in your push notifications. You can learn more in our push channel documentation.

Fixes and improvements

  • πŸ‘€ Show canceled request id in debugger
  • πŸ‘€ Show delay until values in debugger for steps that support it
  • πŸ‘€ Support liquid variables in email templates footer links
  • πŸ‘€ Add tenant brand icons on dashboard
  • πŸ‘€ Display custom step names on workflow cards
  • πŸ› Fix SSO login using Okta tiles

Power your product notifications with Segment and Rudderstack

Now you can integrate customer data platforms (CDPs) such as Segment and Rudderstack with Knock to power your product notifications. This means that you can use the identify and track calls you already send to your CDP to identify users in Knock and send them notifications.

  • track events can trigger Knock workflows, with custom mapping from event properties into every part of triggering a workflow
  • identify events keep user information in sync with Knock, so that user changes like email updates are fully synchronized with Knock with no code changes required in your product

Here's what this unlocks for your team. If you're a product manager that wants to set up a new notification type without taking time from your engineering team, you can create a new notification workflow in Knock and trigger it when Knock receives an event from your CDP. You can map properties from your event into your notification template to personalize messages, and into other parts of your notification workflow to power recipients, tenants, and more.

Check out our integrations overview to get started, or dive into our docs for Segment or Rudderstack.

This is just the start of powering Knock with external sources. We have more providers on the way, including reverse ETL platforms such as Hightouch and Census. If there's a specific event or customer data platform you'd like to see us support, please get in touch.

Fixes and improvements

  • πŸ‘€ We added the ability to update the number of activities in a batch from the variable pane – very helpful when working with batch data.
  • πŸ› We fixed a bug with our account invitations whereby a user without a name would cause invites to be returned as "not found".
  • πŸ› We fixed an issue where editing an email template could crash the dashboard for a small number of users.

This site uses cookies to measure and improve your experience.