Object preferences

A guide to storing preferences on objects.

You can set a PreferenceSet on an object, just as you would for a user.

Set preferences for an object
1import Knock from "@knocklabs/node";
2const knock = new Knock({
3  apiKey: process.env.KNOCK_API_KEY
4});
5
6await knock.objects.setPreferences("projects", "project-1", {
7  channel_types: {
8    email: true,
9    sms: false
10  },
11  workflows: {
12    "dinosaurs-loose": {
13      channel_types: {
14        email: false,
15        in_app_feed: true,
16        sms: true,
17      },
18    },
19  },
20});

Get preferences for an object
1import Knock from "@knocklabs/node";
2const knock = new Knock({
3  apiKey: process.env.KNOCK_API_KEY
4});
5
6// If no preference set id is provided, the SDK will return the object's "default" preferences
7await knock.objects.getPreferences("projects", "project-1", "tenant-1");