Knock logo

Knock

Knock is notifications infrastructure as a service — a product and customer messaging platform you use to power transactional, lifecycle, broadcast, and in-product messaging across email, SMS, push, in-app, in-app guides, chat (Slack / Discord / Teams / WhatsApp), and outbound webhooks. Knock exposes two REST surfaces — a runtime API (api.knock.app) for triggering workflows and managing recipients/messages, and a Management API (control.knock.app) for resource CRUD — together with official SDKs in Node, Python, Ruby, Go, Elixir, Java, .NET, PHP and mobile (Swift, Kotlin, Flutter, React Native, Expo); a CLI; a remote MCP server; an agent toolkit for OpenAI / AI SDK / Langchain / Mastra; outbound webhooks; AI agent workflow steps; SlackKit and TeamsKit; and a git-style environment / branch / commit model for safe promotion of notification resources.

14 APIs 31 Features
NotificationsMessagingInfrastructureWorkflowsCross-ChannelEmailSMSPushIn-AppChatSlackWebhooksMCPAI AgentsDeveloper Platform

APIs

Knock Workflows API

Trigger and cancel notification workflows and inspect workflow recipient runs. Workflows are Knock's core programmable model — orchestrating channel steps (email, SMS, push, in-...

Knock Users API

Identify, list, update, delete, and merge users plus manage their channel data, preferences, in-app feeds, guides, subscriptions, messages, and schedules. The primary recipient ...

Knock Messages API

Read, list, and update Knock messages — the per-recipient delivery records produced by workflow runs. Includes activity, delivery log, and event timelines plus mark-as-seen/read...

Knock Objects API

Create and manage non-user Objects in Knock and their channel data, preferences, subscriptions, and messages. Objects model accounts, projects, devices, or any non-human notific...

Knock Tenants API

Manage Tenants — the top-level accounts or workspaces in your product. Tenants power tenant-scoped branding, preferences, and message-targeting.

Knock Schedules API

Create, list, update, and delete workflow Schedules. Schedules fire workflows at one-off or recurring times for specific recipients with timezone and repeat-rule support.

Knock Audiences API

Manage static Audiences and their members. Audiences power lifecycle messaging — when a user joins an audience, configured workflows fire automatically.

Knock Channels API

Inspect channels and run bulk message-status updates scoped to a channel. Channels represent configured provider integrations (Resend, SendGrid, Twilio, APNS, Slack, etc.).

Knock Providers API

OAuth provider endpoints supporting SlackKit, MS Teams Kit, and other inbound provider integrations — authorize, revoke, and inspect connections to chat providers on behalf of u...

Knock Integrations API

Inspect integrations configured for the current environment. Used by SlackKit and TeamsKit clients to discover the destinations available for a recipient.

Knock Bulk Operations API

Track and inspect long-running bulk operations. Many Knock endpoints (bulk identify users, bulk delete, bulk channel-status updates) return a bulk-operation handle; this surface...

Knock Notify API

Internal notify endpoints used by the Knock event-driven trigger surface. Used to send notifications when workflows fire from source events, schedules, audiences, or programmati...

Knock Management API (mAPI)

Knock Management API (mAPI) — the resource-management surface at control.knock.app. Programmatic CRUD over Workflows, Channels, Email Layouts, Partials, Templates, Translations,...

Knock Outbound Webhooks

