# Knock Documentation ## Getting started An introduction to the basics of Knock. - [What is Knock?](/getting-started/what-is-knock.md): Learn more about what Knock does and how it helps power your product messaging. - **Quick start** - [General](/getting-started/quick-start/general.md): Set up Knock with an agent, or follow the manual steps. - [Next.js](/getting-started/quick-start/nextjs.md): Set up Knock with an agent, or follow the manual steps. - [React](/getting-started/quick-start/react.md): Set up Knock with an agent, or follow the manual steps. - [Example apps](/getting-started/example-apps.md): Example applications to help you get started with Knock. ## Concepts Learn about the key concepts in Knock. - [Overview](/concepts/overview.md): Learn about the key concepts in Knock. - [Workflows](/concepts/workflows.md): Learn more about what a workflow in Knock is, and how to think about grouping together your cross-channel notifications into different workflows. - [Broadcasts](/concepts/broadcasts.md): Power one-time, cross-channel messaging to your users through Knock. - [Guides](/concepts/guides.md): Power in-product messaging such as announcements, paywalls, and banners using your own components. - [Channels](/concepts/channels.md): Learn about what a channel is in Knock and how you can use channels to power your cross-channel notification delivery. - [Recipients](/concepts/recipients.md): A Recipient in Knock represents a person or a non-user entity that receives notifications. - [Users](/concepts/users.md): Learn more about Users in Knock and see code examples to get started. - [Preferences](/concepts/preferences.md): Learn how the notification preference system works in Knock. - [Objects](/concepts/objects.md): Learn the basics of Objects in Knock. - [Subscriptions](/concepts/subscriptions.md): Learn how to use subscriptions to notify a list of recipients associated with an object in your data model. - [Audiences](/concepts/audiences.md): Learn how to use Audiences to power your lifecycle and transactional messaging. - [Schedules](/concepts/schedules.md): Learn how to use Schedules to run workflows at set times for your recipients in a recurring or one-off manner. - [Messages](/concepts/messages.md): Learn how Knock models per-recipient notifications with Messages. - [Conditions](/concepts/conditions.md): Learn how Knock's conditions model provides dynamic control flow to your workflow runs. - [Variables](/concepts/variables.md): Learn more about using shared Variables in Knock. ## Knock AI Use AI in the dashboard, inside workflows, in your IDE, and in external clients. - [Overview](/ai/overview.md): Use AI features across Knock — in the dashboard, inside workflows, in your IDE, and in external clients. - [Knock agent](/ai/agent.md): Use the Knock agent in the dashboard to answer questions, inspect resources, and build customer messaging through conversation. - [Agent workflow function](/ai/agent-function.md): Learn how the agent workflow function brings AI-powered enrichment and personalization into your Knock workflows. - [Knock CLI](/ai/cli.md): Use the Knock CLI as the local-first surface for AI coding agents to read and write Knock resources from your codebase. - [Knock MCP server](/ai/mcp-server.md): Use the Knock MCP server to make Knock accessible to LLMs and AI agents via tool calling. - [Skills](/ai/skills.md): Use skills to give AI agents the procedural knowledge they need to work with Knock effectively, whether they run in your IDE, an external client, or the Knock dashboard. ## Workflows Learn how to design notifications using Knock's workflow builder, then explore advanced features such as batching, delays, and more. - [Overview](/designing-workflows/overview.md): Learn more about how to design and create powerful cross-channel notification workflows in Knock. - **Function steps** - [Delay function](/designing-workflows/delay-function.md): Learn more about the delay workflow function within Knock's notification engine. - [Wait for event function](/designing-workflows/wait-for-event-function.md): Learn more about the wait for event workflow function within Knock's notification engine. - [Batch function](/designing-workflows/batch-function.md): Learn more about the batch workflow function within Knock's notification engine. - [Branch function](/designing-workflows/branch-function.md): Learn more about the branch workflow function within Knock's notification engine. - [Experiment function](/designing-workflows/experiment-function.md): Learn more about the experiment workflow function within Knock's notification engine. - [Fetch function](/designing-workflows/fetch-function.md): Learn more about the fetch workflow function within Knock's notification engine. - [Agent function](/designing-workflows/ai-agent-function.md): Learn how to use the agent workflow function to enrich data and personalize messaging in Knock workflows. - [Throttle function](/designing-workflows/throttle-function.md): Learn more about the throttle workflow function within Knock's notification engine. - [Trigger workflow function](/designing-workflows/trigger-workflow-function.md): Learn more about the trigger workflow function within Knock's notification engine. - **Data steps** - [Update user function](/designing-workflows/update-user-function.md): Learn how to update a user in Knock during a workflow run. - [Update tenant function](/designing-workflows/update-tenant-function.md): Learn how to update a tenant's properties in Knock during a workflow run. - [Update object function](/designing-workflows/update-object-function.md): Learn how to update an object's properties in Knock during a workflow run. - [Update data function](/designing-workflows/update-data-function.md): Learn more about the update data function within Knock's notification engine. - [Update audience function](/designing-workflows/update-audience-function.md): Learn how to add or remove users from a static audience during a workflow run. - [Step conditions](/designing-workflows/step-conditions.md): Learn more about how to use step conditions within the Knock workflow builder. - [Channel steps](/designing-workflows/channel-step.md): Learn more about channel steps within Knock's notification engine. - [Send windows](/designing-workflows/send-windows.md): Learn how to control when notifications are delivered using send windows. - [Validating trigger data](/designing-workflows/validating-trigger-data.md): Learn how to validate the data passed to your Knock workflows using JSON schemas to ensure accuracy and prevent errors in your notifications. ## Templates Learn how to work with templates in Knock. - [Overview](/template-editor/overview.md): Learn how to use the Knock template editor to design personalized cross-channel messages for your product. - [Email templates](/template-editor/email-templates.md): Learn how to work with email templates in Knock. - [Variables](/template-editor/variables.md): A reference for the variables available in the Knock template editor. - [Referencing data](/template-editor/referencing-data.md): Documentation outlining how to work with data in your templates. - **Partials** - [Overview](/template-editor/partials/overview.md): Learn how to create reusable pieces of content using partials. - [HTML partials](/template-editor/partials/html-partials.md): Learn how to create reusable pieces of content using HTML partials. - [Schema reference](/template-editor/partials/schema-reference.md): Learn more about partial schemas and available fields for partials. - [Branding](/template-editor/branding.md): Learn how to use branding to customize the look and feel of your notifications. - [Translations (i18n)](/template-editor/translations.md): Learn how to use translations to localize your notifications. - [Testing & debugging](/template-editor/testing-and-debugging.md): Learn how to test and debug your message templates. - [Liquid helpers reference](/template-editor/reference-liquid-helpers.md): A reference to help you work with the Liquid templating language in Knock. ## Send messages Learn how to send and debug notifications using Knock. - **Triggering workflows** - [Overview](/send-notifications/triggering-workflows/overview.md): Learn more about how to trigger cross-channel notification workflows in Knock. - [With the API](/send-notifications/triggering-workflows/api.md): Learn more about how to trigger cross-channel notification workflows in Knock via the API. - [On a schedule](/send-notifications/triggering-workflows/schedules.md): Learn more about how to trigger cross-channel notification workflows in Knock on a schedule. - [From an event](/send-notifications/triggering-workflows/events.md): Learn more about how to trigger cross-channel notification workflows in Knock via an event. - [For an audience](/send-notifications/triggering-workflows/audiences.md): Learn more about how to trigger cross-channel notification workflows in Knock via an audience. - [Canceling workflows](/send-notifications/canceling-workflows.md): Learn more about canceling workflows in Knock and see code examples to get started. - [Delivering notifications](/send-notifications/delivering-notifications.md): Learn how Knock sends in-app and out-of-app notifications to email, SMS, push, and chat channels (such as Slack). - [Message statuses](/send-notifications/message-statuses.md): How to work with the Knock message statuses to understand notification delivery and engagement rates. - [Link & open tracking](/send-notifications/tracking.md): How to use Knock tracking to extend your ability to observe user engagement from right within your Knock account. - [Analytics](/send-notifications/analytics.md): Learn how to measure message volume, delivery, and engagement across your workflows, guides, and channels. - [Testing workflows](/send-notifications/testing-workflows.md): Learn more about how to test workflows you build in Knock. - [Debugging workflows](/send-notifications/debugging-workflows.md): Learn more about how to work with Knock's workflow debugger and API logs to easily debug your notification workflows. ## Recipients Learn more about how to manage notification recipients with Knock. - [Overview](/managing-recipients/overview.md): Learn more about managing recipients within Knock. - [Identifying recipients](/managing-recipients/identifying-recipients.md): Learn more about how to identify your user and object recipients to power your notifications. - [Recipient schemas](/managing-recipients/schemas.md): Curate the schemas Knock infers for your users, tenants, and objects. Hide properties, add labels and descriptions, and set preview text. - [Setting channel data](/managing-recipients/setting-channel-data.md): Learn about how to set channel data for your recipients and users to make it easy to connect recipients with push and chat channels. - [Deleting users](/managing-recipients/deleting-users.md): Learn more about how user deletions work within Knock and how deletion can help with data privacy controls. - [Merging users](/managing-recipients/merging-users.md): Learn more about merging user data. ## Multi-tenancy Learn how to use Knock's multi-tenancy features to power per-tenant notification experiences. - [Overview](/multi-tenancy/overview.md): Learn how to map your multi-tenant application into Knock using tenants. - [Tenant scoping](/multi-tenancy/tenant-scoping.md): Learn how to use tenants to scope in-app feeds so users only see notifications relevant to their active workspace. - [Per-tenant branding](/multi-tenancy/per-tenant-branding.md): Learn how to use tenants to apply custom branding to email notifications on a per-tenant basis. - [Per-tenant translations](/multi-tenancy/per-tenant-translations.md): Learn how to create tenant-scoped translation files that override your base translations for specific tenants. - [Per-tenant preferences](/multi-tenancy/per-tenant-preferences.md): Learn how to enable your customer admins to set default preferences for users in their tenant. ## Preferences Learn how to power notification preferences with Knock. - [Overview](/preferences/overview.md): Learn how to implement notification preferences in Knock. - [Hosted preference center](/preferences/hosted-preference-center.md): Learn how to use Knock's hosted preference center to enable your users to manage notification preferences without writing any code. - [Custom preference center](/preferences/custom-preference-center.md): Learn how to build and embed a custom notification preference center in your application using Knock's preferences API. - [Object preferences](/preferences/object-preferences.md): Documentation about storing preferences on objects. - [Preferences conditions](/preferences/preference-conditions.md): Power advanced conditional logic in your preferences. - [Commercial unsubscribe](/preferences/commercial-unsubscribe.md): Learn how to manage commercial email unsubscribe functionality in Knock. ## Version control Learn how versioning works within your Knock resources. - [Environments](/version-control/environments.md): Learn how to use Knock environments. - [Branches](/version-control/branches.md): Learn how to use branches to isolate changes to your Knock resources. - [Commits](/version-control/commits.md): Learn about how Knock's commit and promotion model works. ## Manage your account Learn more about the tools available in managing your Knock account. - [Authentication methods](/manage-your-account/authentication-methods.md): Learn more about the authentication methods available to members on your Knock account. - [Multi-factor authentication](/manage-your-account/multi-factor-authentication.md): Add an extra layer of security to your Knock account by enabling multi-factor authentication (MFA) with an authenticator app or passkey for dashboard login. - [SAML SSO](/manage-your-account/saml-sso.md): How to configure SAML SSO on your account. - [Directory sync (SCIM)](/manage-your-account/directory-sync.md): How to configure directory sync on your account to automate the management of users and their permissions from your identity management platform to Knock. - [Managing members](/manage-your-account/managing-members.md): Learn how to invite, manage, and remove members on your Knock account. - [Roles and permissions](/manage-your-account/roles-and-permissions.md): Learn about roles and permissions in Knock. - [Audit logs](/manage-your-account/audit-logs.md): Learn more about audit logs of actions performed on your Knock account. - [Data obfuscation](/manage-your-account/data-obfuscation.md): Learn more about how to protect your customer's production data in the Knock dashboard. - [Account timezone](/manage-your-account/account-timezone.md): Learn how to set the default timezone for your account. - [Data retention](/manage-your-account/data-retention.md): How Knock enforces data retention policies on your account. - [Custom domains](/manage-your-account/custom-domains.md): Learn more about how to configure custom domains for your Knock account to use for link tracking, email open tracking, and the hosted preference center. - [Managing assets](/manage-your-account/managing-assets.md): Learn how to upload and manage assets for use in your notification templates. - [Managing usage](/manage-your-account/managing-usage.md): Understand how Knock meters usage across plans and how to manage usage in your account. - [Account deletion](/manage-your-account/account-deletion.md): Learn how to permanently delete your Knock account and what happens to your data. --- - [Overview](/integrations/overview.md): Learn more about the integrations that Knock supports to send notifications and receive events. Send notifications to Email, SMS, Push, and Chat apps like Slack with a single API call and trigger them via events from your customer data platforms. ## Sources - [Overview](/integrations/sources/overview.md): Learn how to connect external services to Knock using incoming webhooks, CDPs, or reverse ETL integrations. - [Clerk](/integrations/sources/clerk.md): Receive Clerk webhook events in Knock to trigger workflows and automate actions based on authentication and user management events. - [PostHog](/integrations/sources/posthog.md): Receive PostHog webhook events in Knock to trigger workflows and automate actions based on product analytics events. - [Stripe](/integrations/sources/stripe.md): Receive Stripe webhook events in Knock to trigger workflows and automate actions based on payment and subscription lifecycle events. - [Supabase](/integrations/sources/supabase.md): Receive Supabase database webhook events in Knock to trigger workflows and automate actions based on row-level changes. - [Amplitude](/integrations/sources/amplitude.md): Send Amplitude events, user updates, and cohort membership changes to Knock to trigger workflows and keep users and audiences in sync. - [WorkOS](/integrations/sources/workos.md): Receive WorkOS webhook events in Knock to trigger workflows and automate actions based on directory sync and SSO events. - [Segment](/integrations/sources/segment.md): Receive Segment webhook events in Knock to trigger workflows and keep user data in sync with track and identify events. - [Shopify](/integrations/sources/shopify.md): Receive Shopify webhook events in Knock to trigger workflows and automate actions based on customer and order lifecycle events. - [RudderStack](/integrations/sources/rudderstack.md): Receive RudderStack webhook events in Knock to trigger workflows and keep user data in sync with track and identify events. - [Hightouch](/integrations/sources/hightouch.md): Learn how to power your Knock product notifications using synced data from your data warehouse using Hightouch. - [Census](/integrations/sources/census.md): Learn how to power your Knock product notifications using synced data from your data warehouse using Census. - [Clay](/integrations/sources/clay.md): Sync enriched lead and contact data from Clay tables into Knock to identify users and trigger workflows from CRM enrichment events. - [Polytomic](/integrations/sources/polytomic.md): Learn how to power your Knock product notifications using synced data from your data warehouse using Polytomic. - [Jitsu](/integrations/sources/jitsu.md): Learn how to connect your Jitsu events to Knock to power your product notifications. - [Freshpaint](/integrations/sources/freshpaint.md): Learn how to connect your Freshpaint events to Knock to power your product notifications. - [Custom source](/integrations/sources/custom.md): Send custom webhook events from any service into Knock and map them to actions like triggering workflows and identifying users, with optional scripting for verification and preprocessing. - **Legacy** - [Segment](/integrations/sources/legacy/segment.md): The legacy Segment source uses webhook destinations to forward track and identify events from Segment to Knock. For new integrations, use the updated Segment source instead. - [RudderStack](/integrations/sources/legacy/rudderstack.md): The legacy RudderStack source uses webhook destinations to forward track and identify events from RudderStack to Knock. For new integrations, use the updated RudderStack source instead. - [HTTP](/integrations/sources/legacy/http.md): The legacy HTTP source accepts events using the Segment track spec. For new integrations, use the custom source instead. ## Email - [Overview](/integrations/email/overview.md): Learn how to send transactional email notifications with the Knock API. - [Layouts](/integrations/email/layouts.md): Learn more about how to use layouts with your email templates in Knock. - [MJML](/integrations/email/mjml.md): Learn how to use MJML to build responsive email layouts and templates in Knock. - [Settings and overrides](/integrations/email/settings.md): Learn more about how to configure your email channels in Knock. - [Sending attachments](/integrations/email/attachments.md): Learn more about how to send emails with attachments in Knock. - [Client previews](/integrations/email/client-previews.md): Preview your email notifications across different email clients directly in the Knock editor. - [Knock test emails](/integrations/email/knock-test.md): Start testing with Knock's built-in email channel. - [Amazon SES](/integrations/email/aws-ses.md): How to send transactional email notifications to Amazon SES with Knock. - [Cloudflare Email](/integrations/email/cloudflare-email.md): How to send transactional email notifications with Cloudflare Email Service and Knock. - [MailerSend](/integrations/email/mailersend.md): How to send transactional email notifications to MailerSend with Knock. - [Mailgun](/integrations/email/mailgun.md): How to send transactional email notifications to Mailgun with Knock. - [Mailjet](/integrations/email/mailjet.md): How to send transactional email notifications to Mailjet with Knock. - [Mailtrap](/integrations/email/mailtrap.md): How to send transactional email notifications to Mailtrap with Knock. - [Mandrill](/integrations/email/mandrill.md): How to send transactional email notifications to Mandrill with Knock. - [Postmark](/integrations/email/postmark.md): How to send transactional email notifications to Postmark with Knock. - [Resend](/integrations/email/resend.md): How to send transactional email notifications to Resend with Knock. - [SendGrid](/integrations/email/sendgrid.md): How to send transactional email notifications to SendGrid with Knock. - [SMTP](/integrations/email/smtp.md): How to send transactional email notifications using SMTP with Knock. - [SparkPost](/integrations/email/sparkpost.md): How to send transactional email notifications to SparkPost with Knock. ## Chat - [Overview](/integrations/chat/overview.md): Learn how to use Knock to send notifications to chat apps such as Slack, Microsoft Teams, and Discord. - **Slack** - [Overview](/integrations/chat/slack/overview.md): Learn how to use Knock to send Slack notifications to your users. - [Messaging your workspace](/integrations/chat/slack/sending-an-internal-message.md): Use internal Slack messaging to send Knock workflow messages to channels and people in your team's Slack workspace. - [Sending a direct message](/integrations/chat/slack/sending-a-direct-message.md): How to configure and send direct messages to Slack users. - [Sending a message to channels](/integrations/chat/slack/sending-a-message-to-channels.md): How to configure and send notifications to Slack channels. - [Overriding recipient connections](/integrations/chat/slack/overriding-recipient-connections.md): Override where a Slack chat message is delivered from the template's settings, instead of using the recipient's stored connections. - **Microsoft Teams** - [Overview](/integrations/chat/microsoft-teams/overview.md): Learn how to use Knock to send Microsoft Teams notifications to your users. - [Sending an internal message](/integrations/chat/microsoft-teams/sending-an-internal-message.md): How to send a message to an internal Microsoft Teams workspace using Knock. - [Sending a direct message](/integrations/chat/microsoft-teams/sending-a-direct-message.md): How to send a message to a user in Microsoft Teams using Knock. - [Sending a message to channels](/integrations/chat/microsoft-teams/sending-a-message-to-channels.md): How to send a message to public channels in Microsoft Teams using Knock. - [Discord](/integrations/chat/discord.md): Get started sending Discord notifications with Knock. - [WhatsApp](/integrations/chat/whatsapp.md): Get started sending WhatsApp notifications with Knock. ## In-app - [Overview](/integrations/in-app/overview.md): Learn how to build in-app notifications like feeds and inboxes with Knock. - [Knock](/integrations/in-app/knock.md): Learn how to build in-app notifications using Knock's notification system. ## Push - [Overview](/integrations/push/overview.md): Learn how to send mobile push notifications with Knock. - [Token deregistration](/integrations/push/token-deregistration.md): How to use Knock token deregistration to manage recipient tokens by removing invalid tokens. - [Device metadata](/integrations/push/device-metadata.md): How to use channel data to store device-level metadata for push notifications. - [Amazon SNS](/integrations/push/aws-sns.md): How to send push notifications with Amazon SNS and Knock. - [Apple (APNS)](/integrations/push/apns.md): How to send iOS push notifications with Apple Push Notification service (APNs) and Knock. - [Expo (React Native)](/integrations/push/expo.md): How to send mobile push notifications with Expo and Knock. - [Firebase (FCM)](/integrations/push/firebase.md): How to send push notifications with Firebase Cloud Messaging (FCM) and Knock. - [OneSignal](/integrations/push/one-signal.md): How to send mobile push notifications with OneSignal and Knock. ## SMS - [Overview](/integrations/sms/overview.md): Learn how to send transactional SMS notifications with Knock. - [Settings and overrides](/integrations/sms/settings-and-overrides.md): Learn more about how to configure your SMS messages in Knock. - [Africa's Talking](/integrations/sms/africas-talking.md): Get started sending SMS notifications with Africa's Talking and Knock. - [Amazon SNS](/integrations/sms/aws-sns.md): Get started sending SMS notifications with Amazon SNS and Knock. - [MailerSend](/integrations/sms/mailersend.md): Get started sending SMS notifications with MailerSend and Knock. - [MessageBird](/integrations/sms/messagebird.md): Get started sending SMS notifications with MessageBird and Knock. - [Plivo](/integrations/sms/plivo.md): Get started sending SMS notifications with Plivo and Knock. - [Sinch](/integrations/sms/sinch.md): Get started sending SMS notifications with Sinch and Knock. - [Sinch MessageMedia](/integrations/sms/sinch-message-media.md): Get started sending SMS notifications with Sinch MessageMedia and Knock. - [Telnyx](/integrations/sms/telnyx.md): Get started sending SMS notifications with Telnyx and Knock. - [Twilio](/integrations/sms/twilio.md): Get started sending SMS notifications with Twilio and Knock. - [Vonage](/integrations/sms/vonage.md): Get started sending SMS notifications with Vonage and Knock. ## Webhook - [Overview](/integrations/webhook/overview.md): Learn more about how to use Knock webhook channels to send to custom destinations, build reusable fetch steps, and to power customer-facing webhooks within your own product. ## Extensions - [Overview](/integrations/extensions/overview.md): Learn how to extend Knock with connections to popular third-party platforms. - [Slack](/integrations/extensions/slack.md): Use the Knock Slack extension to launch Knock agents and send workflow messages in your team's Slack workspace. - [Data warehouse sync](/integrations/extensions/data-sync.md): Sync notification analytics data from Knock into your own data warehouse - [Segment](/integrations/extensions/segment.md): Learn more about how to connect Knock with your Segment account. - [Datadog](/integrations/extensions/datadog.md): Learn more about how to connect Knock with your Datadog account. - [New Relic](/integrations/extensions/new-relic.md): Learn more about how to connect Knock with your New Relic account. - [Heap](/integrations/extensions/heap.md): Learn more about how to connect Knock with your Heap account. - [Vercel](/integrations/extensions/vercel.md): Learn more about how to connect Knock with your Vercel account. --- ## In-app UI Use the Knock in-app experiences APIs and components to build rich notifications experiences inside of your product. - [Overview](/in-app-ui/overview.md): Learn about the in-product experiences you can build with our APIs and SDKs. - [API endpoints](/in-app-ui/api-overview.md): Learn more about the capabilities of Knock's in-app APIs and real-time services, and how these can power robust in-app notification experiences with little effort. - [Security + authentication](/in-app-ui/security-and-authentication.md): Learn more about how to secure your client-side applications as they integrate with Knock. - [Feeds v. guides](/in-app-ui/feeds-vs-guides.md): An overview of the differences between feeds and guides. - **Feeds** - [Overview](/in-app-ui/feeds/overview.md): Power feed-based notification experiences in your product, such as in-app feeds, notification centers, and inboxes. - [Styling](/in-app-ui/feeds/styling.md): Learn about how you can style the interface of your in-app feeds. - [Custom UI (headless)](/in-app-ui/feeds/custom-ui.md): How to build custom feed UI using our low level primitives. - [Handling interactivity](/in-app-ui/feeds/handling-interactivity.md): How to handle routing, clicking, and other interactions with your in-app feed. - [Filtering feeds](/in-app-ui/feeds/filtering-in-app-feeds.md): Learn how to use Knock's feed filtering to scope in-app feeds to display information relevant to a particular tenant, resource, or individual workflow. - [Socket behavior overrides](/in-app-ui/feeds/socket-behavior.md): Learn about how you can customize the real-time socket behavior of your in-app feeds. - **Guides** - [Overview](/in-app-ui/guides/overview.md): Power in-product messaging such as announcements, paywalls, and banners using your own components. - [Creating guides](/in-app-ui/guides/create-guides.md): How to create guides in the Knock dashboard to power your in-product messaging. - [Rendering guides](/in-app-ui/guides/render-guides.md): How to render guides to power your in-product messaging. - [Ordering and throttling](/in-app-ui/guides/order-guides.md): How to prioritize guides by ordering them in the Knock dashboard. - [Engagement tracking](/in-app-ui/guides/handling-engagement.md): How to track engagement with your guides. - [Testing and debugging](/in-app-ui/guides/debugging-guides.md): How to test and debug guides in your application. - [Analytics and observability](/in-app-ui/guides/analytics-and-observability.md): Assess ongoing guide performance and measaure engagement. - **Message types** - [Overview](/in-app-ui/message-types/overview.md): Message types map the components in your application to the guide editing experience in Knock. - [Creating message types](/in-app-ui/message-types/create-message-types.md): How to create message types in the Knock dashboard. - [Schema reference](/in-app-ui/message-types/schema-reference.md): Learn more about the schema and available fields for message types. ## React UI components Use the Knock in-app experiences APIs and components to build rich notifications experiences inside of your product. - [Overview](/in-app-ui/react/overview.md): Learn more about the in-app notifications experiences you can build in React with Knock. Easily power notification feeds, toasts, and inbox experiences. - [Feed](/in-app-ui/react/feed.md): How to ship an in-app notification feed using our pre-built feed component. - [Toast](/in-app-ui/react/toasts.md): How to build in-app toasts powered by Knock and React. - [Inbox](/in-app-ui/react/inbox.md): How to build a notification inbox powered by Knock and React. - [Card](/in-app-ui/react/card.md): How to ship an inline card using our pre-built guides component. - [Banner](/in-app-ui/react/banner.md): How to ship an in-app notification banner using our pre-built guides component. - [Modal](/in-app-ui/react/modal.md): How to ship an in-app notification modal using our pre-built guides component. - [Preferences](/in-app-ui/react/preferences.md): How to build a complete notification preference center, powered by Knock and React. - [SlackKit](/in-app-ui/react/slack-kit.md): How to let users authorize and select Slack channels in your app with Knock's SlackKit. - [TeamsKit](/in-app-ui/react/teams-kit.md): How to let users connect to your Microsoft Teams integration with Knock's TeamsKit. ## React Headless UI - [Feed](/in-app-ui/react/headless/feed.md): How to build custom feed UI using our React hooks and client library. - [Guide](/in-app-ui/react/headless/guide.md): How to build custom guide component using our React hooks and client library. - [Preferences](/in-app-ui/react/headless/preferences.md): How to build custom notification preference interfaces using our React usePreferences hook. ## React SDK - [Overview](/in-app-ui/react/sdk/overview.md): Learn more about integrating Knock into your web applications through our React SDK. - [Reference](/in-app-ui/react/sdk/reference.md): Complete API reference for the Knock React SDK. - **Components** - [KnockProvider](/in-app-ui/react/sdk/components/knock-provider.md) - [KnockFeedProvider](/in-app-ui/react/sdk/components/knock-feed-provider.md) - [KnockGuideProvider](/in-app-ui/react/sdk/components/knock-guide-provider.md) - [KnockGuideLocationSensor](/in-app-ui/react/sdk/components/knock-guide-location-sensor.md) - [KnockSlackProvider](/in-app-ui/react/sdk/components/knock-slack-provider.md) - [KnockMsTeamsProvider](/in-app-ui/react/sdk/components/knock-ms-teams-provider.md) - [KnockI18nProvider](/in-app-ui/react/sdk/components/knock-i18n-provider.md) - [Button](/in-app-ui/react/sdk/components/button.md) - [ButtonGroup](/in-app-ui/react/sdk/components/button-group.md) - [NotificationFeed](/in-app-ui/react/sdk/components/notification-feed.md) - [NotificationFeedPopover](/in-app-ui/react/sdk/components/notification-feed-popover.md) - [NotificationCell](/in-app-ui/react/sdk/components/notification-cell.md) - [NotificationIconButton](/in-app-ui/react/sdk/components/notification-icon-button.md) - [SlackAuthButton](/in-app-ui/react/sdk/components/slack-auth-button.md) - [SlackAuthContainer](/in-app-ui/react/sdk/components/slack-auth-container.md) - [SlackChannelCombobox](/in-app-ui/react/sdk/components/slack-channel-combobox.md) - [MsTeamsAuthButton](/in-app-ui/react/sdk/components/ms-teams-auth-button.md) - [MsTeamsAuthContainer](/in-app-ui/react/sdk/components/ms-teams-auth-container.md) - [MsTeamsChannelCombobox](/in-app-ui/react/sdk/components/ms-teams-channel-combobox.md) - **Hooks** - [useAuthenticatedKnockClient](/in-app-ui/react/sdk/hooks/use-authenticated-knock-client.md) - [useKnockAuthState](/in-app-ui/react/sdk/hooks/use-knock-auth-state.md) - [useTranslations](/in-app-ui/react/sdk/hooks/use-translations.md) - [useNotifications](/in-app-ui/react/sdk/hooks/use-notifications.md) - [useNotificationStore](/in-app-ui/react/sdk/hooks/use-notification-store.md) - [useGuide](/in-app-ui/react/sdk/hooks/use-guide.md) - [useGuides](/in-app-ui/react/sdk/hooks/use-guides.md) - [useGuideContext](/in-app-ui/react/sdk/hooks/use-guide-context.md) - [usePreferences](/in-app-ui/react/sdk/hooks/use-preferences.md) - [useSlackAuth](/in-app-ui/react/sdk/hooks/use-slack-auth.md) - [useSlackChannels](/in-app-ui/react/sdk/hooks/use-slack-channels.md) - [useConnectedSlackChannels](/in-app-ui/react/sdk/hooks/use-connected-slack-channels.md) - [useSlackConnectionStatus](/in-app-ui/react/sdk/hooks/use-slack-connection-status.md) - [useMsTeamsAuth](/in-app-ui/react/sdk/hooks/use-ms-teams-auth.md) - [useMsTeamsTeams](/in-app-ui/react/sdk/hooks/use-ms-teams-teams.md) - [useMsTeamsChannels](/in-app-ui/react/sdk/hooks/use-ms-teams-channels.md) - [useConnectedMsTeamsChannels](/in-app-ui/react/sdk/hooks/use-connected-ms-teams-channels.md) - [useMsTeamsConnectionStatus](/in-app-ui/react/sdk/hooks/use-ms-teams-connection-status.md) - **Types** - [KnockOptions](/in-app-ui/react/sdk/types/knock-options.md) - [UserIdentificationOptions](/in-app-ui/react/sdk/types/user-identification-options.md) - [I18nContent](/in-app-ui/react/sdk/types/i18n-content.md) - [ConnectionStatus](/in-app-ui/react/sdk/types/connection-status.md) - [RecipientObject](/in-app-ui/react/sdk/types/recipient-object.md) - [SlackChannel](/in-app-ui/react/sdk/types/slack-channel.md) - [SlackChannelConnection](/in-app-ui/react/sdk/types/slack-channel-connection.md) - [SlackChannelQueryOptions](/in-app-ui/react/sdk/types/slack-channel-query-options.md) - [MsTeamsTeam](/in-app-ui/react/sdk/types/ms-teams-team.md) - [MsTeamsTeamQueryOptions](/in-app-ui/react/sdk/types/ms-teams-team-query-options.md) - [MsTeamsChannel](/in-app-ui/react/sdk/types/ms-teams-channel.md) - [MsTeamsChannelConnection](/in-app-ui/react/sdk/types/ms-teams-channel-connection.md) - [MsTeamsChannelQueryOptions](/in-app-ui/react/sdk/types/ms-teams-channel-query-options.md) - [Migrating from @knocklabs/react-notification-feed](/in-app-ui/react/sdk/migrating-from-react-notification-feed.md): This documentation will help you migrate to the new Knock React library ## JavaScript UI components - [Overview](/in-app-ui/javascript/overview.md): Learn more about the in-app notification UI you can build in your web application with Knock. ## JavaScript SDK - [Overview](/in-app-ui/javascript/sdk/overview.md): Learn more about integrating Knock into your web applications through our Javascript SDKs. - [Quick start](/in-app-ui/javascript/sdk/quick-start.md): Get started with our Javascript SDK to build notification feed, toasts, and inbox experiences. - [Reference](/in-app-ui/javascript/sdk/reference.md): Complete API reference for the Knock Javascript SDK. - [Knock](/in-app-ui/javascript/sdk/knock.md): Complete reference for the Knock class in the Knock JavaScript SDK. - [ApiClient](/in-app-ui/javascript/sdk/api-client.md): Complete reference for the ApiClient in the Knock JavaScript SDK. - [FeedClient](/in-app-ui/javascript/sdk/feed-client.md): Complete reference for the FeedClient in the Knock JavaScript SDK. - [GuideClient](/in-app-ui/javascript/sdk/guide-client.md): Complete reference for the GuideClient in the Knock JavaScript SDK. - [MessageClient](/in-app-ui/javascript/sdk/message-client.md): Complete reference for the MessageClient in the Knock JavaScript SDK. - [UserClient](/in-app-ui/javascript/sdk/user-client.md): Complete reference for the UserClient in the Knock JavaScript SDK. - [ObjectClient](/in-app-ui/javascript/sdk/object-client.md): Complete reference for the ObjectClient in the Knock JavaScript SDK. - [SlackClient](/in-app-ui/javascript/sdk/slack-client.md): Complete reference for the SlackClient in the Knock JavaScript SDK. - [MsTeamsClient](/in-app-ui/javascript/sdk/ms-teams-client.md): Complete reference for the Microsoft Teams client in the Knock JavaScript SDK. - **Types** - [KnockOptions](/in-app-ui/javascript/sdk/types/knock-options.md) - [AuthenticateOptions](/in-app-ui/javascript/sdk/types/authenticate-options.md) - [FeedStoreState](/in-app-ui/javascript/sdk/types/feed-store-state.md) ## Angular UI components - [Overview](/in-app-ui/angular/overview.md): Learn more about the in-app notifications experiences you can build in Angular with Knock. ## React Native UI components - [Overview](/in-app-ui/react-native/overview.md): Learn more about the in-app notification UI you can build in your React Native application with Knock. - [Feed](/in-app-ui/react-native/feed.md): How to build notification feeds powered by Knock in your React Native applications. - [Components](/in-app-ui/react-native/components.md): How to use Knock's UI components in your React Native application. - [Customization](/in-app-ui/react-native/customization.md): How to customize the UI of our pre-built components for React Native. ## React Native Headless UI - [Feed](/in-app-ui/react-native/headless/feed.md): How to build custom feed UI using our React hooks and client library. ## React Native SDK - [Overview](/in-app-ui/react-native/sdk/overview.md): Learn more about integrating Knock into your React Native applications through our React Native SDKs. - [Quick start](/in-app-ui/react-native/sdk/quick-start.md): Get started with the Knock React Native SDK to build in-app notification experiences. - [Push notifications](/in-app-ui/react-native/sdk/push-notifications.md): Documentation on integrating FCM push notifications with the Knock SDK in your React Native application. - [Reference](/in-app-ui/react-native/sdk/reference.md): Complete API reference for the Knock React Native SDK. ## Swift UI components - [Overview](/in-app-ui/ios/overview.md): Learn more about the in-app notifications experiences you can build for iOS and macOS applications with Knock. - [Components](/in-app-ui/ios/components.md): How to use Knock's UI components in your iOS application. - [Customization](/in-app-ui/ios/customization.md): How to customize Knock's iOS UI components. ## Swift SDK - [Overview](/in-app-ui/ios/sdk/overview.md): Learn more about integrating Knock into your iOS and macOS applications through our Swift SDK. - [Quick start](/in-app-ui/ios/sdk/quick-start.md): Get started with the Knock Swift SDK to build in-app notification experiences. - [Push notifications](/in-app-ui/ios/sdk/push-notifications.md): Usage guides to help you get started with the Push Notifications in the iOS Knock SDK. - [Deep links](/in-app-ui/ios/sdk/deep-links.md): Follow this documentation to get started with deep/universal linking in the Knock iOS SDK. - [Reference](/in-app-ui/ios/sdk/reference.md): The complete API reference for the Knock iOS SDK. ## Android UI components - [Overview](/in-app-ui/android/overview.md): Learn more about the in-app notifications experiences you can build for Android applications with Knock. - [Components](/in-app-ui/android/components.md): How to use Knock's UI components in your Android application. - [Customization](/in-app-ui/android/customization.md): How to customize Knock's Android UI components. ## Android SDK - [Overview](/in-app-ui/android/sdk/overview.md): Learn more about integrating Knock into your Android applications through our Android SDK. - [Quick start](/in-app-ui/android/sdk/quick-start.md): Get started with the Knock Android SDK to build in-app notification experiences. - [Push notifications](/in-app-ui/android/sdk/push-notifications.md): Documentation to help you get started with the Push Notifications in the Android Knock SDK. - [Deep links](/in-app-ui/android/sdk/deep-links.md): Follow this documentation to get started with deep linking in the Knock Android SDK. - [Reference](/in-app-ui/android/sdk/reference.md): The complete API reference for the Knock Android SDK. ## Flutter UI Components - [Overview](/in-app-ui/flutter/overview.md): Learn more about the in-app notifications experiences you can build for Flutter applications with Knock. ## Flutter SDK - [Overview](/in-app-ui/flutter/sdk/overview.md): Learn more about integrating Knock into your Flutter applications. - [Quick start](/in-app-ui/flutter/sdk/quick-start.md): Get started with the Knock Flutter SDK to build in-app notification experiences. - [Reference](/in-app-ui/flutter/sdk/reference.md): The complete API reference for the Knock Flutter SDK. ## Expo SDK - [Overview](/in-app-ui/expo/sdk/overview.md): Learn more about integrating Knock into your Expo applications through our Expo SDK. - [Push notifications](/in-app-ui/expo/sdk/push-notifications.md): Documentation on integrating Expo push notifications with the Knock SDK in your React Native application. - [Reference](/in-app-ui/expo/sdk/reference.md): Complete API reference for the Knock Expo SDK. --- ## API reference - [Overview](/api-reference/overview/.md) - [Client libraries](/api-reference/overview/client-libraries.md) - [OpenAPI](/api-reference/overview/openapi.md) - [API keys](/api-reference/overview/api-keys.md) - [Authentication](/api-reference/overview/authentication.md) - [Rate limits](/api-reference/overview/rate-limits.md) - [Batch rate limits](/api-reference/overview/batch-rate-limits.md) - [Idempotent requests](/api-reference/overview/idempotent-requests.md) - [Data retention](/api-reference/overview/data-retention.md) - [Bulk endpoints](/api-reference/overview/bulk-endpoints.md) - [Trigger data filtering](/api-reference/overview/trigger-data-filtering.md) - [Pagination](/api-reference/overview/pagination.md) - [Errors](/api-reference/overview/errors.md) - [Common error codes](/api-reference/overview/error-codes.md) ## Workflows - [Overview](/api-reference/workflows/.md) - [Trigger workflow](/api-reference/workflows/trigger.md) - [Cancel workflow](/api-reference/workflows/cancel.md) ## Workflow runs - [Overview](/api-reference/workflow_recipient_runs/.md) - [List workflow recipient runs](/api-reference/workflow_recipient_runs/list.md) - [Get a workflow recipient run](/api-reference/workflow_recipient_runs/get.md) - **Object definitions** - [WorkflowRecipientRun](/api-reference/workflow_recipient_runs/schemas/workflow_recipient_run.md) - [WorkflowRecipientRunDetail](/api-reference/workflow_recipient_runs/schemas/workflow_recipient_run_detail.md) - [WorkflowRecipientRunEvent](/api-reference/workflow_recipient_runs/schemas/workflow_recipient_run_event.md) ## Messages - [Overview](/api-reference/messages/.md) - [Get message](/api-reference/messages/get.md) - [Get message content](/api-reference/messages/get_content.md) - [List messages](/api-reference/messages/list.md) - [List events](/api-reference/messages/list_events.md) - [List delivery logs](/api-reference/messages/list_delivery_logs.md) - [List activities](/api-reference/messages/list_activities.md) - [Mark message as seen](/api-reference/messages/mark_as_seen.md) - [Mark message as unseen](/api-reference/messages/mark_as_unseen.md) - [Mark message as read](/api-reference/messages/mark_as_read.md) - [Mark message as unread](/api-reference/messages/mark_as_unread.md) - [Mark message as interacted](/api-reference/messages/mark_as_interacted.md) - [Archive message](/api-reference/messages/archive.md) - [Unarchive message](/api-reference/messages/unarchive.md) - **Batch operations** - [Overview](/api-reference/messages/batch/.md) - [Batch get message contents](/api-reference/messages/batch/get_content.md) - [Mark messages as seen](/api-reference/messages/batch/mark_as_seen.md) - [Mark messages as unseen](/api-reference/messages/batch/mark_as_unseen.md) - [Mark messages as read](/api-reference/messages/batch/mark_as_read.md) - [Mark messages as unread](/api-reference/messages/batch/mark_as_unread.md) - [Mark messages as interacted](/api-reference/messages/batch/mark_as_interacted.md) - [Mark messages as archived](/api-reference/messages/batch/archive.md) - [Mark messages as unarchived](/api-reference/messages/batch/unarchive.md) - **Object definitions** - [Message](/api-reference/messages/schemas/message.md) - [Activity](/api-reference/messages/schemas/activity.md) - [MessageDeliveryLog](/api-reference/messages/schemas/message_delivery_log.md) - [MessageEvent](/api-reference/messages/schemas/message_event.md) ## Channels - [Overview](/api-reference/channels/.md) - **Bulk** - [Overview](/api-reference/channels/bulk/.md) - [Bulk update message statuses for channel](/api-reference/channels/bulk/update_message_status.md) ## Users - [Overview](/api-reference/users/.md) - [Get user](/api-reference/users/get.md) - [List users](/api-reference/users/list.md) - [Identify user](/api-reference/users/update.md) - [Merge users](/api-reference/users/merge.md) - [Delete user](/api-reference/users/delete.md) - [List user messages](/api-reference/users/list_messages.md) - [List user schedules](/api-reference/users/list_schedules.md) - [List user subscriptions](/api-reference/users/list_subscriptions.md) - [List user preference sets](/api-reference/users/list_preferences.md) - [Get user preference set](/api-reference/users/get_preferences.md) - [Update user preference set](/api-reference/users/set_preferences.md) - [Delete user preference set](/api-reference/users/unset_preferences.md) - [Get channel data](/api-reference/users/get_channel_data.md) - [Set channel data](/api-reference/users/set_channel_data.md) - [Unset channel data](/api-reference/users/unset_channel_data.md) - **Feeds** - [Overview](/api-reference/users/feeds/.md) - [List feed items](/api-reference/users/feeds/list_items.md) - [Get feed settings](/api-reference/users/feeds/get_settings.md) - **Preference center** - [Overview](/api-reference/users/preference_center/.md) - [Get preference center config](/api-reference/users/preference_center/get_config.md) - [Create preference center signed URL](/api-reference/users/preference_center/generate_signed_url.md) - **Object definitions** - [PreferenceCenterConfigWithMetadata](/api-reference/users/preference_center/schemas/preference_center_config_with_metadata.md) - [PreferenceCenterSignedUrlResponse](/api-reference/users/preference_center/schemas/preference_center_signed_url_response.md) - **Guides** - [Overview](/api-reference/users/guides/.md) - [List guides](/api-reference/users/guides/get_channel.md) - [Mark guide as seen](/api-reference/users/guides/mark_message_as_seen.md) - [Mark guide as interacted](/api-reference/users/guides/mark_message_as_interacted.md) - [Mark guide as archived](/api-reference/users/guides/mark_message_as_archived.md) - [Mark guide as unarchived](/api-reference/users/guides/unarchive_guide_message.md) - [Reset guide engagement](/api-reference/users/guides/reset_guide_engagements.md) - **Object definitions** - [GuideArchivedRequest](/api-reference/users/guides/schemas/guide_archived_request.md) - [GuideActionResponse](/api-reference/users/guides/schemas/guide_action_response.md) - [GuideInteractedRequest](/api-reference/users/guides/schemas/guide_interacted_request.md) - [GuideSeenRequest](/api-reference/users/guides/schemas/guide_seen_request.md) - **Bulk operations** - [Overview](/api-reference/users/bulk/.md) - [Bulk identify users](/api-reference/users/bulk/identify.md) - [Bulk set preferences](/api-reference/users/bulk/set_preferences.md) - [Bulk delete users](/api-reference/users/bulk/delete.md) - **Object definitions** - [User](/api-reference/users/schemas/user.md) - [IdentifyUserRequest](/api-reference/users/schemas/identify_user_request.md) - [InlineIdentifyUserRequest](/api-reference/users/schemas/inline_identify_user_request.md) ## Objects - [Overview](/api-reference/objects/.md) - [Set an object](/api-reference/objects/set.md) - [Get an object](/api-reference/objects/get.md) - [List objects in a collection](/api-reference/objects/list.md) - [Delete an object](/api-reference/objects/delete.md) - [List preference sets](/api-reference/objects/list_preferences.md) - [Get object preference set](/api-reference/objects/get_preferences.md) - [Update a preference set](/api-reference/objects/set_preferences.md) - [Delete object preference set](/api-reference/objects/unset_preferences.md) - [List object schedules](/api-reference/objects/list_schedules.md) - [List messages](/api-reference/objects/list_messages.md) - [Get channel data](/api-reference/objects/get_channel_data.md) - [Set channel data](/api-reference/objects/set_channel_data.md) - [Unset channel data](/api-reference/objects/unset_channel_data.md) - [List subscriptions](/api-reference/objects/list_subscriptions.md) - [Add subscriptions](/api-reference/objects/add_subscriptions.md) - [Delete subscriptions](/api-reference/objects/delete_subscriptions.md) - **Bulk operations** - [Overview](/api-reference/objects/bulk/.md) - [Bulk set objects](/api-reference/objects/bulk/set.md) - [Bulk add subscriptions](/api-reference/objects/bulk/add_subscriptions.md) - [Bulk delete objects](/api-reference/objects/bulk/delete.md) - [Bulk delete subscriptions](/api-reference/objects/bulk/delete_subscriptions.md) - **Object definitions** - [Object](/api-reference/objects/schemas/object.md) - [InlineIdentifyObjectRequest](/api-reference/objects/schemas/inline_object_request.md) ## Tenants - [Overview](/api-reference/tenants/.md) - [Delete a tenant](/api-reference/tenants/delete.md) - [Get a tenant](/api-reference/tenants/get.md) - [Set a tenant](/api-reference/tenants/set.md) - [List tenants](/api-reference/tenants/list.md) - **Bulk operations** - [Overview](/api-reference/tenants/bulk/.md) - [Bulk delete tenants](/api-reference/tenants/bulk/delete.md) - [Bulk set tenants](/api-reference/tenants/bulk/set.md) - **Object definitions** - [Tenant](/api-reference/tenants/schemas/tenant.md) - [TenantRequest](/api-reference/tenants/schemas/tenant_request.md) - [InlineTenantRequest](/api-reference/tenants/schemas/inline_tenant_request.md) ## Schedules - [Overview](/api-reference/schedules/.md) - [Create schedules](/api-reference/schedules/create.md) - [List schedules](/api-reference/schedules/list.md) - [Update schedules](/api-reference/schedules/update.md) - [Delete schedules](/api-reference/schedules/delete.md) - **Bulk schedules** - [Overview](/api-reference/schedules/bulk/.md) - [Create schedules in bulk](/api-reference/schedules/bulk/create.md) - **Object definitions** - [Schedule](/api-reference/schedules/schemas/schedule.md) - [ScheduleRepeatRule](/api-reference/schedules/schemas/schedule_repeat_rule.md) ## Audiences - [Overview](/api-reference/audiences/.md) - [Add members](/api-reference/audiences/add_members.md) - [List members](/api-reference/audiences/list_members.md) - [Remove members](/api-reference/audiences/remove_members.md) - **Object definitions** - [AudienceMember](/api-reference/audiences/schemas/audience_member.md) ## Bulk operations - [Overview](/api-reference/bulk_operations/.md) - [Get bulk operation](/api-reference/bulk_operations/get.md) - **Object definitions** - [BulkOperation](/api-reference/bulk_operations/schemas/bulk_operation.md) ## Providers - [Overview](/api-reference/providers/.md) - **Slack** - [Overview](/api-reference/providers/slack/.md) - [List channels](/api-reference/providers/slack/list_channels.md) - [Check auth](/api-reference/providers/slack/check_auth.md) - [Revoke access](/api-reference/providers/slack/revoke_access.md) - **Microsoft Teams** - [Overview](/api-reference/providers/ms_teams/.md) - [List channels](/api-reference/providers/ms_teams/list_channels.md) - [List teams](/api-reference/providers/ms_teams/list_teams.md) - [Check auth](/api-reference/providers/ms_teams/check_auth.md) - [Revoke access](/api-reference/providers/ms_teams/revoke_access.md) ## Integrations - [Overview](/api-reference/integrations/.md) - **Census** - [Overview](/api-reference/integrations/census/.md) - [Process a Census RPC request](/api-reference/integrations/census/custom_destination.md) - **Hightouch** - [Overview](/api-reference/integrations/hightouch/.md) - [Process a Hightouch RPC request](/api-reference/integrations/hightouch/embedded_destination.md) ## Recipients - [Overview](/api-reference/recipients/.md) - **Subscriptions** - [Overview](/api-reference/recipients/subscriptions/.md) - **Object definitions** - [Subscription](/api-reference/recipients/subscriptions/schemas/subscription.md) - **Preferences** - [Overview](/api-reference/recipients/preferences/.md) - **Object definitions** - [PreferenceSet](/api-reference/recipients/preferences/schemas/preference_set.md) - [PreferenceSetRequest](/api-reference/recipients/preferences/schemas/preference_set_request.md) - [InlinePreferenceSetRequest](/api-reference/recipients/preferences/schemas/inline_preference_set_request.md) - [PreferenceSetChannelTypes](/api-reference/recipients/preferences/schemas/preference_set_channel_types.md) - [PreferenceSetChannelTypeSetting](/api-reference/recipients/preferences/schemas/preference_set_channel_type_setting.md) - [PreferenceSetChannelSetting](/api-reference/recipients/preferences/schemas/preference_set_channel_setting.md) - **Channel data** - [Overview](/api-reference/recipients/channel_data/.md) - **Object definitions** - [ChannelData](/api-reference/recipients/channel_data/schemas/channel_data.md) - [ChannelDataRequest](/api-reference/recipients/channel_data/schemas/channel_data_request.md) - [PushChannelDataTokensOnly](/api-reference/recipients/channel_data/schemas/push_channel_data_tokens_only.md) - [PushChannelDataDevicesOnly](/api-reference/recipients/channel_data/schemas/push_channel_data_devices_only.md) - [SlackChannelData](/api-reference/recipients/channel_data/schemas/slack_channel_data.md) - [AWSSNSPushChannelDataTargetARNsOnly](/api-reference/recipients/channel_data/schemas/aws_sns_push_channel_data_target_arns_only.md) - [AWSSNSPushChannelDataDevicesOnly](/api-reference/recipients/channel_data/schemas/aws_sns_push_channel_data_devices_only.md) - [MsTeamsChannelData](/api-reference/recipients/channel_data/schemas/ms_teams_channel_data.md) - [DiscordChannelData](/api-reference/recipients/channel_data/schemas/discord_channel_data.md) - [OneSignalChannelDataPlayerIdsOnly](/api-reference/recipients/channel_data/schemas/one_signal_channel_data_player_ids_only.md) - [InlineChannelDataRequest](/api-reference/recipients/channel_data/schemas/inline_channel_data_request.md) - **Object definitions** - [Recipient](/api-reference/recipients/schemas/recipient.md) - [RecipientRequest](/api-reference/recipients/schemas/recipient_request.md) - [RecipientReference](/api-reference/recipients/schemas/recipient_reference.md) ## Shared - [Overview](/api-reference/$shared/.md) - **Object definitions** - [Condition](/api-reference/$shared/schemas/condition.md) - [PageInfo](/api-reference/$shared/schemas/page_info.md) --- ## Getting started - [Overview](/cli/overview/.md) - [Install the Knock CLI](/cli/overview/installation.md) - [Authentication](/cli/overview/authentication.md) - [Global flags](/cli/overview/global-flags.md) - [Configuring your project](/cli/overview/configuring-your-project.md) - [Directory structure](/cli/overview/directory-structure.md) ## Authentication - [Login](/cli/authentication/login.md) - [Logout](/cli/authentication/logout.md) ## Managing resources - [Initialize a new project](/cli/resources/init.md) - [Pull all resources](/cli/resources/pull.md) - [Push all resources](/cli/resources/push.md) ## Environments - [Overview](/cli/environment/.md) - [List environments](/cli/environment/list.md) ## Channels - [Overview](/cli/channel/.md) - [List channels](/cli/channel/list.md) ## Branches - [Overview](/cli/branch/.md) - [List branches](/cli/branch/list.md) - [Create branches](/cli/branch/create.md) - [Delete branches](/cli/branch/delete.md) - [Switch to a branch](/cli/branch/switch.md) - [Exit a branch](/cli/branch/exit.md) - [Rebase branch](/cli/branch/rebase.md) - [Merge branch](/cli/branch/merge.md) ## Workflows - [Overview](/cli/workflow/.md) - [File structure](/cli/workflow/file-structure.md) - [List workflows](/cli/workflow/list.md) - [Get workflow](/cli/workflow/get.md) - [Create a new workflow](/cli/workflow/new.md) - [Pull workflows](/cli/workflow/pull.md) - [Push workflows](/cli/workflow/push.md) - [Run workflow](/cli/workflow/run.md) - [Validate workflow](/cli/workflow/validate.md) - [Activate workflow](/cli/workflow/activate.md) - [Open workflow](/cli/workflow/open.md) - [Generate types](/cli/workflow/generate-types.md) ## Email layouts - [Overview](/cli/email-layout/.md) - [File structure](/cli/email-layout/file-structure.md) - [List email layouts](/cli/email-layout/list.md) - [Get email layout](/cli/email-layout/get.md) - [Create a new email layout](/cli/email-layout/new.md) - [Pull email layouts](/cli/email-layout/pull.md) - [Push email layouts](/cli/email-layout/push.md) - [Validate email layout](/cli/email-layout/validate.md) - [Open email layout](/cli/email-layout/open.md) ## Translations - [Overview](/cli/translation/.md) - [File structure](/cli/translation/file-structure.md) - [List translations](/cli/translation/list.md) - [Get translations](/cli/translation/get.md) - [Pull translations](/cli/translation/pull.md) - [Push translations](/cli/translation/push.md) - [Validate translations](/cli/translation/validate.md) ## Partials - [Overview](/cli/partial/.md) - [File structure](/cli/partial/file-structure.md) - [List partials](/cli/partial/list.md) - [Get partial](/cli/partial/get.md) - [Create a new partial](/cli/partial/new.md) - [Pull partials](/cli/partial/pull.md) - [Push partials](/cli/partial/push.md) - [Validate partial](/cli/partial/validate.md) - [Open partial](/cli/partial/open.md) ## Schemas - [Overview](/cli/schema/.md) - [File structure](/cli/schema/file-structure.md) - [Pull schemas](/cli/schema/pull.md) - [Push schemas](/cli/schema/push.md) ## Commits - [Overview](/cli/commit/.md) - [List commits](/cli/commit/list.md) - [Get commits](/cli/commit/get.md) - [Commit changes](/cli/commit/all.md) - [Promote changes](/cli/commit/promote.md) ## Guides - [Overview](/cli/guide/.md) - [File structure](/cli/guide/file-structure.md) - [List guides](/cli/guide/list.md) - [Get guide](/cli/guide/get.md) - [Create a new guide](/cli/guide/new.md) - [Pull guides](/cli/guide/pull.md) - [Push guides](/cli/guide/push.md) - [Validate guide](/cli/guide/validate.md) - [Activate guide](/cli/guide/activate.md) - [Open guide](/cli/guide/open.md) - [Generate types](/cli/guide/generate-types.md) ## Message types - [Overview](/cli/message-type/.md) - [File structure](/cli/message-type/file-structure.md) - [List message types](/cli/message-type/list.md) - [Get message type](/cli/message-type/get.md) - [Create a new message type](/cli/message-type/new.md) - [Pull message types](/cli/message-type/pull.md) - [Push message types](/cli/message-type/push.md) - [Validate message type](/cli/message-type/validate.md) - [Open message type](/cli/message-type/open.md) ## Audiences - [Overview](/cli/audience/.md) - [File structure](/cli/audience/file-structure.md) - [List audiences](/cli/audience/list.md) - [Get audience](/cli/audience/get.md) - [Create a new audience](/cli/audience/new.md) - [Pull audiences](/cli/audience/pull.md) - [Push audiences](/cli/audience/push.md) - [Validate audience](/cli/audience/validate.md) - [Open audience](/cli/audience/open.md) - [Archive audience](/cli/audience/archive.md) --- ## API reference - [Overview](/mapi-reference/overview/.md) - [Client libraries](/mapi-reference/overview/client-libraries.md) - [OpenAPI](/mapi-reference/overview/openapi.md) - [Authentication](/mapi-reference/overview/authentication.md) - [Errors](/mapi-reference/overview/errors.md) - [Postman](/mapi-reference/overview/postman.md) ## Environments - [Overview](/mapi-reference/environments/.md) - [List environments](/mapi-reference/environments/list.md) - [Get an environment](/mapi-reference/environments/retrieve.md) - **Object definitions** - [Environment](/mapi-reference/environments/schemas/environment.md) ## Channels - [Overview](/mapi-reference/channels/.md) - [List channels](/mapi-reference/channels/list.md) - [Get a channel](/mapi-reference/channels/retrieve.md) - **Object definitions** - [Channel](/mapi-reference/channels/schemas/channel.md) - [ChannelEnvironmentSettings](/mapi-reference/channels/schemas/channel_environment_settings.md) - [ChatChannelSettings](/mapi-reference/channels/schemas/chat_channel_settings.md) - [EmailChannelSettings](/mapi-reference/channels/schemas/email_channel_settings.md) - [PushChannelSettings](/mapi-reference/channels/schemas/push_channel_settings.md) - [SmsChannelSettings](/mapi-reference/channels/schemas/sms_channel_settings.md) - [InAppFeedChannelSettings](/mapi-reference/channels/schemas/in_app_feed_channel_settings.md) ## Channel groups - [Overview](/mapi-reference/channel_groups/.md) - [List channel groups](/mapi-reference/channel_groups/list.md) - [Get a channel group](/mapi-reference/channel_groups/retrieve.md) - [Upsert a channel group](/mapi-reference/channel_groups/upsert.md) - [Delete a channel group](/mapi-reference/channel_groups/delete.md) - **Object definitions** - [ChannelGroup](/mapi-reference/channel_groups/schemas/channel_group.md) - [ChannelGroupRule](/mapi-reference/channel_groups/schemas/channel_group_rule.md) ## Workflows - [Overview](/mapi-reference/workflows/.md) - [List workflows](/mapi-reference/workflows/list.md) - [Get a workflow](/mapi-reference/workflows/retrieve.md) - [Upsert a workflow](/mapi-reference/workflows/upsert.md) - [Activate a workflow](/mapi-reference/workflows/activate.md) - [Run a workflow](/mapi-reference/workflows/run.md) - [Validate a workflow](/mapi-reference/workflows/validate.md) - **Steps** - [Overview](/mapi-reference/workflows/steps/.md) - [Preview a workflow template](/mapi-reference/workflows/steps/preview_template.md) - **Object definitions** - [Condition](/mapi-reference/workflows/schemas/condition.md) - [ConditionGroup](/mapi-reference/workflows/schemas/condition_group.md) - [Duration](/mapi-reference/workflows/schemas/duration.md) - [SendWindow](/mapi-reference/workflows/schemas/send_window.md) - [Workflow](/mapi-reference/workflows/schemas/workflow.md) - [WorkflowStep](/mapi-reference/workflows/schemas/workflow_step.md) - [WorkflowBatchStep](/mapi-reference/workflows/schemas/workflow_batch_step.md) - [WorkflowBranchStep](/mapi-reference/workflows/schemas/workflow_branch_step.md) - [WorkflowChatStep](/mapi-reference/workflows/schemas/workflow_chat_step.md) - [WorkflowInAppFeedStep](/mapi-reference/workflows/schemas/workflow_in_app_feed_step.md) - [WorkflowEmailStep](/mapi-reference/workflows/schemas/workflow_email_step.md) - [WorkflowPushStep](/mapi-reference/workflows/schemas/workflow_push_step.md) - [WorkflowSmsStep](/mapi-reference/workflows/schemas/workflow_sms_step.md) - [WorkflowWebhookStep](/mapi-reference/workflows/schemas/workflow_webhook_step.md) - [WorkflowDelayStep](/mapi-reference/workflows/schemas/workflow_delay_step.md) - [WorkflowFetchStep](/mapi-reference/workflows/schemas/workflow_fetch_step.md) - [WorkflowThrottleStep](/mapi-reference/workflows/schemas/workflow_throttle_step.md) - [WorkflowTriggerWorkflowStep](/mapi-reference/workflows/schemas/workflow_trigger_workflow_step.md) - [WorkflowRandomCohortStep](/mapi-reference/workflows/schemas/workflow_random_cohort_step.md) - [WorkflowUpdateDataStep](/mapi-reference/workflows/schemas/workflow_update_data_step.md) - [WorkflowUpdateUserStep](/mapi-reference/workflows/schemas/workflow_update_user_step.md) - [WorkflowUpdateTenantStep](/mapi-reference/workflows/schemas/workflow_update_tenant_step.md) - [WorkflowUpdateObjectStep](/mapi-reference/workflows/schemas/workflow_update_object_step.md) - [WorkflowAIAgentStep](/mapi-reference/workflows/schemas/workflow_ai_agent_step.md) ## Templates - [Overview](/mapi-reference/templates/.md) - **Object definitions** - [ChatTemplate](/mapi-reference/templates/schemas/chat_template.md) - [EmailTemplate](/mapi-reference/templates/schemas/email_template.md) - [PushTemplate](/mapi-reference/templates/schemas/push_template.md) - [SmsTemplate](/mapi-reference/templates/schemas/sms_template.md) - [InAppFeedTemplate](/mapi-reference/templates/schemas/in_app_feed_template.md) - [RequestTemplate](/mapi-reference/templates/schemas/request_template.md) - [WebhookTemplate](/mapi-reference/templates/schemas/webhook_template.md) ## Broadcasts - [Overview](/mapi-reference/broadcasts/.md) - [Send a broadcast](/mapi-reference/broadcasts/send.md) - [Validate a broadcast](/mapi-reference/broadcasts/validate.md) - [List broadcasts](/mapi-reference/broadcasts/list.md) - [Get a broadcast](/mapi-reference/broadcasts/retrieve.md) - [Upsert a broadcast](/mapi-reference/broadcasts/upsert.md) - [Cancel a scheduled broadcast](/mapi-reference/broadcasts/cancel.md) - **Object definitions** - [BroadcastRequest](/mapi-reference/broadcasts/schemas/broadcast_request.md) - [Broadcast](/mapi-reference/broadcasts/schemas/broadcast.md) ## Email layouts - [Overview](/mapi-reference/email_layouts/.md) - [List email layouts](/mapi-reference/email_layouts/list.md) - [Get email layout](/mapi-reference/email_layouts/retrieve.md) - [Upsert email layout](/mapi-reference/email_layouts/upsert.md) - [Validate email layout](/mapi-reference/email_layouts/validate.md) - **Object definitions** - [EmailLayout](/mapi-reference/email_layouts/schemas/email_layout.md) ## Audiences - [Overview](/mapi-reference/audiences/.md) - [Archive an audience](/mapi-reference/audiences/archive.md) - [Get an audience](/mapi-reference/audiences/retrieve.md) - [Upsert an audience](/mapi-reference/audiences/upsert.md) - [Validate an audience](/mapi-reference/audiences/validate.md) - [List audiences](/mapi-reference/audiences/list.md) - **Object definitions** - [Audience](/mapi-reference/audiences/schemas/audience.md) - [DynamicAudience](/mapi-reference/audiences/schemas/dynamic_audience.md) - [StaticAudience](/mapi-reference/audiences/schemas/static_audience.md) - [AudienceCondition](/mapi-reference/audiences/schemas/audience_condition.md) ## Partials - [Overview](/mapi-reference/partials/.md) - [List partials](/mapi-reference/partials/list.md) - [Get a partial](/mapi-reference/partials/retrieve.md) - [Upsert a partial](/mapi-reference/partials/upsert.md) - [Validate a partial](/mapi-reference/partials/validate.md) - **Object definitions** - [Partial](/mapi-reference/partials/schemas/partial.md) ## Guides - [Overview](/mapi-reference/guides/.md) - [List guides](/mapi-reference/guides/list.md) - [Get a guide](/mapi-reference/guides/retrieve.md) - [Archive a guide](/mapi-reference/guides/archive.md) - [Upsert a guide](/mapi-reference/guides/upsert.md) - [Validate a guide](/mapi-reference/guides/validate.md) - [Activate a guide](/mapi-reference/guides/activate.md) - **Object definitions** - [Guide](/mapi-reference/guides/schemas/guide.md) - [GuideStep](/mapi-reference/guides/schemas/guide_step.md) - [GuideActivationUrlPattern](/mapi-reference/guides/schemas/guide_activation_url_pattern.md) ## Message types - [Overview](/mapi-reference/message_types/.md) - [List message types](/mapi-reference/message_types/list.md) - [Get message type](/mapi-reference/message_types/retrieve.md) - [Upsert message type](/mapi-reference/message_types/upsert.md) - [Validate message type](/mapi-reference/message_types/validate.md) - **Object definitions** - [MessageType](/mapi-reference/message_types/schemas/message_type.md) - [MessageTypeVariant](/mapi-reference/message_types/schemas/message_type_variant.md) - [MessageTypeTextField](/mapi-reference/message_types/schemas/message_type_text_field.md) ## Commits - [Overview](/mapi-reference/commits/.md) - [List commits](/mapi-reference/commits/list.md) - [Commit all changes](/mapi-reference/commits/commit_all.md) - [Get a commit](/mapi-reference/commits/retrieve.md) - [Promote all changes](/mapi-reference/commits/promote_all.md) - [Promote one commit](/mapi-reference/commits/promote_one.md) - **Object definitions** - [Commit](/mapi-reference/commits/schemas/commit.md) ## Translations - [Overview](/mapi-reference/translations/.md) - [List translations](/mapi-reference/translations/list.md) - [Get translation](/mapi-reference/translations/retrieve.md) - [Upsert translation](/mapi-reference/translations/upsert.md) - [Validate translation](/mapi-reference/translations/validate.md) - **Object definitions** - [Translation](/mapi-reference/translations/schemas/translation.md) ## Variables - [Overview](/mapi-reference/variables/.md) - [List variables](/mapi-reference/variables/list.md) - [Get a variable](/mapi-reference/variables/retrieve.md) - **Object definitions** - [Variable](/mapi-reference/variables/schemas/variable.md) ## Branches - [Overview](/mapi-reference/branches/.md) - [List branches](/mapi-reference/branches/list.md) - [Delete a branch](/mapi-reference/branches/delete.md) - [Get a branch](/mapi-reference/branches/retrieve.md) - [Create a branch](/mapi-reference/branches/create.md) - **Object definitions** - [Branch](/mapi-reference/branches/schemas/branch.md) ## Members - [Overview](/mapi-reference/members/.md) - [List members](/mapi-reference/members/list.md) - [Get a member](/mapi-reference/members/retrieve.md) - [Remove a member](/mapi-reference/members/delete.md) - **Object definitions** - [Member](/mapi-reference/members/schemas/member.md) - [MemberUser](/mapi-reference/members/schemas/member_user.md) ## Data sources - [Overview](/mapi-reference/data_sources/.md) - [List sources](/mapi-reference/data_sources/list_sources.md) - [Get a source](/mapi-reference/data_sources/retrieve.md) - [Upsert a source](/mapi-reference/data_sources/upsert.md) - [Get source status](/mapi-reference/data_sources/retrieve_status.md) - [Rehearse a source event](/mapi-reference/data_sources/rehearse.md) - [List source events](/mapi-reference/data_sources/list_events.md) - [List source logs](/mapi-reference/data_sources/list_logs.md) - [List source providers](/mapi-reference/data_sources/list_providers.md) - [Get a source provider](/mapi-reference/data_sources/retrieve_provider.md) - **Object definitions** - [Source](/mapi-reference/data_sources/schemas/source.md) - [SourceRequest](/mapi-reference/data_sources/schemas/source_request.md) - [SourcePreprocessScript](/mapi-reference/data_sources/schemas/source_preprocess_script.md) - [SourceEnvironmentSettings](/mapi-reference/data_sources/schemas/source_environment_settings.md) - [SourceEvent](/mapi-reference/data_sources/schemas/source_event.md) - [SourceEventsResponse](/mapi-reference/data_sources/schemas/source_events_response.md) - [SourceEventActionMapping](/mapi-reference/data_sources/schemas/source_event_action_mapping.md) - [SourceLog](/mapi-reference/data_sources/schemas/source_log.md) - [SourceLogAction](/mapi-reference/data_sources/schemas/source_log_action.md) - [SourceLogsResponse](/mapi-reference/data_sources/schemas/source_logs_response.md) - [SourceProviderResponse](/mapi-reference/data_sources/schemas/source_provider_response.md) - [SourceProvidersResponse](/mapi-reference/data_sources/schemas/source_providers_response.md) - [SourceRehearseRequest](/mapi-reference/data_sources/schemas/source_rehearse_request.md) - [SourceRehearseResponse](/mapi-reference/data_sources/schemas/source_rehearse_response.md) - [SourceStatusResponse](/mapi-reference/data_sources/schemas/source_status_response.md) - [SourcesResponse](/mapi-reference/data_sources/schemas/sources_response.md) ## API keys - [Overview](/mapi-reference/api_keys/.md) - [Exchange for API key](/mapi-reference/api_keys/exchange.md) ## Authentication - [Overview](/mapi-reference/auth/.md) - [Verify scope](/mapi-reference/auth/verify.md) ## Shared - [Overview](/mapi-reference/$shared/.md) - **Object definitions** - [PageInfo](/mapi-reference/$shared/schemas/page_info.md) - [MessageTypeBooleanField](/mapi-reference/$shared/schemas/message_type_boolean_field.md) - [MessageTypeButtonField](/mapi-reference/$shared/schemas/message_type_button_field.md) - [MessageTypeImageField](/mapi-reference/$shared/schemas/message_type_image_field.md) - [MessageTypeUrlField](/mapi-reference/$shared/schemas/message_type_url_field.md) - [MessageTypeJsonField](/mapi-reference/$shared/schemas/message_type_json_field.md) - [MessageTypeMarkdownField](/mapi-reference/$shared/schemas/message_type_markdown_field.md) - [MessageTypeMultiSelectField](/mapi-reference/$shared/schemas/message_type_multi_select_field.md) - [MessageTypeSelectField](/mapi-reference/$shared/schemas/message_type_select_field.md) - [MessageTypeTextareaField](/mapi-reference/$shared/schemas/message_type_textarea_field.md) --- - [Overview](/developer-tools/overview.md): Learn how to use the Knock developer tools to build integrations and automate workflows. - [API keys](/developer-tools/api-keys.md): Learn more about API keys in Knock and what they're used for. - [Service tokens](/developer-tools/service-tokens.md): Learn more about service tokens on your Knock account and how they are used to authenticate against the Knock management API. - [Knock CLI](/developer-tools/knock-cli.md): Learn how to use the Knock CLI to build, test, and manage your Knock notification system from the terminal. - [SDKs](/developer-tools/sdks.md): Libraries and tools for interacting with your Knock integration. - [Management API](/developer-tools/management-api.md): Learn more about the Knock management API for programmatically interacting with your Knock dashboard resources. - [API logs](/developer-tools/api-logs.md): Learn more about viewing and debugging API request logs in Knock. - [Knock and Postman](/developer-tools/knock-and-postman.md): A Postman collection for the Knock API. - [Security](/developer-tools/security.md): Learn about our security policies. - [Type safety](/developer-tools/type-safety.md): Learn more about issuing type safe workflow triggers using the Knock CLI and TypeScript SDK. ## Outbound webhooks - [Overview](/developer-tools/outbound-webhooks/overview.md): Learn how to use outbound webhooks to get the data you need from Knock into your product. - [Event types](/developer-tools/outbound-webhooks/event-types.md): Learn more about the types of events that Knock sends webhook events for. ## Migration manuals - [Node.js 1.0](/developer-tools/migration-guides/node.md): Learn how to upgrade to v1.0 of the Knock Node.js SDK. - [Python 1.0](/developer-tools/migration-guides/python.md): Learn how to upgrade to v1.0 of the Knock Python SDK. - [Java 1.0](/developer-tools/migration-guides/java.md): Learn how to upgrade to v1.0 of the Knock Java SDK. - [Ruby 1.0](/developer-tools/migration-guides/ruby.md): Learn how to upgrade to v1.0 of the Knock Ruby SDK. - [Go 1.0](/developer-tools/migration-guides/go.md): Learn how to upgrade to v1.0 of the Knock Go SDK. ## Agent Toolkit - [Overview](/developer-tools/agent-toolkit/overview.md): Use Knock's Agent Toolkit to give your AI agents the ability to send cross-channel messaging and power rich human-in-the-loop flows. - [Getting started](/developer-tools/agent-toolkit/getting-started.md): Learn how to use the Knock Agent Toolkit within your AI agent workflows to power cross-channel messaging and rich human-in-the-loop interactions. - [Workflows-as-tools](/developer-tools/agent-toolkit/workflows-as-tools.md): Learn how Agent Toolkit exposes your workflows as tools that your AI Agents can invoke to power cross-channel user messaging, without any integration logic. - [Human-in-the-loop flows](/developer-tools/agent-toolkit/human-in-the-loop-flows.md): Learn how to use the Knock Agent Toolkit within your AI agent workflows to power rich human-in-the-loop interactions. - [Providing context](/developer-tools/agent-toolkit/providing-context.md): Learn how to configure the Knock Agent Toolkit to use context to aid with tool calls in your AI agent workflows. - [Working with environments](/developer-tools/agent-toolkit/working-with-environments.md): Learn how the Knock Agent Toolkit operates across multiple environments in your Knock account. - [Tools reference](/developer-tools/agent-toolkit/tools-reference.md): Learn more about the tools available in the Knock Agent Toolkit. - [Building with LLMs](/developer-tools/building-with-llms.md): Use LLMs to assist in integrating Knock into your application. --- - [Overview](/tutorials/overview.md): Tutorials for using Knock - [Implementing Knock](/tutorials/implementation-guide.md): Learn how to plan and execute your Knock integration from start to finish. - [Integrating into CI/CD](/tutorials/integrating-into-cicd.md): Learn how to add Knock to your deployment pipeline with our command line interface. - [Alerting](/tutorials/alerting.md): Learn how to power cross-channel, configurable alerts using Knock. - [Customer-facing webhooks](/tutorials/customer-webhooks.md): Learn how to use Knock to send per-customer configurable webhooks as part of your notification workflows. - [Recurring digests](/tutorials/building-recurring-digests.md): Learn how to build recurring, cross-channel digest notifications with Knock. - [Migrate from Courier](/tutorials/migrate-from-courier.md): Learn how to migrate your notifications from Courier to Knock. - [Migrate from Braze](/tutorials/migrate-from-braze.md): Learn how to migrate your notifications from Braze to Knock. - [Modeling Users, Objects, and Tenants](/tutorials/modeling-users-objects-and-tenants.md): Learn how to map your application's data model into Knock. - [Using LaunchDarkly with Knock to A/B test messaging](/tutorials/launchdarkly-knock.md): Learn how to use LaunchDarkly with Knock to A/B test messaging workflows and templates. - [Send web push with FCM](/tutorials/sending-web-push-notifications-with-fcm.md): Learn how to use FCM and Knock to deliver web push messages to a React application. - [Email template migration](/tutorials/migrate-email-with-mcp-server.md): Learn how to quickly migrate your email templates to Knock using our MCP server. - [Sender domain migration](/tutorials/sender-domain-migration.md): Learn how to warm up a new sending domain and protect deliverability by routing traffic gradually with channel groups. - [Guides in Vue.js](/tutorials/guides-in-vue.md): Learn how to implement Knock guides in a Vue.js application using the Knock JavaScript SDK.