Trigger a workflowRun one of your Knock workflows - Knock decides the channels, the template and the batching from what you built in the dashboard. The workflow must be committed to the environment this connection's key belongs to before the API can trigger it, in development as well as production.
Cancel a workflow runStop a workflow run that is still waiting - in a delay step, or gathering a batch. Anything already sent stays sent. Give it the same cancellation key the trigger step used.
Identify a userCreate a Knock user, or update one that already exists. Only the fields you fill in are changed, so this is safe to run on every sign-in. There is no separate create step.
Get a userRead one Knock user and everything stored on them.
List usersList the users in this Knock environment, a page at a time. Pass the 'after' cursor from one run into the next to keep going.
Delete a userPermanently delete a user and all of their data, including their messages and preferences. This cannot be undone.
List a user's messagesEvery notification sent to one person, newest first, with filters for how it was delivered and what they did with it.
List a user's preferencesEvery preference set stored for one user. Most accounts have one, called 'default'; a user who has never set anything has none, which is not the same as having opted out.
Set a user's preferencesWrite what a user does and doesn't want to be notified about, by channel type, by category or by workflow. Knock's own default replaces everything not sent, so this step defaults to merging instead - switch it to Replace only when you mean to discard the rest.
Set an objectCreate or update a record that isn't a person - a project, a document, a repository. Objects can be subscribed to and notified just like users. Only the fields you fill in change.
Get an objectRead one record out of a collection.
List objectsList the records in one collection, a page at a time. Pass the 'after' cursor from one run into the next.
Delete an objectDelete one record and everything associated with it, including the subscriptions to it. This cannot be undone.
Set a tenantCreate or update a tenant - the customer or workspace a notification belongs to. The record, its name and its custom properties work on every Knock plan; the branding fields and tenant-level preference defaults are an Enterprise feature and Knock refuses them otherwise.
Get a tenantRead one tenant and its settings.
List tenantsList the tenants in this Knock environment, optionally filtered by name or id.
Delete a tenantDelete a tenant and everything associated with it. This cannot be undone.
List messagesEvery notification this Knock environment has sent, newest first, with filters for the workflow, the channel, how it was delivered and what the recipient did with it.
Get a messageRead one notification: which channel carried it, whether it was delivered, and whether the recipient saw, read or clicked it.
Mark a message as readMark an in-app message read on the recipient's behalf - for when they acted on it somewhere other than the feed.