Outbound webhooks fire message lifecycle (sent, delivered, seen, read, interacted, archived, link_clicked, bounced, undelivered) and environment-change (workflow / email_layout ...

Features

Cross-channel notification workflows — email, SMS, push, in-app, in-app guides, chat (Slack/Discord/Teams/WhatsApp), and outbound webhooks from one trigger
Workflow function steps — batch, delay, branch, experiment, throttle, fetch (HTTP), AI agent, trigger-workflow, update-user / update-tenant / update-object / update-data / update-audience
Drag-and-drop workflow builder used collaboratively by engineering, product, and growth
Broadcasts — one-time messages to audience-targeted groups from the Knock dashboard
Guides — in-app lifecycle messaging using your own components and design system
Recipients model — Users, non-user Objects, and Tenants with channel data and properties
Preferences — per-channel, per-workflow, per-category preference sets enforced automatically on every run and broadcast
Audiences — static and dynamic user segments that automatically drive lifecycle workflow triggers
Schedules — one-off and recurring (timezone-aware) workflow firing
Subscriptions — many-to-many fan-out from Objects to recipient lists
Conditions — dynamic control flow on trigger data, recipient properties, and prior step status
Templates — drag-and-drop editor + Liquid; partials, branding, translations (i18n), email layouts
Real-time in-app feed API plus pre-built React, JavaScript, iOS, Android, Flutter, React Native, Expo, and Vue/Nuxt SDKs
Outbound webhook events for full message lifecycle and environment change tracking
Customer-facing webhook channel (let your customers configure their own webhook destinations)
Idempotent requests via Idempotency-Key
Cursor-based pagination
Tiered per-endpoint rate limits (1, 5, 60, 200, 1000 req/sec) scoped per environment or per signed user
Enhanced security mode with signed user tokens (JWT)
Environments + Branches + Commits — git-style resource workflow with promotion across dev/staging/prod
Knock CLI for local-first resource management against the Management API
Knock MCP server (remote) at mcp.knock.app/mcp — OAuth 2.1 + PKCE; tool groups for resources, commits, debug, data, and docs
Knock Agent Toolkit — AI SDK, OpenAI function-calling, Langchain, Mastra, and local MCP server bindings
AI agent function step inside workflows for prompt-driven enrichment and personalization
Knock skills — procedural knowledge packages for AI agents working with Knock
SlackKit and TeamsKit — drop-in OAuth + channel-data UX for connecting customer Slack/Teams workspaces
Data warehouse / Segment / Datadog observability streams
Source events — trigger workflows from CDPs (Segment, Rudderstack) or reverse-ETL (Hightouch, Census)
Multi-tenancy with per-tenant branding and locked preferences (Enterprise)
SAML 2.0 SSO, SCIM directory sync, HIPAA / BAA on Enterprise
Official SDKs in Node, Python, Ruby, Go, Elixir, Java, .NET, PHP, plus mobile (Swift, Kotlin, Flutter, React Native, Expo) and Management-API SDKs (Node, Python, Go)

Event Specifications

Knock Outbound Webhooks

Knock fires outbound webhook events for message lifecycle (sent, delivered, seen, read, interacted, archived, link_clicked, bounced, undelivered) and for environment changes (wo...

ASYNCAPI

Semantic Vocabularies

Knock App Context

0 classes · 11 properties

JSON-LD

API Governance Rules

Knock API Rules

8 rules · 3 errors 3 warnings 2 info

SPECTRAL

Resources

🔗
PostmanWorkspace
PostmanWorkspace
🔗
ArazzoWorkflows
ArazzoWorkflows
🌐
Portal
Portal
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
🚀
GettingStarted
GettingStarted
📝
SignUp
SignUp
🔑
Authentication
Authentication
🔗
RateLimits
RateLimits
🔗
RateLimits
RateLimits
🔗
Idempotency
Idempotency
🔗
Pagination
Pagination
🔗
Errors
Errors
🔗
Errors
Errors
🟢
StatusPage
StatusPage
📄
ChangeLog
ChangeLog
💰
Pricing
Pricing
📜
TermsOfService
TermsOfService
📜
PrivacyPolicy
PrivacyPolicy
🔗
TrustCenter
TrustCenter
📰
Blog
Blog
👥
GitHubOrganization
GitHubOrganization
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
🔧
Tool
Tool
🔧
Tool
Tool
🔧
Tool
Tool
🔧
Tool
Tool
🔧
Tool
Tool
💻
CodeExamples
CodeExamples
💻
CodeExamples
CodeExamples
💻
CodeExamples
CodeExamples
💻
CodeExamples
CodeExamples
💻
CodeExamples
CodeExamples
💻
CodeExamples
CodeExamples
💻
CodeExamples
CodeExamples
🔗
Plugins
Plugins
🔗
Webhooks
Webhooks
🔗
Webhooks
Webhooks
🔗
AsyncAPI
AsyncAPI
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps
🔗
JSONLD
JSONLD
🔗
Vocabulary
Vocabulary
🔗
SpectralRules
SpectralRules
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Forum
Forum

Sources

Raw ↑
aid: knock-app
url: https://raw.githubusercontent.com/api-evangelist/knock-app/refs/heads/main/apis.yml
apis:
  - aid: knock-app:knock-workflows-api
    name: Knock Workflows API
    tags:
      - Workflows
      - Notifications
      - Messaging
      - Triggers
    humanURL: https://docs.knock.app/api-reference/workflows
    properties:
      - url: https://docs.knock.app/api-reference/workflows
        type: Documentation
      - url: https://docs.knock.app/send-notifications/triggering-workflows/api
        type: Documentation
      - url: openapi/knock-workflows-api-openapi.yml
        type: OpenAPI
      - url: json-schema/knock-workflow-trigger-schema.json
        type: JSONSchema
      - url: examples/knock-trigger-workflow-example.json
        type: Examples
    description: >-
      Trigger and cancel notification workflows and inspect workflow recipient runs. Workflows are Knock's core
      programmable model — orchestrating channel steps (email, SMS, push, in-app, chat, webhook) and function steps
      (batch, delay, branch, throttle, fetch, AI agent, trigger-workflow) with conditions and preferences across
      recipients.
  - aid: knock-app:knock-users-api
    name: Knock Users API
    tags:
      - Users
      - Recipients
      - Preferences
      - In-App Feed
      - Guides
    humanURL: https://docs.knock.app/api-reference/users
    properties:
      - url: https://docs.knock.app/api-reference/users
        type: Documentation
      - url: openapi/knock-users-api-openapi.yml
        type: OpenAPI
      - url: examples/knock-identify-user-example.json
        type: Examples
    description: >-
      Identify, list, update, delete, and merge users plus manage their channel data, preferences, in-app feeds, guides,
      subscriptions, messages, and schedules. The primary recipient surface for Knock.
  - aid: knock-app:knock-messages-api
    name: Knock Messages API
    tags:
      - Messages
      - Engagement
      - Delivery
    humanURL: https://docs.knock.app/api-reference/messages
    properties:
      - url: https://docs.knock.app/api-reference/messages
        type: Documentation
      - url: openapi/knock-messages-api-openapi.yml
        type: OpenAPI
      - url: json-schema/knock-message-schema.json
        type: JSONSchema
    description: >-
      Read, list, and update Knock messages — the per-recipient delivery records produced by workflow runs. Includes
      activity, delivery log, and event timelines plus mark-as-seen/read/interacted/archived single and batch endpoints.
  - aid: knock-app:knock-objects-api
    name: Knock Objects API
    tags:
      - Objects
      - Non-User Recipients
    humanURL: https://docs.knock.app/api-reference/objects
    properties:
      - url: https://docs.knock.app/api-reference/objects
        type: Documentation
      - url: openapi/knock-objects-api-openapi.yml
        type: OpenAPI
    description: >-
      Create and manage non-user Objects in Knock and their channel data, preferences, subscriptions, and messages.
      Objects model accounts, projects, devices, or any non-human notification target.
  - aid: knock-app:knock-tenants-api
    name: Knock Tenants API
    tags:
      - Tenants
      - Multi-Tenancy
      - Branding
    humanURL: https://docs.knock.app/api-reference/tenants
    properties:
      - url: https://docs.knock.app/api-reference/tenants
        type: Documentation
      - url: openapi/knock-tenants-api-openapi.yml
        type: OpenAPI
    description: >-
      Manage Tenants — the top-level accounts or workspaces in your product. Tenants power tenant-scoped branding,
      preferences, and message-targeting.
  - aid: knock-app:knock-schedules-api
    name: Knock Schedules API
    tags:
      - Schedules
      - Recurring
      - Cron
    humanURL: https://docs.knock.app/api-reference/schedules
    properties:
      - url: https://docs.knock.app/api-reference/schedules
        type: Documentation
      - url: https://docs.knock.app/concepts/schedules
        type: Documentation
      - url: openapi/knock-schedules-api-openapi.yml
        type: OpenAPI
      - url: examples/knock-create-schedule-example.json
        type: Examples
    description: >-
      Create, list, update, and delete workflow Schedules. Schedules fire workflows at one-off or recurring times for
      specific recipients with timezone and repeat-rule support.
  - aid: knock-app:knock-audiences-api
    name: Knock Audiences API
    tags:
      - Audiences
      - Segments
      - Lifecycle
    humanURL: https://docs.knock.app/api-reference/audiences
    properties:
      - url: https://docs.knock.app/api-reference/audiences
        type: Documentation
      - url: openapi/knock-audiences-api-openapi.yml
        type: OpenAPI
    description: >-
      Manage static Audiences and their members. Audiences power lifecycle messaging — when a user joins an audience,
      configured workflows fire automatically.
  - aid: knock-app:knock-channels-api
    name: Knock Channels API
    tags:
      - Channels
      - Providers
      - Bulk
    humanURL: https://docs.knock.app/api-reference/channels
    properties:
      - url: https://docs.knock.app/api-reference/channels
        type: Documentation
      - url: openapi/knock-channels-api-openapi.yml
        type: OpenAPI
    description: >-
      Inspect channels and run bulk message-status updates scoped to a channel. Channels represent configured provider
      integrations (Resend, SendGrid, Twilio, APNS, Slack, etc.).
  - aid: knock-app:knock-providers-api
    name: Knock Providers API
    tags:
      - Providers
      - OAuth
      - SlackKit
      - TeamsKit
    humanURL: https://docs.knock.app/api-reference/providers
    properties:
      - url: https://docs.knock.app/api-reference/providers
        type: Documentation
      - url: openapi/knock-providers-api-openapi.yml
        type: OpenAPI
    description: >-
      OAuth provider endpoints supporting SlackKit, MS Teams Kit, and other inbound provider integrations — authorize,
      revoke, and inspect connections to chat providers on behalf of users or tenants.
  - aid: knock-app:knock-integrations-api
    name: Knock Integrations API
    tags:
      - Integrations
      - SlackKit
      - TeamsKit
    humanURL: https://docs.knock.app/api-reference/integrations
    properties:
      - url: https://docs.knock.app/api-reference/integrations
        type: Documentation
      - url: openapi/knock-integrations-api-openapi.yml
        type: OpenAPI
    description: >-
      Inspect integrations configured for the current environment. Used by SlackKit and TeamsKit clients to discover the
      destinations available for a recipient.
  - aid: knock-app:knock-bulk-operations-api
    name: Knock Bulk Operations API
    tags:
      - Bulk
      - Operations
      - Async
    humanURL: https://docs.knock.app/api-reference/bulk_operations
    properties:
      - url: https://docs.knock.app/api-reference/bulk_operations
        type: Documentation
      - url: openapi/knock-bulk-operations-api-openapi.yml
        type: OpenAPI
    description: >-
      Track and inspect long-running bulk operations. Many Knock endpoints (bulk identify users, bulk delete, bulk
      channel-status updates) return a bulk-operation handle; this surface exposes its lifecycle.
  - aid: knock-app:knock-notify-api
    name: Knock Notify API
    tags:
      - Notify
      - Events
    humanURL: https://docs.knock.app/api-reference/overview
    properties:
      - url: openapi/knock-notify-api-openapi.yml
        type: OpenAPI
    description: >-
      Internal notify endpoints used by the Knock event-driven trigger surface. Used to send notifications when
      workflows fire from source events, schedules, audiences, or programmatic triggers.
  - aid: knock-app:knock-management-api
    name: Knock Management API (mAPI)
    tags:
      - Management
      - Resources
      - CLI
      - MCP
      - DevOps
    humanURL: https://docs.knock.app/mapi
    properties:
      - url: https://docs.knock.app/mapi
        type: Documentation
      - url: https://docs.knock.app/developer-tools/management-api
        type: Documentation
      - url: openapi/knock-management-api-openapi.yml
        type: OpenAPI
    description: >-
      Knock Management API (mAPI) — the resource-management surface at control.knock.app. Programmatic CRUD over
      Workflows, Channels, Email Layouts, Partials, Templates, Translations, Audiences, Broadcasts, Guides, Message
      Types, Variables, Members, Channel Groups, Environments, Branches, Commits, and API Keys. Powers the Knock CLI and
      MCP server.
  - aid: knock-app:knock-webhooks
    name: Knock Outbound Webhooks
    tags:
      - Webhooks
      - Events
      - AsyncAPI
    humanURL: https://docs.knock.app/developer-tools/outbound-webhooks/overview
    properties:
      - url: https://docs.knock.app/developer-tools/outbound-webhooks/overview
        type: Documentation
      - url: https://docs.knock.app/developer-tools/outbound-webhooks/event-types
        type: Documentation
      - url: asyncapi/knock-webhooks-asyncapi.yml
        type: AsyncAPI
    description: >-
      Outbound webhooks fire message lifecycle (sent, delivered, seen, read, interacted, archived, link_clicked,
      bounced, undelivered) and environment-change (workflow / email_layout / translation / partial /
      source_event_action updates and commits) events as JSON POSTs to subscriber URLs configured in the Knock
      dashboard.
name: Knock
tags:
  - Notifications
  - Messaging
  - Infrastructure
  - Workflows
  - Cross-Channel
  - Email
  - SMS
  - Push
  - In-App
  - Chat
  - Slack
  - Webhooks
  - MCP
  - AI Agents
  - Developer Platform
kind: contract
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
access: 3rd-Party
common:
  - type: PostmanWorkspace
    url: https://www.postman.com/kinlaneapi/knock/overview
  - type: ArazzoWorkflows
    url: arazzo/
    workflows:
      - url: arazzo/knock-app-bulk-identify-users-notify-workflow.yml
        name: Knock Bulk Identify Users and Notify
        summary: Bulk identify a batch of users, wait for the operation to complete, then notify them.
      - url: arazzo/knock-app-bulk-set-objects-notify-workflow.yml
        name: Knock Bulk Set Objects and Notify
        summary: Bulk upsert objects in a collection, wait for completion, then notify one object.
      - url: arazzo/knock-app-bulk-set-tenants-verify-workflow.yml
        name: Knock Bulk Set Tenants and Verify
        summary: Bulk upsert tenants, wait for the operation to complete, then list tenants to verify.
      - url: arazzo/knock-app-cancellable-workflow-trigger-workflow.yml
        name: Knock Cancellable Workflow Trigger
        summary: Identify a recipient, trigger a cancellable workflow, then cancel it by key.
      - url: arazzo/knock-app-identify-user-set-preferences-trigger-workflow.yml
        name: Knock Identify User, Set Preferences, and Trigger Workflow
        summary: Identify a recipient, apply their notification preferences, then trigger a workflow for them.
      - url: arazzo/knock-app-merge-users-and-renotify-workflow.yml
        name: Knock Merge Users and Re-notify
        summary: Identify a surviving user, merge a duplicate into it, then notify the merged user.
      - url: arazzo/knock-app-object-preferences-message-audit-workflow.yml
        name: Knock Set Object Preferences and Audit Messages
        summary: Upsert an object, set its preference set, then audit messages sent to it.
      - url: arazzo/knock-app-object-subscriptions-notify-workflow.yml
        name: Knock Set Object, Add Subscriptions, and Notify
        summary: Create an object, subscribe recipients to it, then notify subscribers via a workflow.
      - url: arazzo/knock-app-register-push-token-and-read-feed-workflow.yml
        name: Knock Register Push Token and Read Feed
        summary: Identify a user, register their channel data, then read their in-app feed.
      - url: arazzo/knock-app-schedule-recurring-workflow-workflow.yml
        name: Knock Schedule a Recurring Workflow
        summary: Identify a recipient, create a recurring schedule, then verify it was registered.
      - url: arazzo/knock-app-tenant-onboarding-notify-workflow.yml
        name: Knock Tenant Onboarding and Notify
        summary: Set a tenant, identify a member user, then notify them scoped to the tenant.
      - url: arazzo/knock-app-trigger-then-archive-feed-message-workflow.yml
        name: Knock Trigger Then Archive Feed Message
        summary: Trigger a workflow, find the resulting in-app message, then archive it.
      - url: arazzo/knock-app-trigger-workflow-inspect-message-content-workflow.yml
        name: Knock Trigger Workflow and Inspect Message Content
        summary: Trigger a workflow then locate the generated message and read its rendered content.
      - url: arazzo/knock-app-trigger-workflow-track-recipient-run-workflow.yml
        name: Knock Trigger Workflow and Track Recipient Run
        summary: Trigger a workflow and poll its per-recipient run until it completes.
  - type: Portal
    url: https://knock.app
  - type: Documentation
    url: https://docs.knock.app/
  - type: Documentation
    name: API Reference
    url: https://docs.knock.app/api-reference/overview
  - type: Documentation
    name: Management API Reference
    url: https://docs.knock.app/mapi
  - type: GettingStarted
    url: https://docs.knock.app/getting-started/what-is-knock
  - type: GettingStarted
    name: Quick start
    url: https://docs.knock.app/getting-started/quick-start/general
  - type: SignUp
    url: https://dashboard.knock.app/signup
  - type: Authentication
    url: https://docs.knock.app/api-reference/overview/authentication
  - type: RateLimits
    url: https://docs.knock.app/api-reference/overview/rate-limits
  - type: RateLimits
    name: Batch rate limits
    url: https://docs.knock.app/api-reference/overview/batch-rate-limits
  - type: Idempotency
    url: https://docs.knock.app/api-reference/overview/idempotent-requests
  - type: Pagination
    url: https://docs.knock.app/api-reference/overview/pagination
  - type: Errors
    url: https://docs.knock.app/api-reference/overview/errors
  - type: Errors
    name: Common error codes
    url: https://docs.knock.app/api-reference/overview/error-codes
  - type: StatusPage
    url: https://status.knock.app
  - type: ChangeLog
    url: https://docs.knock.app/changelog
  - type: Pricing
    url: https://knock.app/pricing
  - type: TermsOfService
    url: https://knock.app/legal/terms
  - type: PrivacyPolicy
    url: https://knock.app/legal/privacy
  - type: TrustCenter
    url: https://trust.knock.app
  - type: Blog
    url: https://knock.app/blog
  - type: GitHubOrganization
    url: https://github.com/knocklabs
  - type: SDK
    name: Node SDK
    url: https://github.com/knocklabs/knock-node
  - type: SDK
    name: Python SDK
    url: https://github.com/knocklabs/knock-python
  - type: SDK
    name: Ruby SDK
    url: https://github.com/knocklabs/knock-ruby
  - type: SDK
    name: Go SDK
    url: https://github.com/knocklabs/knock-go
  - type: SDK
    name: Elixir SDK
    url: https://github.com/knocklabs/knock-elixir
  - type: SDK
    name: Java SDK
    url: https://github.com/knocklabs/knock-java
  - type: SDK
    name: .NET SDK
    url: https://github.com/knocklabs/knock-dotnet
  - type: SDK
    name: PHP SDK
    url: https://github.com/knocklabs/knock-php
  - type: SDK
    name: iOS / Swift SDK
    url: https://github.com/knocklabs/knock-swift
  - type: SDK
    name: Android / Kotlin SDK
    url: https://github.com/knocklabs/knock-android
  - type: SDK
    name: Flutter SDK
    url: https://github.com/knocklabs/knock-flutter
  - type: SDK
    name: JavaScript / React SDKs
    url: https://github.com/knocklabs/javascript
  - type: SDK
    name: Knock Management Node SDK
    url: https://github.com/knocklabs/knock-mgmt-node
  - type: SDK
    name: Knock Management Python SDK
    url: https://github.com/knocklabs/knock-mgmt-python
  - type: SDK
    name: Knock Management Go SDK
    url: https://github.com/knocklabs/knock-mgmt-go
  - type: Tool
    name: Knock CLI
    url: https://github.com/knocklabs/knock-cli
  - type: Tool
    name: Knock MCP Server (remote)
    url: https://mcp.knock.app/mcp
  - type: Tool
    name: Knock MCP Server source
    url: https://github.com/knocklabs/knock-mcp
  - type: Tool
    name: Knock Agent Toolkit
    url: https://github.com/knocklabs/agent-toolkit
  - type: Tool
    name: Knock Telegraph (React component library)
    url: https://github.com/knocklabs/telegraph
  - type: CodeExamples
    name: In-app notifications Next.js example
    url: https://github.com/knocklabs/in-app-notifications-example-nextjs
  - type: CodeExamples
    name: SlackKit example
    url: https://github.com/knocklabs/slack-kit-example
  - type: CodeExamples
    name: iOS example app
    url: https://github.com/knocklabs/ios-example-app
  - type: CodeExamples
    name: AI agent examples
    url: https://github.com/knocklabs/ai-agent-examples
  - type: CodeExamples
    name: Workflow templates
    url: https://github.com/knocklabs/workflow-templates
  - type: CodeExamples
    name: Notion feed example
    url: https://github.com/knocklabs/notion-feed-example
  - type: CodeExamples
    name: Marketplace example
    url: https://github.com/knocklabs/marketplace-example
  - type: Plugins
    name: React notification feed components
    url: https://github.com/knocklabs/react-notification-feed
  - type: Webhooks
    url: https://docs.knock.app/developer-tools/outbound-webhooks/overview
  - type: Webhooks
    name: Webhook event types
    url: https://docs.knock.app/developer-tools/outbound-webhooks/event-types
  - type: AsyncAPI
    url: asyncapi/knock-webhooks-asyncapi.yml
  - type: Plans
    url: plans/knock-plans-pricing.yml
  - type: RateLimits
    url: rate-limits/knock-rate-limits.yml
  - type: FinOps
    url: finops/knock-finops.yml
  - type: JSONLD
    url: json-ld/knock-app-context.jsonld
  - type: Vocabulary
    url: vocabulary/knock-app-vocabulary.yml
  - type: SpectralRules
    url: rules/knock-app-rules.yml
  - type: Documentation
    name: Knock MCP server docs
    url: https://docs.knock.app/ai/mcp-server
  - type: Documentation
    name: Knock agent docs
    url: https://docs.knock.app/ai/agent
  - type: Documentation
    name: Knock skills
    url: https://docs.knock.app/ai/skills
  - type: Documentation
    name: Agent workflow function
    url: https://docs.knock.app/ai/agent-function
  - type: Documentation
    name: Service tokens
    url: https://docs.knock.app/developer-tools/service-tokens
  - type: Documentation
    name: Environments
    url: https://docs.knock.app/concepts/environments
  - type: Documentation
    name: Commits
    url: https://docs.knock.app/concepts/commits
  - type: Documentation
    name: Liquid helpers reference
    url: https://docs.knock.app/template-editor/reference-liquid-helpers
  - type: Forum
    name: Knock Slack community
    url: https://knock.app/community
  - type: Features
    data:
      - >-
        Cross-channel notification workflows — email, SMS, push, in-app, in-app guides, chat
        (Slack/Discord/Teams/WhatsApp), and outbound webhooks from one trigger
      - >-
        Workflow function steps — batch, delay, branch, experiment, throttle, fetch (HTTP), AI agent, trigger-workflow,
        update-user / update-tenant / update-object / update-data / update-audience
      - Drag-and-drop workflow builder used collaboratively by engineering, product, and growth
      - Broadcasts — one-time messages to audience-targeted groups from the Knock dashboard
      - Guides — in-app lifecycle messaging using your own components and design system
      - Recipients model — Users, non-user Objects, and Tenants with channel data and properties
      - >-
        Preferences — per-channel, per-workflow, per-category preference sets enforced automatically on every run and
        broadcast
      - Audiences — static and dynamic user segments that automatically drive lifecycle workflow triggers
      - Schedules — one-off and recurring (timezone-aware) workflow firing
      - Subscriptions — many-to-many fan-out from Objects to recipient lists
      - Conditions — dynamic control flow on trigger data, recipient properties, and prior step status
      - Templates — drag-and-drop editor + Liquid; partials, branding, translations (i18n), email layouts
      - >-
        Real-time in-app feed API plus pre-built React, JavaScript, iOS, Android, Flutter, React Native, Expo, and
        Vue/Nuxt SDKs
      - Outbound webhook events for full message lifecycle and environment change tracking
      - Customer-facing webhook channel (let your customers configure their own webhook destinations)
      - Idempotent requests via Idempotency-Key
      - Cursor-based pagination
      - Tiered per-endpoint rate limits (1, 5, 60, 200, 1000 req/sec) scoped per environment or per signed user
      - Enhanced security mode with signed user tokens (JWT)
      - Environments + Branches + Commits — git-style resource workflow with promotion across dev/staging/prod
      - Knock CLI for local-first resource management against the Management API
      - >-
        Knock MCP server (remote) at mcp.knock.app/mcp — OAuth 2.1 + PKCE; tool groups for resources, commits, debug,
        data, and docs
      - Knock Agent Toolkit — AI SDK, OpenAI function-calling, Langchain, Mastra, and local MCP server bindings
      - AI agent function step inside workflows for prompt-driven enrichment and personalization
      - Knock skills — procedural knowledge packages for AI agents working with Knock
      - SlackKit and TeamsKit — drop-in OAuth + channel-data UX for connecting customer Slack/Teams workspaces
      - Data warehouse / Segment / Datadog observability streams
      - Source events — trigger workflows from CDPs (Segment, Rudderstack) or reverse-ETL (Hightouch, Census)
      - Multi-tenancy with per-tenant branding and locked preferences (Enterprise)
      - SAML 2.0 SSO, SCIM directory sync, HIPAA / BAA on Enterprise
      - >-
        Official SDKs in Node, Python, Ruby, Go, Elixir, Java, .NET, PHP, plus mobile (Swift, Kotlin, Flutter, React
        Native, Expo) and Management-API SDKs (Node, Python, Go)
    sources:
      - https://knock.app
      - https://knock.app/pricing
      - https://docs.knock.app/getting-started/what-is-knock
      - https://docs.knock.app/api-reference/overview
      - https://docs.knock.app/ai/mcp-server
      - https://github.com/knocklabs
    updated: '2026-05-25'
created: '2026-05-25'
modified: '2026-05-25'
position: Consuming
description: >-
  Knock is notifications infrastructure as a service — a product and customer messaging platform you use to power
  transactional, lifecycle, broadcast, and in-product messaging across email, SMS, push, in-app, in-app guides, chat
  (Slack / Discord / Teams / WhatsApp), and outbound webhooks. Knock exposes two REST surfaces — a runtime API
  (api.knock.app) for triggering workflows and managing recipients/messages, and a Management API (control.knock.app)
  for resource CRUD — together with official SDKs in Node, Python, Ruby, Go, Elixir, Java, .NET, PHP and mobile (Swift,
  Kotlin, Flutter, React Native, Expo); a CLI; a remote MCP server; an agent toolkit for OpenAI / AI SDK / Langchain /
  Mastra; outbound webhooks; AI agent workflow steps; SlackKit and TeamsKit; and a git-style environment / branch /
  commit model for safe promotion of notification resources.
maintainers:
  - FN: Kin Lane
    email: info@apievangelist.com
    X: apievangelist
    url: https://apievangelist.com
specificationVersion: '0.16'