Changelog

Patch details and release notes

Go back

Expanded Account Capabilities: Associating users to accounts, using account properties in templates

Jul 7, 2023

## API for associating users to accounts

Our most recent update introduces the ability to add a user to one or multiple accounts in a single call. This expands the capabilities of the [Accounts API private beta](https://www.courier.com/changelog/007-accounts-api-and-dynamic-data-mapping-for-notification-templates/), which lets you define user-to-account-level relationships, especially useful in the context of B2B SaaS applications.

For more information, see the [full documentation](https://www.courier.com/docs/reference/accounts/user-membership/).

## Support for account properties as template variables

Our most recent update introduces support for account properties as template variables, broadening the potential of your notification customization. With this feature, you can integrate data supplied in the Send API request or User Profile directly into your notification design.

This is achieved using JSON paths and variables, allowing you to access data either from the data and profile objects in a Send API request or from the associated account object created through the [Accounts API](https://www.courier.com/changelog/007-accounts-api-and-dynamic-data-mapping-for-notification-templates/).

For instance, if you need to reference an associated company name from a user's account in your notification, you can use a JSONPath expression such as `$.account.company_name`. This will dynamically incorporate the company name into your notification template. To reference profile information like a user's email, use an expression like `$.profile.email`.

Substitution variables can also be used for personalized elements in your notifications. A simple example would be including a personal greeting using `{name}`, where **name** is a property in your data object. Courier replaces the `{name}` variable with the actual value at the time of sending, generating personalized greetings.

This update further enhances the flexibility and dynamic customization of your notification systems.

For more information, see the [full documentation](https://www.courier.com/docs/platform/content/using-variables/json-paths-variables/).

## Improvements and fixes

### New features

- Introduced the ability to copy automation templates between environments, making it easier to maintain consistency across different environments.

- Added support for Inbox as a preference channel, giving users more control over where they receive notifications.

### Bug fixes

- Fixed a bug in the automations table that prevented row clicks from firing, improving usability.

### UI improvements

- Updated the look and feel of the automations log table and Logs table view, adhering to Heron, our new design system. This gives you a cleaner and more user-friendly interface.

- Revamped the brand designer sidebar for an improved user experience.

### Documentation and tutorials

- Reorganized our [documentation](https://www.courier.com/docs/), including introducing new sections in the left navigation pane and descriptions of key platform concepts, to improve your navigation experience.

- Updated the audience [documentation](https://www.courier.com/docs/reference/audiences/operators/) for operators with the addition of `is_after` and `is_before` operators.

- Published a [tutorial](https://www.courier.com/blog/send-and-automate-push-notifications-using-flutter-firebase-and-node-js/) on sending and automating push notifications using Flutter, Firebase, and Node.js.

- Released a guide that [demystifies transactional emails](https://www.courier.com/blog/transactional-emails-demystified-from-delivery-intelligence-to-best/) from delivery intelligence to best practices.

- Shared a [tutorial](https://www.courier.com/blog/create-an-automated-notification-system-using-python-and-courier/) on creating an automated notification system using Python and Courier.

Backed by