New JSON editor for template preview data

Our customers use the variable preview pane to understand which variables a workflow uses in its templates, and to update the values of those variables for use in template previews. Previously, this was managed through a point and click interface, which made it difficult to work with structured data such as lists and objects.

Our new and improved preview data editor lets you work with JSON directly. This means you can copy-paste a sample event payload into the editor and immediately see how it will render in your template. We also handle nested data structures to make it easier to navigate through the lists and objects you're working with in your workflow trigger payloads.

Improved layout management

You can now rename, duplicate, and archive the layouts you create in Knock. This enables teams to clean legacy layouts out of Knock and makes it easier to understand which layouts are in active use within the account.

Configure email providers with JSON overrides

You can now configure your email channels in Knock to always pass through JSON data in the requests Knock makes to that channel. As an example, if you're using SendGrid as your email provider and you want to pass through an email_category to SendGrid, you can configure a JSON override on your channel config. These channel overrides support liquid so you can dynamically set this value based on workflow run state if you prefer. See the example below.

{
  "custom_args": {
    "email_category": "{{ notificationType | default: "TRANSACTIONAL" }}"
  }
}

You can learn more about configuring channels and JSON provider overrides in our docs.

Secret account and environment variables

You can now set your account and environment variables as secrets within Knock. A secret variable is one that will be obfuscated within the Knock dashboard once created. This is helpful for cases where you want to use secret keys as Knock environment variables, e.g. to make calls to downstream systems using the Knock fetch step.

When you're creating a variable, just enable "Set as secret variable".

Fixes and improvements

  • 👀 You can now pass a comma-separated list of email addresses to the cc and bcc fields on your email channel configurations.
  • 🐛 We fixed an issue where events coming from sources such as Segment or Rudderstack that had properties with empty lists ([]) may fail to sync.
  • 🐛 We fixed a bug in our preferences set code that would prevent certain nested preferences from overriding previously set preferences for workflows and categories.
  • 🐛 We fixed an issue where creating a new environment could lead to some channel configuration not being set for in-app feeds.