Β 

Changelog

The latest releases and improvements to Knock.

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.

New Email + SMS channel providers

We're rolling out a whole host of new email and SMS channel providers today, available now under the "Channels" section in your account dashboard.

Email providers

SMS providers

If you need a specific provider not covered in our current providers list, please get in touch.

SAML 2.0 SSO Support

If you use SAML 2.0 SSO to manage authentication into the apps used by your organization, you can now configure your Knock account to enable users to authenticate into your account using your identity provider via SSO.

Note: SAML SSO is only available on our Growth and Enterprise plans.

Learn more about SSO

Fixes and improvements

  • πŸ‘€ We made some visual improvements to the variable pane in the workflow builder, making it easier to work with batched data like activities and actors
  • πŸ‘€ We now trim whitespace from email subject lines automatically, making it easier to work with
  • πŸ‘€ We made some internal improvements to our feeds endpoint, reducing the response time by 86%
  • πŸ› We now correctly support .first, .last, and .size calls on arrays in liquid
  • πŸ› We fixed an issue where changing template overrides would reset the editor contents within the email template editor
  • πŸ› We added more spacing around items in our visual email editor to work more easily on smaller screens
  • πŸ› We fixed an issue where message sending logs weren't appearing

Enable your customers to set account-wide default preferences

Today we're releasing per-tenant default preferences. When your product starts moving into larger organizations, you can often find admins asking for the ability to set a notification preference for all users in their account (or to set a default preference for those users at a minimum.)

Now you can support these types of per-tenant preference use cases with Knock. Our tenant preference model brings the same flexibility as our per-user preferences and lets you put them into the hands of your customers' admins.

Learn more about per-tenant preferences

Set pre-content variables in your email layout

Now you can set variables in your email template that will be rendered in your email layout ahead of your content block. This is great for when you want to set dynamic email preview text or dynamic header content within the layout of your email.

Learn more about pre-content variables

Fixes and improvements

  • πŸ› We fixed a bug in our test runner where our typeahead select fields were acting finicky.

Introducing role-based access control

Today we’re shipping a new set of account-level roles for the Knock dashboard, making it easy to grant more tailored permissions to members of your team who might not need full access to all resources within your Knock account.

The roles now available on your account are:

  • Owner: For your primary admin who manages billing. This role can invite and manage members, manage billing, and do anything available in the admin role. Your account must always have at least one account owner.
  • Admin: For admins who need to manage account-level settings. This role can invite and manage members (excluding owner and billing roles), manage account branding, manage environments, and manage advanced developer concepts such as signing keys, variables, and webhooks. This role has all permissions available to the member role.
  • Member: For users who are editing notification workflows and templates in Knock. This role can manage workflows, layouts, users, objects, and tenants. Users with this role can make commits and push changes to subsequent environments, and has full access to message and API logs for debugging.
  • Support: For users who shouldn't have access to workflows and templates, but should be able to dig into message and API logs for debugging purposes.
  • Billing: For account members who shouldn't have access to anything in Knock but billing.

You can see the full breakdown of the permissions available to each role in the documentation.

These new roles are available to all plans today. You can change roles and manage the members of your account from the "Account Settings > Members" page. As a reminder, there are no limits on the number of seats you can have assigned within your Knock account.

Read the documentation β†’

Dark mode docs 🌚

Our documentation is now available in dark mode for all those night owls out there. You can toggle to dark mode in the top header from any page in the docs.

Dark mode applied to the Knock documentation

Fixes and improvements

  • πŸ› We fixed an edge-case with our batching function whereby in a set of very specific circumstances a batch could be created twice for a workflow run
  • πŸ‘€ We added a new section to the docs for "Managing your account" including information about audit logs and managing team members